오고 가기

일방통행과 양방향 도로가 섞인 도시에서 임의의 두 교차로 사이를 양쪽으로 오갈 수 있는지 판정한다.

보통6그래프DFS유니온 파인드면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

어떤 도시에 교차로가 NN개 있고, 교차로 사이는 일방통행 도로와 양방향 도로로 이어져 있다. 도로 상당수가 터널을 지나거나 고가로 놓여 있다.

이 도시의 도로망은 어떤 두 교차로 VVWW를 골라도 VV에서 WW로 갈 수 있고 WW에서 VV로도 돌아올 수 있어야 한다.

도시의 도로망 정보를 읽어 이 조건이 만족되는지 판정하는 프로그램을 작성하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 교차로의 수 NN과 도로의 수 MM이 공백 하나로 구분되어 주어진다(2N20002 \le N \le 2000, 2MN(N1)/22 \le M \le N(N-1)/2). 이어지는 MM개의 줄에는 도로 하나의 정보가 정수 세 개 VV, WW, PP로 공백 하나씩 구분되어 주어진다. VVWW는 서로 다른 교차로 번호이고(1V,WN1 \le V, W \le N, VWV \ne W), PP는 1 또는 2이다. PP가 1이면 그 도로는 VV에서 WW로만 갈 수 있는 일방통행이다. PP가 2이면 그 도로는 VVWW를 양방향으로 잇는다. 같은 두 교차로를 잇는 도로가 두 개 이상 주어지는 경우는 없다.

마지막 테스트 케이스 다음 줄에는 공백으로 구분된 0 두 개만 주어진다. 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 정수 GG를 한 줄에 출력한다. 연결 조건이 만족되면 GG는 1이고, 그렇지 않으면 0이다.