A field engineer has set up n signal towers, numbered 1 to n. She has also laid m two-way wires between towers. Two towers can exchange a signal if there is a path of wires between them (possibly through other towers). A tower with no wire at all still forms its own cluster of size one.
Count the number of independent relay clusters.
Input format
Line 1: two integers n and m — the number of towers (1-indexed) and the number of wires.
Next m lines: two integers u v — a wire between tower u and tower v (undirected). The same pair may appear more than once, and a wire may connect a tower to itself; both cases should be handled without affecting the answer.
Output format
A single integer: the number of relay clusters.
Constraints
- 1 ≤ n ≤ 40
- 0 ≤ m ≤ 200
- 1 ≤ u, v ≤ n