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
5 6
2 3
1 1 2
1 2 3
2 1
1 4 5
2 4
Sample Output
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.