그래프와 쿼리

정점 10만 개 규모의 그래프에서 간선 추가, 삭제, 연결 여부 질의를 순서대로 처리한다.

어려움8유니온 파인드그래프분할 정복세그먼트 트리아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

N개의 정점으로 이루어진 그래프 G가 있다. 가장 처음에 G에는 간선이 없다. 아래와 같은 쿼리를 수행해보자.

  • 1 A B: 정점 A와 B를 연결하는 간선을 추가한다. 쿼리가 주어지기 전에 A와 B사이에는 간선이 없다.
  • 2 A B: 정점 A와 B를 연결하는 간선을 제거한다. 쿼리가 주어지기 전에 A와 B사이에는 간선이 있다.
  • 3 A B: 정점 A에서 B로 가는 경로가 있는지 없는지 조사한다. 있는 경우에는 1, 없는 경우에는 0을 출력한다.

모든 A와 B는 1 ≤ A, B ≤ N, A ≠ B를 만족하고, 모든 간선은 방향이 없다.

입력

첫째 줄에 정점의 개수 N(2 ≤ N ≤ 100,000)과 쿼리의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 쿼리가 한 줄에 하나씩 주어진다.

출력

3번 쿼리의 결과를 한 줄에 하나씩 출력한다.