Winter
The country of Uzhlandia is famous for its impeccable roads, but this year's unusually cold and snowy winter has taken its toll. Some roads are now blocked for motorists, disrupting the connections between cities. In Uzhlandia, two cities are considered connected if you can travel from one to the other via unblocked roads, possibly passing through other cities.
A neighboring state, renowned for its unique heaters, has decided to offer humanitarian aid to Uzhlandia. The plan is to deliver heaters by helicopter, which will then be distributed to the cities by trucks. Since aviation fuel is costly, it's crucial to minimize the number of helicopter landings, ensuring each city receives the necessary heaters. Your task is to calculate the minimum number of helicopter landings required to achieve this.
**Input Format:** The first line contains two integers, (N) and (M) ((1 N 100,000, 0 M 200,000)), representing the number of cities in Uzhlandia and the number of unblocked roads, respectively. The next (M) lines each contain two integers, (i) and (j) ((1 i, j N)), indicating that the road between cities (i) and (j) is unblocked. Cities are numbered from 1 to (N).
**Output Format:** Output a single line with the minimum number of helicopter landings required.
**Example Explanation:**
Cities 1, 2, and 3 are interconnected, so one landing in any of these cities is sufficient to supply them with heaters, which can then be distributed by trucks. Similarly, cities 4 and 5 are connected, requiring another landing. Finally, city 6 is isolated and needs a separate helicopter landing to receive heaters. In total, 3 landings are necessary.