시간 제한
메모리 제한
시간 제한
2초
메모리 제한
512 MB
N개의 도시와 서로 다른 두 도시를 잇는 E개의 양방향 도로로 이루어진 나라가 있다. 각 도시는 1번부터 N번까지 번호가 붙어 있다. 두 도시 사이에 도로가 있으면 어느 방향으로도 이동할 수 있다.
이 나라의 복잡한 교통 체계를 간소화하려고 한다. 간소화 방법은 두 가지이다. 하나는 특정한 도로 하나를 없애는 것이고, 다른 하나는 특정한 도시를 골라 그 도시로 들어오거나 그 도시에서 나가는 모든 도로를 없애는 것이다.
간소화가 이동 가능성에 어떤 영향을 주는지 확인하기 위해 여러 질문이 주어진다. 질문은 다음 두 종류 중 하나이다.
현재 교통 체계와 질문들이 주어질 때, 각 질문에 대한 답을 구하는 프로그램을 작성하시오.
첫째 줄에 도시의 개수 N과 도로의 개수 E가 주어진다. (2 <= N <= 100,000, 1 <= E <= 500,000)
다음 E개의 줄에는 도로가 잇는 서로 다른 두 도시의 번호가 주어진다. 같은 도로는 두 번 이상 주어지지 않으며, 입력으로 주어지는 교통 체계에서는 임의의 두 도시 사이에 항상 이동 가능한 경로가 존재한다.
다음 줄에는 질문의 개수 Q가 주어진다. (1 <= Q <= 300,000)
다음 Q개의 줄에는 질문 정보가 주어진다. 각 줄의 첫 번째 수는 질문의 종류인 1 또는 2이다.
1 A B G1 G2가 주어진다. A와 B는 서로 다르고, G1과 G2 사이에는 항상 도로가 존재한다.2 A B C가 주어진다. A, B, C는 서로 다른 도시이다.각 질문마다 답을 한 줄에 하나씩 출력한다. 간소화 후에도 이동할 수 있으면 yes, 이동할 수 없으면 no를 출력한다.