집합론
시간 제한2초메모리 제한512 MB
집합 A의 원소 n개가 주어질 때, 모든 n^2개의 합 a_i + b_j가 서로 다르도록 [1, 10^6] 범위의 서로 다른 정수 n개로 이루어진 집합 B를 찾거나 불가능함을 판정한다.
문제
마샤와 그리샤는 양의 정수로 이루어진 집합을 공부하는 것을 좋아한다.
어느 날 그리샤는 칠판에 서로 다른 개의 정수 를 원소로 하는 집합 를 적었다. 이제 그는 마샤에게 서로 다른 개의 정수 를 원소로 하는 집합 를 만들어 달라고 부탁한다. 이때 가능한 모든 와 의 쌍에 대해 로 얻을 수 있는 개의 정수가 모두 서로 달라야 한다.
마샤와 그리샤는 큰 수를 좋아하지 않으므로, 의 모든 수는 부터 까지이고, 의 모든 수도 같은 범위에 있어야 한다.
마샤가 그리샤의 요구를 만족하는 집합 를 만들도록 도와주자.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 첫째 줄에는 정수 가 주어진다. 이는 테스트 케이스의 수이다 ().
각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에는 정수 이 주어진다. 이는 의 원소 수이다 ().
둘째 줄에는 개의 정수 가 주어진다. 이는 의 원소이다 ().
출력
각 테스트 케이스마다 답을 출력한다.
- 마샤의 과제를 풀 수 없어서 필요한 집합 를 만들 방법이 없으면 NO를 출력한다.
- 필요한 집합을 만들 방법이 있으면 YES를 출력한다. 이 경우 둘째 줄에 서로 다른 개의 양의 정수 를 출력한다. 이는 의 원소이다 (). 가능한 집합이 여러 개라면 그중 아무거나 출력한다.