시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 443 205 104 39.695%

문제

정수좌표를 갖는 점을 격자점이라고 한다. 격자 다각형은 모든 꼭지점이 격자점으로 이루어진 다각형이다.

만약, 다각형의 두 꼭지점을 잇는 모든 선분이 다각형 내부(또는 경계)에 있다면, 이 다각형을 볼록 다각형이라고 한다. 즉, 다각형의 내부각이 모두 180도 보다 작은 것이다.

격자점으로 이루어진 집합 S가 주어졌을 때, S의 모든 격자점을 포함하는 가장 작은 볼록 (격자) 다각형을 컨벡스 헐이라고 한다. 컨벡스 헐의 꼭지점은 모두 S에 포함된 격자점이어야 한다. 만약, 모든 점이 같은 일직선 상에 있다면, 컨벡스 헐은 선분이 될 것이다. (오른쪽 그림)

아래 그림에서 집합에 포함된 점은 굵은 점으로, 컨벡스 헐의 꼭지점은 X로, 변은 선분으로 나타낸 그림이다.

격자 다각형의 꼭지점의 일반적인 순서는 다음과 같다.

1. 첫번째 꼭지점은 y좌표가 가장 큰 점이다. 만약, 그러한 점이 2개라면, x가 작은 점이 첫번째 점이다.

2. 그 다음 점부터는 시계방향 순서이다.

