시간 제한메모리 제한제출정답맞힌 사람정답 비율
8 초 (추가 시간 없음) 512 MB126262224.176%

문제

"Divisor is the Conquerer"은 혼자 할 수 있는 카드 게임이다. 보통 이런 단순한 게임은 시간을 보내기 좋은 방법이지만, 프로그래머인 당신은 그 시간에 프로그래밍을 하고 싶을 것이다. 당신의 과제는 "Divisor is the Conquerer" 게임을 자동으로 해결하는 컴퓨터 프로그램을 만드는 것이다. 아래에 게임 규칙이 있다.

먼저, 무작위로 N개의 카드를 카드 덱에서 뽑는다 (1 ≤ N ≤ 52). 게임은 뽑은 카드들만을 이용해서 진행되고, 다른 카드들은 사용되지 않을 것이다.

그뒤 반복해서 한 장씩 카드를 바닥에 내려놓는다. 맨 처음 내려놓을 때는 어떤 카드이든 내려놓을 수 있다. 그 뒤에는 내려놓은 카드들을 "지배하는" 카드만을 내려놓을 수 있다. 어떤 카드가 카드들의 집합을 지배한다는 것은 카드가 의미하는 수가 카드 집합의 수들의 합을 나눈다는 것이다. 예를 들어, 카드 7은 집합 {5, 11, 12}를 지배하지만, 카드 11은 집합 {5, 7, 12}를 지배하지 않는다. 

처음에 고른 N개의 카드를 모두 내려놓으면 게임에 승리하게 된다. 이것에 실패하면, 즉 중간에 카드를 내려놓을 수 없게 되면 패배한 것이다.

입력

입력은 여러 개의 테스트 케이스로 구성된다.

각 테스트 케이스는 두 줄로 이루어진다. 첫 번째 줄에는 카드의 개수를 의미하는 정수 N (1 ≤ N ≤ 52) 이 있다. 두 번째 줄은 각 카드가 의미하는 숫자를 뜻하는 N개의 정수  c, . . . , cN (1 ≤ ci ≤ 13) 로 구성된다. 한 테스트 케이스에서 같은 수를 의미하는 카드의 개수가 최대 4개까지라는 것을 가정해도 된다.

0이 입력되면 입력이 끝난다.

출력

각각의 테스트 케이스에 대해 한 줄씩 출력한다. 입력된 초기 조건에서 이길 수 있는 전략이 있으면, 가능한 전략 중 아무거나 N개짜리 정수 목록으로 공백으로 구분하여 출력한다.

만약 이길 수 있는 방법이 없으면, “No”라고 출력한다.

예제 입력 1

5
1 2 3 3 7
4
2 3 3 3
0

예제 출력 1

