After a student started a rumour, you have been tasked with implementing a system to count the number of people that heard it for the
students in the school: you will be asked
queries of
types:
1 u v
:
and
are now friends and can spread the rumour from their friends to each other.
2 x
: If
started a rumour, output the number of people that heard the rumour, including the starter.
Input Specification
The first line will contain
and
, the number of students and the number of queries.
The next
lines will contain one of the above queries.
Output Specification
Output the answer to each type
query.
Constraints
For all subtasks:


Subtask 1 [40%]

Subtask 2 [60%]
No additional constraints.
Sample Input
Copy
5 6
2 3
1 1 2
1 2 3
2 1
1 4 5
2 4
Sample Output
Copy
1
3
2
Explanation for Sample Output
For the
query, the
student is only able to reach himself, so the answer is
. For the
query, the
student can reach himself and the
and
student. For the
query, the
person can only reach himself and the
student.
Comments
My DFS TLEd on the 3rd batch :(
DFS will most likely TLE for this problem. Try using another data structure. You can also check the editorial for more tips.