격자점의 집합이 주어졌을 때, 컨벡스 헐을 일반적인 순서로 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 P(1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 집합에 포함된 격자점의 수 N(3 ≤ N ≤ 50)이 주어진다. 나머지 줄은 집합에 포함되어 있는 격자점의 좌표가 한 줄에 5개씩 주어진다. (마지막 줄은 이보다 적을 수 있다) 모든 점은 x와 y좌표가 순서대로 주어지며, 공백으로 구분되어 있다.

출력

각 테스트 케이스에 대해서, 첫째 줄에는 컨벡스 헐에 포함된 점의 수를 출력한다. 그 다음 줄부터 컨벡스헐에 포함된 격자점을 한 줄에 하나씩 일반적인 순서대로 출한다. x와 y를 공백으로 구분하여 출력한다.

예제 입력 1

4
25
2 1 7 1 1 2 9 2 1 3
10 3 1 4 10 4 1 5 10 5
2 6 10 6 2 7 9 7 3 8
8 8 4 9 7 9 6 2 3 3
5 4 7 5 8 6 4 6 3 7
30
3 9 6 9 3 8 9 8 3 7
12 7 2 6 12 6 2 5 12 5
2 4 12 4 1 3 11 3 1 2
11 2 1 1 11 1 1 0 10 0
4 -1 10 -1 7 -2 10 -2 5 0
7 3 4 5 6 8 3 1 2 6
3
3 1 2 2 1 3
6
1 3 19 1 4 2 2 1 11 2
10 1

예제 출력 1

10
4 9
7 9
10 6
10 3
9 2
7 1
2 1
1 2
1 5
2 7
8
3 9
6 9
12 7
12 4
10 -2
7 -2
1 0
1 3
2
1 3
3 1
4
1 3
11 2
19 1
2 1
W3sicHJvYmxlbV9pZCI6IjI2OTkiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFjYTlcdWM3OTBcdWM4MTAgXHVjZWU4XHViY2ExXHVjMmE0XHVkNWQwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWM4MTVcdWMyMThcdWM4OGNcdWQ0NWNcdWI5N2MgXHVhYzE2XHViMjk0IFx1YzgxMFx1Yzc0NCBcdWFjYTlcdWM3OTBcdWM4MTBcdWM3NzRcdWI3N2NcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWFjYTlcdWM3OTAgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzQwIFx1YmFhOFx1YjRlMCBcdWFmMmRcdWM5YzBcdWM4MTBcdWM3NzQgXHVhY2E5XHVjNzkwXHVjODEwXHVjNzNjXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljY1x1YzU3ZCwgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzU4IFx1YjQ1MCBcdWFmMmRcdWM5YzBcdWM4MTBcdWM3NDQgXHVjNzg3XHViMjk0IFx1YmFhOFx1YjRlMCBcdWMxMjBcdWJkODRcdWM3NzQgXHViMmU0XHVhYzAxXHVkNjE1IFx1YjBiNFx1YmQ4MChcdWI2MTBcdWIyOTQgXHVhY2JkXHVhY2M0KVx1YzVkMCBcdWM3ODhcdWIyZTRcdWJhNzQsIFx1Yzc3NCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NDQgXHViY2ZjXHViODVkIFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc3NFx1Yjc3Y1x1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1Yzk4OSwgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzU4IFx1YjBiNFx1YmQ4MFx1YWMwMVx1Yzc3NCBcdWJhYThcdWI0NTAgMTgwXHViM2M0IFx1YmNmNFx1YjJlNCBcdWM3OTFcdWM3NDAgXHVhYzgzXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjYTlcdWM3OTBcdWM4MTBcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YzlkMVx1ZDU2OSBTXHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFNcdWM3NTggXHViYWE4XHViNGUwIFx1YWNhOVx1Yzc5MFx1YzgxMFx1Yzc0NCBcdWQzZWNcdWQ1NjhcdWQ1NThcdWIyOTQgXHVhYzAwXHVjN2E1IFx1Yzc5MVx1Yzc0MCBcdWJjZmNcdWI4NWQgKFx1YWNhOVx1Yzc5MCkgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzQ0IFx1Y2VlOFx1YmNhMVx1YzJhNCBcdWQ1ZDBcdWM3NzRcdWI3N2NcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWNlZThcdWJjYTFcdWMyYTQgXHVkNWQwXHVjNzU4IFx1YWYyZFx1YzljMFx1YzgxMFx1Yzc0MCBcdWJhYThcdWI0NTAgU1x1YzVkMCBcdWQzZWNcdWQ1NjhcdWI0MWMgXHVhY2E5XHVjNzkwXHVjODEwXHVjNzc0XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkLCBcdWJhYThcdWI0ZTAgXHVjODEwXHVjNzc0IFx1YWMxOVx1Yzc0MCBcdWM3N2NcdWM5YzFcdWMxMjAgXHVjMGMxXHVjNWQwIFx1Yzc4OFx1YjJlNFx1YmE3NCwgXHVjZWU4XHViY2ExXHVjMmE0IFx1ZDVkMFx1Yzc0MCBcdWMxMjBcdWJkODRcdWM3NzQgXHViNDIwIFx1YWM4M1x1Yzc3NFx1YjJlNC4gKFx1YzYyNFx1Yjk3OFx1Y2FiZCBcdWFkZjhcdWI5YmMpPFwvcD5cclxuXHJcbjxwPlx1YzU0NFx1Yjc5OCBcdWFkZjhcdWI5YmNcdWM1ZDBcdWMxMWMgXHVjOWQxXHVkNTY5XHVjNWQwIFx1ZDNlY1x1ZDU2OFx1YjQxYyBcdWM4MTBcdWM3NDAgXHVhZDc1XHVjNzQwIFx1YzgxMFx1YzczY1x1Yjg1YywgXHVjZWU4XHViY2ExXHVjMmE0IFx1ZDVkMFx1Yzc1OCBcdWFmMmRcdWM5YzBcdWM4MTBcdWM3NDAgWFx1Yjg1YywgXHViY2MwXHVjNzQwIFx1YzEyMFx1YmQ4NFx1YzczY1x1Yjg1YyBcdWIwOThcdWQwYzBcdWIwYjggXHVhZGY4XHViOWJjXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2xhdGljZS5wbmdcIiBzdHlsZT1cImhlaWdodDoyNDlweDsgd2lkdGg6NTg0cHhcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVhY2E5XHVjNzkwIFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc1OCBcdWFmMmRcdWM5YzBcdWM4MTBcdWM3NTggXHVjNzdjXHViYzE4XHVjODAxXHVjNzc4IFx1YzIxY1x1YzExY1x1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cD4xLiBcdWNjYWJcdWJjODhcdWM5ZjggXHVhZjJkXHVjOWMwXHVjODEwXHVjNzQwIHlcdWM4OGNcdWQ0NWNcdWFjMDAgXHVhYzAwXHVjN2E1IFx1ZDA3MCBcdWM4MTBcdWM3NzRcdWIyZTQuIFx1YjljY1x1YzU3ZCwgXHVhZGY4XHViN2VjXHVkNTVjIFx1YzgxMFx1Yzc3NCAyXHVhYzFjXHViNzdjXHViYTc0LCB4XHVhYzAwIFx1Yzc5MVx1Yzc0MCBcdWM4MTBcdWM3NzQgXHVjY2FiXHViYzg4XHVjOWY4IFx1YzgxMFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+Mi4gXHVhZGY4IFx1YjJlNFx1Yzc0YyBcdWM4MTBcdWJkODBcdWQxMzBcdWIyOTQgXHVjMmRjXHVhY2M0XHViYzI5XHVkNWE1IFx1YzIxY1x1YzExY1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhY2E5XHVjNzkwXHVjODEwXHVjNzU4IFx1YzlkMVx1ZDU2OVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWNlZThcdWJjYTFcdWMyYTQgXHVkNWQwXHVjNzQ0IFx1Yzc3Y1x1YmMxOFx1YzgwMVx1Yzc3OCBcdWMyMWNcdWMxMWNcdWI4NWMgXHVjZDljXHViODI1XHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVhYzFjXHVjMjE4IFAoMSAmbGU7IFAgJmxlOyAxMDAwKVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjOWQxXHVkNTY5XHVjNWQwIFx1ZDNlY1x1ZDU2OFx1YjQxYyBcdWFjYTlcdWM3OTBcdWM4MTBcdWM3NTggXHVjMjE4IE4oMyAmbGU7IE4gJmxlOyA1MClcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIwOThcdWJhMzhcdWM5YzAgXHVjOTA0XHVjNzQwIFx1YzlkMVx1ZDU2OVx1YzVkMCBcdWQzZWNcdWQ1NjhcdWI0MThcdWM1YjQgXHVjNzg4XHViMjk0IFx1YWNhOVx1Yzc5MFx1YzgxMFx1Yzc1OCBcdWM4OGNcdWQ0NWNcdWFjMDAgXHVkNTVjIFx1YzkwNFx1YzVkMCA1XHVhYzFjXHVjNTI5IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKFx1YjljOFx1YzljMFx1YjljOSBcdWM5MDRcdWM3NDAgXHVjNzc0XHViY2Y0XHViMmU0IFx1YzgwMVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0KSBcdWJhYThcdWI0ZTAgXHVjODEwXHVjNzQwIHhcdWM2NDAgeVx1Yzg4Y1x1ZDQ1Y1x1YWMwMCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwLCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMsIFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjZWU4XHViY2ExXHVjMmE0IFx1ZDVkMFx1YzVkMCBcdWQzZWNcdWQ1NjhcdWI0MWMgXHVjODEwXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YWRmOCBcdWIyZTRcdWM3NGMgXHVjOTA0XHViZDgwXHVkMTMwIFx1Y2VlOFx1YmNhMVx1YzJhNFx1ZDVkMFx1YzVkMCBcdWQzZWNcdWQ1NjhcdWI0MWMgXHVhY2E5XHVjNzkwXHVjODEwXHVjNzQ0IFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVkNTU4XHViMDk4XHVjNTI5IFx1Yzc3Y1x1YmMxOFx1YzgwMVx1Yzc3OCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjZDljXHVkNTVjXHViMmU0LiB4XHVjNjQwIHlcdWI5N2MgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1ZDU1OFx1YzVlYyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMjY5OSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkNvbnZleCBIdWxsIG9mIExhdHRpY2UgUG9pbnRzIiwiZGVzY3JpcHRpb24iOiI8cD5BIGxhdHRpY2UgcG9pbnQgaXMgYSBwb2ludCB3aXRoIGludGVnZXIgY29vcmRpbmF0ZXMuIEEgbGF0dGljZSBwb2x5Z29uIGlzIGEgcG9seWdvbiB3aXRoIGFsbCB2ZXJ0aWNlcyBsYXR0aWNlIHBvaW50cy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+QSBwb2x5Z29uIGlzIGNvbnZleCBpZiBhbnkgbGluZSBzZWdtZW50IGJldHdlZW4gdHdvIHBvaW50cyBvZiB0aGUgcG9seWdvbiBpcyBpbnNpZGUgKG9yIG9uIHRoZSBib3VuZGFyeSBvZikgdGhlIHBvbHlnb24uIEVxdWl2YWxlbnRseSwgdGhlIGludGVyaW9yIGFuZ2xlIGF0IGVhY2ggcG9seWdvbiB2ZXJ0ZXggaXMgbGVzcyB0aGFuIDE4MCBkZWdyZWVzLiZuYnNwOzxcL3A+XHJcblxyXG48cD5Gb3IgYSBzZXQgUywgb2YgbGF0dGljZSBwb2ludHMsIHRoZSBjb252ZXggaHVsbCBpcyB0aGUgc21hbGxlc3QgY29udmV4IChsYXR0aWNlKSBwb2x5Z29uIHdoaWNoIGNvbnRhaW5zIGFsbCBwb2ludHMgb2YgdGhlIHNldC4gKFRoZSB2ZXJ0aWNlcyBvZiB0aGUgY29udmV4IGh1bGwgbXVzdCBiZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgbGF0dGljZSBwb2ludHMpLiBJZiBhbGwgdGhlIHBvaW50cyBhcmUgb24gYSBzaW5nbGUgc3RyYWlnaHQgbGluZSwgdGhlIGNvbnZleCBodWxsIHdpbGwgYmUgYSBsaW5lIHNlZ21lbnQgKGEgZGVnZW5lcmF0ZXBvbHlnb24gJm5kYXNoOyBzZWUgcmlnaHRtb3N0IGRpYWdyYW0gYmVsb3cpLiBJbiB0aGUgZGlhZ3JhbXMgYmVsb3csIHRoZSBwb2ludHMgb2YgdGhlIHNldCBhcmUgaW5kaWNhdGVkIGJ5IHNvbGlkIGRvdHMsIHRoZSB2ZXJ0aWNlcyBvZiB0aGUgY29udmV4IGh1bGwgYnkgWCZyc3F1bztzIGFuZCB0aGUgY29udmV4IGh1bGwgaXMgZHJhd24gY29ubmVjdGluZyB0aGUgdmVydGljZXMuJm5ic3A7PFwvcD5cclxuXHJcbjxwPk5vdGUgdGhhdCBub3QgYWxsIHBvaW50cyBvbiB0aGUgY29udmV4IGh1bGwgcG9seWdvbiBhcmUgdmVydGljZXMuPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvbGF0aWNlLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjI0OXB4OyB3aWR0aDo1ODRweFwiIFwvPjxcL3A+XHJcblxyXG48cD5UaGUgdmVydGljZXMgb2YgYSBsYXR0aWNlIHBvbHlnb24gYXJlIGluIHN0YW5kYXJkIG9yZGVyIGlmOiZuYnNwOzxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlRoZSBmaXJzdCB2ZXJ0ZXggaXMgdGhlIG9uZSB3aXRoIHRoZSBsYXJnZXN0IHkgdmFsdWUuIElmIHR3byB2ZXJ0aWNlcyBoYXZlIHRoZSBzYW1lIHkgdmFsdWUsIHRoZSBvbmUgd2l0aCB0aGUgc21hbGxlciB4IHZhbHVlIGlzIHRoZSBmaXJzdC4mbmJzcDs8XC9saT5cclxuXHQ8bGk+VmVydGljZXMgYXJlIGdpdmVuIGluIGNsb2Nrd2lzZSBvcmRlciBhcm91bmQgdGhlIHBvbHlnb24uJm5ic3A7PFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtIHRoYXQgcmVhZHMgYSBzZXQgb2YgbGF0dGljZSBwb2ludHMgYW5kIG91dHB1dHMgdGhlIHZlcnRpY2VzIG9mIHRoZSBjb252ZXggaHVsbCBvZiB0aGUgcG9pbnRzIGluIHN0YW5kYXJkIG9yZGVyLiZuYnNwOzxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgYSBzaW5nbGUgaW50ZWdlciBQLCAoMSAmbGU7IFAgJmxlOyAxMDAwKSwgd2hpY2ggaXMgdGhlIG51bWJlciBvZiBkYXRhIHNldHMgdGhhdCBmb2xsb3cuIFRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggZGF0YSBzZXQgY29udGFpbnMgdGhlIGRhdGEgc2V0IG51bWJlciwgZm9sbG93ZWQgYnkgYSBzcGFjZSwgZm9sbG93ZWQgYnkgYSBkZWNpbWFsIGludGVnZXIgZ2l2aW5nIHRoZSBudW1iZXIgb2YgcG9pbnRzIE4sICgzICZsZTsgTiAmbGU7IDUwKSwgaW4gdGhlIHNldC4gVGhlIHJlbWFpbmluZyBsaW5lcyBpbiB0aGUgZGF0YSBzZXQgY29udGFpbiB0aGUgcG9pbnRzIGluIHRoZSBzZXQsIGF0IG1vc3QgNSBwb2ludHMgcGVyIGxpbmUgKHRoZSBsYXN0IGxpbmUgbWF5IGhhdmUgZmV3ZXIpLiBFYWNoIHBvaW50IGNvbnNpc3RzIG9mIDIgc3BhY2Ugc2VwYXJhdGVkIGRlY2ltYWwgaW50ZWdlciB2YWx1ZXMgcmVwcmVzZW50aW5nIHRoZSB4IGFuZCB5IGNvb3JkaW5hdGVzIHJlc3BlY3RpdmVseS4mbmJzcDs8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5Gb3IgZWFjaCBkYXRhIHNldCB0aGVyZSBhcmUgbXVsdGlwbGUgbGluZXMgb2Ygb3V0cHV0LiBUaGUgZmlyc3QgbGluZSBjb250YWlucyBhIGRlY2ltYWwgaW50ZWdlciBnaXZpbmcgdGhlIGRhdGEgc2V0IG51bWJlciBmb2xsb3dlZCBieSBhIHNpbmdsZSBzcGFjZSwgZm9sbG93ZWQgYnkgYSBkZWNpbWFsIGludGVnZXIgZ2l2aW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgdmVydGljZXMgb2YgdGhlIGNvbnZleCBodWxsLiBUaGUgdmVydGljZXMgb2YgdGhlIGNvbnZleCBodWxsIGZvbGxvdywgb25lIHBlciBsaW5lIGluIHN0YW5kYXJkIG9yZGVyLiBFYWNoIGxpbmUgY29udGFpbnMgdGhlIGRlY2ltYWwgaW50ZWdlciB4IGNvb3JkaW5hdGUsIGEgc2luZ2xlIHNwYWNlIGFuZCB0aGUgZGVjaW1hbCBpbnRlZ2VyIHkgY29vcmRpbmF0ZS4mbmJzcDs8XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=

출처

ACM-ICPC > Regionals > North America > Greater New York Region > 2009 Greater New York Programming Contest G번