기름 자국

기름 자국으로 이루어진 무방향 다중 그래프가 주어질 때, 모든 간선을 지나되 같은 집으로 곧바로 돌아오지 않는 하나의 경로로 덮을 수 있는지 판정한다.

보통4그래프구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

마이크는 집이 여러 채 있다. 아침마다 그중 한 집에서 깨어나 자기 집 사이를 차로 오가다가, 지치면 그때 있던 집에서 잠든다. 마이크의 차는 기름이 새기 때문에 한 집에서 다른 집으로 한 번 운전할 때마다 두 집 사이에 기름 자국이 하나 남는다.

마이크의 집에는 하인이 살고 있고, 하인도 가끔 자기 차로 집 사이를 오간다. 하인의 차에서도 기름이 새서, 하루가 끝나고 남은 자국만 보면 누가 남긴 것인지 구별할 수 없다.

마이크도 하인도 다른 집을 거치지 않고 출발한 집으로 곧바로 돌아오는 일은 없다. 그래서 한 집을 자기 자신과 잇는 자국은 없다. 같은 두 집 사이를 두 번 운전하면 자국은 두 개가 된다.

어느 하루가 끝난 시점의 집 수와 두 집 사이마다 남은 기름 자국의 개수가 주어진다. 이 정보만으로 판단할 때 모든 자국을 마이크 혼자 남겼을 가능성이 있는지 판정하라.

입력

첫째 줄에 테스트 케이스의 수 TT (1T10001 \le T \le 1000)가 주어진다.

각 테스트 케이스는 두 줄로 주어진다. 첫째 줄에는 집의 수 nn (2n1002 \le n \le 100)이 주어지고, 집의 번호는 00부터 n1n-1까지다. 둘째 줄은 삼중항의 개수 kk (0kn(n1)/20 \le k \le n(n-1)/2)로 시작하고, 이어서 삼중항 kk개가 나온다. 삼중항 x y zx\ y\ z는 집 xx와 집 yy 사이에 기름 자국이 zz개 있다는 뜻이다 (0x,yn10 \le x, y \le n-1, xyx \ne y, 1z51 \le z \le 5). 자국에는 방향이 없어서 삼중항 x y zx\ y\ z가 있으면 y x zy\ x\ z도 있다고 보지만 입력에는 나오지 않는다. 같은 두 집의 쌍은 삼중항에 최대 한 번만 나오고, 어느 삼중항에도 나오지 않는 쌍 사이에는 자국이 없다.

출력

각 테스트 케이스마다 모든 기름 자국을 마이크 혼자 남겼을 가능성이 있으면 yes, 없으면 no를 한 줄에 출력한다.