윤화는 친구 형건이에게서 트리를 선물로 받았다. 이 트리에는 특징이 하나 있는데, 각각의 정점의 차수가 1 또는 3이라는 것이다. 트리의 구조를 잘 기억하기 위해 윤화는 다음과 같은 방법을 쓰기로 했다.
안타깝게도 트리에 정점이 너무 많아서 윤화는 횟수를 제대로 셌는지 알 수 없었다. 윤화를 도와 주어진 값들이 유효한지 알려주자!
간선에 방향이 없는 트리에서 정점의 차수는 그 정점과 연결된 간선의 개수를 의미한다.
첫째 줄에 테스트 케이스의 수 T가 입력된다. (1≤T≤1,000,000)
각각의 테스트 케이스는 두 줄로 이루어져 있다.
테스트 케이스의 첫째 줄에는 마지막으로 제거된 정점에 적힌 수 n이 입력된다. (1≤n≤1,000,000)
테스트 케이스의 둘째 줄에는 n개의 정수 c_1,c_2,…,c_n이 공백으로 구분되어 입력된다. (1≤c_1,c_2,…,c_n≤109)
입력 파일 하나에 존재하는 모든 테스트 케이스의 n의 합은 1,000,000을 넘지 않는다.
각각의 테스트 케이스에 대해 주어진 값들로 복원할 수 있는 트리가 하나라도 존재한다면 YES, 아니면 NO를 한 줄에 하나씩 출력한다.