3 3 1 7 2
No
W3sicHJvYmxlbV9pZCI6IjEzODQ4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViMDk4XHViMjA0XHViMjk0IFx1Yzc5MFx1YWMwMCBcdWM5YzBcdWJjMzBcdWQ1NWNcdWIyZTQiLCJkZXNjcmlwdGlvbiI6IjxwPiZxdW90O0Rpdmlzb3IgaXMgdGhlIENvbnF1ZXJlciZxdW90O1x1Yzc0MCBcdWQ2M2NcdWM3OTAgXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjZTc0XHViNGRjIFx1YWM4Y1x1Yzc4NFx1Yzc3NFx1YjJlNC4gXHViY2Y0XHVkMWI1IFx1Yzc3NFx1YjdmMCBcdWIyZThcdWMyMWNcdWQ1NWMgXHVhYzhjXHVjNzg0XHVjNzQwIFx1YzJkY1x1YWMwNFx1Yzc0NCBcdWJjZjRcdWIwYjRcdWFlMzAgXHVjODhiXHVjNzQwIFx1YmMyOVx1YmM5NVx1Yzc3NFx1YzljMFx1YjljYywgXHVkNTA0XHViODVjXHVhZGY4XHViNzk4XHViYTM4XHVjNzc4IFx1YjJmOVx1YzJlMFx1Yzc0MCBcdWFkZjggXHVjMmRjXHVhYzA0XHVjNWQwIFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1Yjc5OFx1YmMwZFx1Yzc0NCBcdWQ1NThcdWFjZTAgXHVjMmY2XHVjNzQ0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHViMmY5XHVjMmUwXHVjNzU4IFx1YWNmY1x1YzgxY1x1YjI5NCZuYnNwOyZxdW90O0Rpdmlzb3IgaXMgdGhlIENvbnF1ZXJlciZxdW90OyBcdWFjOGNcdWM3ODRcdWM3NDQgXHVjNzkwXHViM2Q5XHVjNzNjXHViODVjIFx1ZDU3NFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWNlZjRcdWQ0ZThcdWQxMzAgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1YjljY1x1YjRkY1x1YjI5NCBcdWFjODNcdWM3NzRcdWIyZTQuIFx1YzU0NFx1Yjc5OFx1YzVkMCBcdWFjOGNcdWM3ODQgXHVhZGRjXHVjZTU5XHVjNzc0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYTNjXHVjODAwLCBcdWJiMzRcdWM3OTFcdWM3MDRcdWI4NWMgTlx1YWMxY1x1Yzc1OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVjZTc0XHViNGRjIFx1YjM3MVx1YzVkMFx1YzExYyBcdWJmNTFcdWIyOTRcdWIyZTQmbmJzcDsoMSAmbGU7IE4gJmxlOyA1MikuIFx1YWM4Y1x1Yzc4NFx1Yzc0MCBcdWJmNTFcdWM3NDAgXHVjZTc0XHViNGRjXHViNGU0XHViOWNjXHVjNzQ0IFx1Yzc3NFx1YzZhOVx1ZDU3NFx1YzExYyBcdWM5YzRcdWQ1ODlcdWI0MThcdWFjZTAsIFx1YjJlNFx1Yjk3OCBcdWNlNzRcdWI0ZGNcdWI0ZTRcdWM3NDAgXHVjMGFjXHVjNmE5XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWRmOFx1YjRhNCBcdWJjMThcdWJjZjVcdWQ1NzRcdWMxMWMgXHVkNTVjIFx1YzdhNVx1YzUyOSBcdWNlNzRcdWI0ZGNcdWI5N2MgXHViYzE0XHViMmU1XHVjNWQwIFx1YjBiNFx1YjgyNFx1YjE5M1x1YjI5NFx1YjJlNC4gXHViOWU4IFx1Y2M5OFx1Yzc0YyBcdWIwYjRcdWI4MjRcdWIxOTNcdWM3NDQgXHViNTRjXHViMjk0IFx1YzViNFx1YjVhNCBcdWNlNzRcdWI0ZGNcdWM3NzRcdWI0ZTAgXHViMGI0XHViODI0XHViMTkzXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1YWRmOCBcdWI0YTRcdWM1ZDBcdWIyOTQgXHViMGI0XHViODI0XHViMTkzXHVjNzQwIFx1Y2U3NFx1YjRkY1x1YjRlNFx1Yzc0NCAmcXVvdDtcdWM5YzBcdWJjMzBcdWQ1NThcdWIyOTQmcXVvdDsgXHVjZTc0XHViNGRjXHViOWNjXHVjNzQ0IFx1YjBiNFx1YjgyNFx1YjE5M1x1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM1YjRcdWI1YTQgXHVjZTc0XHViNGRjXHVhYzAwIFx1Y2U3NFx1YjRkY1x1YjRlNFx1Yzc1OCBcdWM5ZDFcdWQ1NjlcdWM3NDQgXHVjOWMwXHViYzMwXHVkNTVjXHViMmU0XHViMjk0IFx1YWM4M1x1Yzc0MCBcdWNlNzRcdWI0ZGNcdWFjMDAgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1YzIxOFx1YWMwMCBcdWNlNzRcdWI0ZGMgXHVjOWQxXHVkNTY5XHVjNzU4IFx1YzIxOFx1YjRlNFx1Yzc1OCBcdWQ1NjlcdWM3NDQgXHViMDk4XHViMjA4XHViMmU0XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCwgXHVjZTc0XHViNGRjIDdcdWM3NDAgXHVjOWQxXHVkNTY5IHs1LCAxMSwgMTJ9XHViOTdjIFx1YzljMFx1YmMzMFx1ZDU1OFx1YzljMFx1YjljYywgXHVjZTc0XHViNGRjIDExXHVjNzQwIFx1YzlkMVx1ZDU2OSB7NSwgNywgMTJ9XHViOTdjIFx1YzljMFx1YmMzMFx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1Y2M5OFx1Yzc0Y1x1YzVkMCBcdWFjZTBcdWI5NzggTlx1YWMxY1x1Yzc1OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHViYWE4XHViNDUwIFx1YjBiNFx1YjgyNFx1YjE5M1x1YzczY1x1YmE3NCBcdWFjOGNcdWM3ODRcdWM1ZDAgXHVjMmI5XHViOWFjXHVkNTU4XHVhYzhjIFx1YjQxY1x1YjJlNC4gXHVjNzc0XHVhYzgzXHVjNWQwIFx1YzJlNFx1ZDMyOFx1ZDU1OFx1YmE3NCwgXHVjOTg5IFx1YzkxMVx1YWMwNFx1YzVkMCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHViMGI0XHViODI0XHViMTkzXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWFjOGMgXHViNDE4XHViYTc0IFx1ZDMyOFx1YmMzMFx1ZDU1YyBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViODVjIFx1YWQ2Y1x1YzEzMVx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWIyOTQgXHViNDUwIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzRcdWIyZTQuIFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1Y2U3NFx1YjRkY1x1Yzc1OCBcdWFjMWNcdWMyMThcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1YzgxNVx1YzIxOCBOJm5ic3A7KDEgJmxlOyBOICZsZTsgNTIpIFx1Yzc3NCBcdWM3ODhcdWIyZTQuIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzQwIFx1YWMwMSBcdWNlNzRcdWI0ZGNcdWFjMDAgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1YzIyYlx1Yzc5MFx1Yjk3YyBcdWI3M2JcdWQ1NThcdWIyOTQgTlx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMTgmbmJzcDsmbmJzcDtjPHN1Yj4xJm5ic3A7PFwvc3ViPiwgLiAuIC4gLCBjPHN1Yj5OPFwvc3ViPiAoMSAmbGU7IGM8c3ViPmk8XC9zdWI+ICZsZTsgMTMpIFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MWNcdWIyZTQuIFx1ZDU1YyBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwXHVjMTFjIFx1YWMxOVx1Yzc0MCBcdWMyMThcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTU4XHViMjk0IFx1Y2U3NFx1YjRkY1x1Yzc1OCBcdWFjMWNcdWMyMThcdWFjMDAgXHVjZDVjXHViMzAwIDRcdWFjMWNcdWFlNGNcdWM5YzBcdWI3N2NcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1YWMwMFx1YzgxNVx1ZDU3NFx1YjNjNCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPjBcdWM3NzQgXHVjNzg1XHViODI1XHViNDE4XHViYTc0IFx1Yzc4NVx1YjgyNVx1Yzc3NCBcdWIwNWRcdWIwOWNcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxXHVhYzAxXHVjNzU4IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM1ZDAgXHViMzAwXHVkNTc0IFx1ZDU1YyBcdWM5MDRcdWM1MjkgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWM3ODVcdWI4MjVcdWI0MWMgXHVjZDA4XHVhZTMwIFx1Yzg3MFx1YWM3NFx1YzVkMFx1YzExYyBcdWM3NzRcdWFlMzggXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWM4MDRcdWI3YjVcdWM3NzQgXHVjNzg4XHVjNzNjXHViYTc0LCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVjODA0XHViN2I1IFx1YzkxMSBcdWM1NDRcdWJiMzRcdWFjNzBcdWIwOTggTlx1YWMxY1x1YzlkY1x1YjlhYyBcdWM4MTVcdWMyMTggXHViYWE5XHViODVkXHVjNzNjXHViODVjIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWQ1NThcdWM1ZWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWI5Y2NcdWM1N2QgXHVjNzc0XHVhZTM4IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYzI5XHViYzk1XHVjNzc0IFx1YzVjNlx1YzczY1x1YmE3NCwmbmJzcDsmbGRxdW87Tm8mcmRxdW87XHViNzdjXHVhY2UwIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIxMzg0OCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkRpdmlzb3IgaXMgdGhlIENvbnF1ZXJvciIsImRlc2NyaXB0aW9uIjoiPHA+RGl2aXNvciBpcyB0aGUgQ29ucXVlcmVyIGlzIGEgc29saXRhaXJlIGNhcmQgZ2FtZS4gQWx0aG91Z2ggdGhpcyBzaW1wbGUgZ2FtZSBpdHNlbGYgaXMgYSBncmVhdCB3YXkgdG8gcGFzcyBvbmUmcnNxdW87cyB0aW1lLCB5b3UsIGEgcHJvZ3JhbW1lciwgYWx3YXlzIGtpbGwgeW91ciB0aW1lIGJ5IHByb2dyYW1taW5nLiBZb3VyIHRhc2sgaXMgdG8gd3JpdGUgYSBjb21wdXRlciBwcm9ncmFtIHRoYXQgYXV0b21hdGljYWxseSBzb2x2ZXMgRGl2aXNvciBpcyB0aGUgQ29ucXVlcmVyIGdhbWVzLiBIZXJlIGlzIHRoZSBydWxlIG9mIHRoaXMgZ2FtZTo8XC9wPlxyXG5cclxuPHA+Rmlyc3QsIHlvdSByYW5kb21seSBkcmF3IE4gY2FyZHMgKDEgJmxlOyBOICZsZTsgNTIpIGZyb20geW91ciBkZWNrIG9mIHBsYXlpbmcgY2FyZHMuIFRoZSBnYW1lIGlzIHBsYXllZCBvbmx5IHdpdGggdGhvc2UgY2FyZHM7IHRoZSBvdGhlciBjYXJkcyB3aWxsIG5vdCBiZSB1c2VkLjxcL3A+XHJcblxyXG48cD5UaGVuIHlvdSByZXBlYXRlZGx5IHBpY2sgb25lIGNhcmQgdG8gcGxheSBhbW9uZyB0aG9zZSBpbiB5b3VyIGhhbmQuIFlvdSBhcmUgYWxsb3dlZCB0byBjaG9vc2UgYW55IGNhcmQgaW4gdGhlIGluaXRpYWwgdHVybi4gQWZ0ZXIgdGhhdCwgeW91IGFyZSBvbmx5IGFsbG93ZWQgdG8gcGljayBhIGNhcmQgdGhhdCBjb25xdWVycyB0aGUgY2FyZHMgeW91IGhhdmUgYWxyZWFkeSBwbGF5ZWQuIEEgY2FyZCBpcyBzYWlkIHRvIGNvbnF1ZXIgYSBzZXQgb2YgY2FyZHMgd2hlbiB0aGUgcmFuayBvZiB0aGUgY2FyZCBkaXZpZGVzIHRoZSBzdW0gb2YgdGhlIHJhbmtzIGluIHRoZSBzZXQuIEZvciBleGFtcGxlLCB0aGUgY2FyZCA3IGNvbnF1ZXJzIHRoZSBzZXQgezUsIDExLCAxMn0sIHdoaWxlIHRoZSBjYXJkIDExIGRvZXMgbm90IGNvbnF1ZXIgdGhlIHNldCB7NSwgNywgMTJ9LjxcL3A+XHJcblxyXG48cD5Zb3Ugd2luIHRoZSBnYW1lIGlmIHlvdSBzdWNjZXNzZnVsbHkgcGxheSBhbGwgTiBjYXJkcyB5b3UgaGF2ZSBkcmF3bi4gWW91IGxvc2UgaWYgeW91IGZhaWxzLCB0aGF0IGlzLCB5b3UgZmFjZXMgYSBzaXR1YXRpb24gaW4gd2hpY2ggbm8gY2FyZCBpbiB5b3VyIGhhbmQgY29ucXVlcnMgdGhlIHNldCBvZiBjYXJkcyB5b3UgaGF2ZSBwbGF5ZWQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgaW5wdXQgY29uc2lzdHMgb2YgbXVsdGlwbGUgdGVzdCBjYXNlcy48XC9wPlxyXG5cclxuPHA+RWFjaCB0ZXN0IGNhc2UgY29uc2lzdHMgb2YgdHdvIGxpbmVzLiBUaGUgZmlyc3QgbGluZSBjb250YWlucyBhbiBpbnRlZ2VyIE4gKDEgJmxlOyBOICZsZTsgNTIpLCB3aGljaCByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgdGhlIGNhcmRzLiBUaGUgc2Vjb25kIGxpbmUgY29udGFpbnMgTiBpbnRlZ2VycyBjPHN1Yj4xPFwvc3ViPiwgLiAuIC4gLCBjPHN1Yj5OPFwvc3ViPiAoMSAmbGU7IGM8c3ViPmk8XC9zdWI+ICZsZTsgMTMpLCBlYWNoIG9mIHdoaWNoIHJlcHJlc2VudHMgdGhlIHJhbmsgb2YgdGhlIGNhcmQuIFlvdSBtYXkgYXNzdW1lIHRoYXQgdGhlcmUgYXJlIGF0IG1vc3QgZm91ciBjYXJkcyB3aXRoIHRoZSBzYW1lIHJhbmsgaW4gb25lIGxpc3QuPFwvcD5cclxuXHJcbjxwPlRoZSBpbnB1dCBpcyB0ZXJtaW5hdGVkIGJ5IGEgbGluZSB3aXRoIGEgc2luZ2xlIHplcm8uPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlLCB5b3Ugc2hvdWxkIG91dHB1dCBvbmUgbGluZS4gSWYgdGhlcmUgYXJlIGFueSB3aW5uaW5nIHN0cmF0ZWdpZXMgZm9yIHRoZSBjYXJkcyBvZiB0aGUgaW5wdXQsIHByaW50IGFueSBvbmUgb2YgdGhlbSBhcyBhIGxpc3Qgb2YgTiBpbnRlZ2VycyBzZXBhcmF0ZWQgYnkgYSBzcGFjZS48XC9wPlxyXG5cclxuPHA+SWYgdGhlcmUgaXMgbm8gd2lubmluZyBzdHJhdGVneSwgcHJpbnQgJmxkcXVvO05vJnJkcXVvOy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

Contest > ICPC Japanese Alumni Group > JAG Practice Contest for ICPC Asia Regional > JAG Practice Contest 2005 D번

  • 문제를 번역한 사람: 2a2aq
  • 문제의 오타를 찾은 사람: silvercube