시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB83241936.538%

문제

격자점은 좌표가 정수인 점을 뜻한다.격자 다각형은 모든 꼭짓점이 격자점인 다각형이다.

다각형의 경계에 있는 격자점을 경계점이라 한다. (위 그림에서 열린 점) 또한 다각형 위에 있지 않은 내부의 격자점을 내부점이라 한다. (위 그림에서 닫힌 점)

다각형의 내부에 있는 어떠한 두 점을 골라 만든 선분이 모두 다각형의 내부 또는 경계에 있다면 그 다각형을 볼록하다고 한다. 즉, 내각의 크기가 모두 180도보다 작다. 다각형 내부(경계 위의 점은 제외한다)에 있는 두 점 사이의 모든 선분도 다각형의 내부에 완벽하게 들어간다.

볼록 격자 다각형의 내부점 중 수평선 상의 점에는 가장 왼쪽 점과 가장 오른쪽 점이 존재한다. (가장 왼쪽 점과 가장 오른쪽 점이 같을 수 있다) 아래 그림 A처럼 내부점이 없거나, B처럼 하나뿐인 경우가 있을 수도 있다. 그림 C의 경우 아래 그림과 같다.

볼록 격자 다각형을 아래와 같은 순서로 입력 받아, 수평선을 이루는 내부점을 모두 출력하는 프로그램을 작성하시오.

1. 첫 번째 점은 y값이 가장 큰 점이다. 만약 y값이 같은 점이 있다면 x값이 작은 순으로 주어진다.

2. 점은 시계방향으로 주어진다.

입력

입력의 첫 줄에는 테스트의 개수 P(1 ≤ P ≤ 1000)가 주어진다.

각각의 테스트 첫 줄에는 다각형 점의 개수를 나타내는 정수 N(3 ≤ N ≤ 50)이 주어진다. 나머지 줄에는 위에 설명된 순서대로 점의 x좌표와 y좌표를 나타내는 정수 두 개가 공백을 사이에 두고 주어진다. 입력으로 주어지는 좌표는 -30보다 크거나 같고, 30보다 작거나 같은 정수이다.

출력

첫 줄에는 수평선의 개수를 출력한다. 만약, 수평선이 하나 이상 있다면, 수평선의 y 좌표 값을 한 줄에 하나씩 출력한다. 이때 y좌표 내림차순으로 출력한다. 각각의 y좌표 값 뒤에 공백을 사이에 두고 가장 왼쪽 x좌표와 가장 오른쪽 x좌표를 출력한다.

예제 입력 1

6
8
5 10
8 9
11 6
10 2
6 0
1 1
0 4
2 8
4
3 10
13 7
10 -3
0 0
3
1 3
3 1
1 1
3
1 4
4 1
1 1
4
0 6
2 3
3 0
1 3
6
1 3
3 3
4 2
3 1
1 1
0 2

예제 출력 1

9
9 4 7
8 3 8
7 2 9
6 2 10
5 1 10
4 1 10
3 1 10
2 1 9
1 2 7
12
9 3 6
8 3 9
7 3 12
6 2 12
5 2 12
4 2 12
3 1 11
2 1 11
1 1 11
0 1 10
-1 4 10
-2 7 10
0
1
2 2 2
2
4 1 1
2 2 2
1
2 1 3
W3sicHJvYmxlbV9pZCI6IjI3MDAiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJjZmNcdWI4NWQgXHVhY2E5XHVjNzkwIFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc1OCBcdWIwYjRcdWJkODBcdWM4MTAiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YWNhOVx1Yzc5MFx1YzgxMFx1Yzc0MCBcdWM4OGNcdWQ0NWNcdWFjMDAgXHVjODE1XHVjMjE4XHVjNzc4IFx1YzgxMFx1Yzc0NCBcdWI3M2JcdWQ1NWNcdWIyZTQuXHVhY2E5XHVjNzkwIFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc0MCBcdWJhYThcdWI0ZTAgXHVhZjJkXHVjOWQzXHVjODEwXHVjNzc0IFx1YWNhOVx1Yzc5MFx1YzgxMFx1Yzc3OCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvcDFwMS5wbmdcIiBzdHlsZT1cIndpZHRoOiA1MDJweDsgaGVpZ2h0OiAyMjVweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+XHViMmU0XHVhYzAxXHVkNjE1XHVjNzU4IFx1YWNiZFx1YWNjNFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVhY2E5XHVjNzkwXHVjODEwXHVjNzQ0IFx1YWNiZFx1YWNjNFx1YzgxMFx1Yzc3NFx1Yjc3YyBcdWQ1NWNcdWIyZTQuIChcdWM3MDQgXHVhZGY4XHViOWJjXHVjNWQwXHVjMTFjIFx1YzVmNFx1YjliMCBcdWM4MTApIFx1YjYxMFx1ZDU1YyBcdWIyZTRcdWFjMDFcdWQ2MTUgXHVjNzA0XHVjNWQwIFx1Yzc4OFx1YzljMCBcdWM1NGFcdWM3NDAgXHViMGI0XHViZDgwXHVjNzU4IFx1YWNhOVx1Yzc5MFx1YzgxMFx1Yzc0NCBcdWIwYjRcdWJkODBcdWM4MTBcdWM3NzRcdWI3N2MgXHVkNTVjXHViMmU0LiAoXHVjNzA0IFx1YWRmOFx1YjliY1x1YzVkMFx1YzExYyBcdWIyZWJcdWQ3OGMgXHVjODEwKTxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NTggXHViMGI0XHViZDgwXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWM1YjRcdWI1YTBcdWQ1NWMgXHViNDUwIFx1YzgxMFx1Yzc0NCBcdWFjZThcdWI3N2MgXHViOWNjXHViNGUwIFx1YzEyMFx1YmQ4NFx1Yzc3NCBcdWJhYThcdWI0NTAgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzU4IFx1YjBiNFx1YmQ4MCBcdWI2MTBcdWIyOTQgXHVhY2JkXHVhY2M0XHVjNWQwIFx1Yzc4OFx1YjJlNFx1YmE3NCBcdWFkZjggXHViMmU0XHVhYzAxXHVkNjE1XHVjNzQ0IFx1YmNmY1x1Yjg1ZFx1ZDU1OFx1YjJlNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1Yzk4OSwgXHViMGI0XHVhYzAxXHVjNzU4IFx1ZDA2Y1x1YWUzMFx1YWMwMCBcdWJhYThcdWI0NTAgMTgwXHViM2M0XHViY2Y0XHViMmU0IFx1Yzc5MVx1YjJlNC4gXHViMmU0XHVhYzAxXHVkNjE1IFx1YjBiNFx1YmQ4MChcdWFjYmRcdWFjYzQgXHVjNzA0XHVjNzU4IFx1YzgxMFx1Yzc0MCBcdWM4MWNcdWM2NzhcdWQ1NWNcdWIyZTQpXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWI0NTAgXHVjODEwIFx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWJhYThcdWI0ZTAgXHVjMTIwXHViZDg0XHViM2M0IFx1YjJlNFx1YWMwMVx1ZDYxNVx1Yzc1OCBcdWIwYjRcdWJkODBcdWM1ZDAgXHVjNjQ0XHViY2JkXHVkNTU4XHVhYzhjIFx1YjRlNFx1YzViNFx1YWMwNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViY2ZjXHViODVkIFx1YWNhOVx1Yzc5MCBcdWIyZTRcdWFjMDFcdWQ2MTVcdWM3NTggXHViMGI0XHViZDgwXHVjODEwIFx1YzkxMSBcdWMyMThcdWQzYzlcdWMxMjAgXHVjMGMxXHVjNzU4IFx1YzgxMFx1YzVkMFx1YjI5NCBcdWFjMDBcdWM3YTUgXHVjNjdjXHVjYWJkIFx1YzgxMFx1YWNmYyBcdWFjMDBcdWM3YTUgXHVjNjI0XHViOTc4XHVjYWJkIFx1YzgxMFx1Yzc3NCBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTQuIChcdWFjMDBcdWM3YTUgXHVjNjdjXHVjYWJkIFx1YzgxMFx1YWNmYyBcdWFjMDBcdWM3YTUgXHVjNjI0XHViOTc4XHVjYWJkIFx1YzgxMFx1Yzc3NCBcdWFjMTlcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjJlNCkgXHVjNTQ0XHViNzk4IFx1YWRmOFx1YjliYyBBXHVjYzk4XHViN2ZjIFx1YjBiNFx1YmQ4MFx1YzgxMFx1Yzc3NCBcdWM1YzZcdWFjNzBcdWIwOTgsIEJcdWNjOThcdWI3ZmMgXHVkNTU4XHViMDk4XHViZmQwXHVjNzc4IFx1YWNiZFx1YzZiMFx1YWMwMCBcdWM3ODhcdWM3NDQgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHVhZGY4XHViOWJjIENcdWM3NTggXHVhY2JkXHVjNmIwIFx1YzU0NFx1Yjc5OCBcdWFkZjhcdWI5YmNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3AycDIucG5nXCIgc3R5bGU9XCJ3aWR0aDogNDYwcHg7IGhlaWdodDogMTU4cHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YmNmY1x1Yjg1ZCBcdWFjYTlcdWM3OTAgXHViMmU0XHVhYzAxXHVkNjE1XHVjNzQ0IFx1YzU0NFx1Yjc5OFx1YzY0MCBcdWFjMTlcdWM3NDAgXHVjMjFjXHVjMTFjXHViODVjIFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWM1NDQsIFx1YzIxOFx1ZDNjOVx1YzEyMFx1Yzc0NCBcdWM3NzRcdWI4ZThcdWIyOTQgXHViMGI0XHViZDgwXHVjODEwXHVjNzQ0IFx1YmFhOFx1YjQ1MCBcdWNkOWNcdWI4MjVcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG5cclxuPHA+MS4gXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM4MTBcdWM3NDAgeVx1YWMxMlx1Yzc3NCBcdWFjMDBcdWM3YTUgXHVkMDcwIFx1YzgxMFx1Yzc3NFx1YjJlNC4gXHViOWNjXHVjNTdkIHlcdWFjMTJcdWM3NzQgXHVhYzE5XHVjNzQwIFx1YzgxMFx1Yzc3NCBcdWM3ODhcdWIyZTRcdWJhNzQgeFx1YWMxMlx1Yzc3NCBcdWM3OTFcdWM3NDAgXHVjMjFjXHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+Mi4gXHVjODEwXHVjNzQwIFx1YzJkY1x1YWNjNFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NTggXHVjY2FiIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWQxNGNcdWMyYTRcdWQyYjhcdWM3NTggXHVhYzFjXHVjMjE4IFAoMSAmbGU7IFAgJmxlOyAxMDAwKVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMVx1YWMwMVx1Yzc1OCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjY2FiIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWIyZTRcdWFjMDFcdWQ2MTUgXHVjODEwXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHVjODE1XHVjMjE4IE4oMyAmbGU7IE4gJmxlOyA1MClcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIwOThcdWJhMzhcdWM5YzAgXHVjOTA0XHVjNWQwXHViMjk0IFx1YzcwNFx1YzVkMCBcdWMxMjRcdWJhODVcdWI0MWMgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1YzgxMFx1Yzc1OCB4XHVjODhjXHVkNDVjXHVjNjQwIHlcdWM4OGNcdWQ0NWNcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YzgxNVx1YzIxOCBcdWI0NTAgXHVhYzFjXHVhYzAwIFx1YWNmNVx1YmMzMVx1Yzc0NCBcdWMwYWNcdWM3NzRcdWM1ZDAgXHViNDUwXHVhY2UwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NCBcdWM4OGNcdWQ0NWNcdWIyOTQgLTMwXHViY2Y0XHViMmU0IFx1ZDA2Y1x1YWM3MFx1YjA5OCBcdWFjMTlcdWFjZTAsIDMwXHViY2Y0XHViMmU0IFx1Yzc5MVx1YWM3MFx1YjA5OCBcdWFjMTlcdWM3NDAgXHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYiBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMjE4XHVkM2M5XHVjMTIwXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCwgXHVjMjE4XHVkM2M5XHVjMTIwXHVjNzc0IFx1ZDU1OFx1YjA5OCBcdWM3NzRcdWMwYzEgXHVjNzg4XHViMmU0XHViYTc0LCBcdWMyMThcdWQzYzlcdWMxMjBcdWM3NTggeSBcdWM4OGNcdWQ0NWMgXHVhYzEyXHVjNzQ0IFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVkNTU4XHViMDk4XHVjNTI5IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVjNzc0XHViNTRjIHlcdWM4OGNcdWQ0NWMgXHViMGI0XHViOWJjXHVjYzI4XHVjMjFjXHVjNzNjXHViODVjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IHlcdWM4OGNcdWQ0NWMgXHVhYzEyIFx1YjRhNFx1YzVkMCBcdWFjZjVcdWJjMzFcdWM3NDQgXHVjMGFjXHVjNzc0XHVjNWQwIFx1YjQ1MFx1YWNlMCBcdWFjMDBcdWM3YTUgXHVjNjdjXHVjYWJkIHhcdWM4OGNcdWQ0NWNcdWM2NDAgXHVhYzAwXHVjN2E1IFx1YzYyNFx1Yjk3OFx1Y2FiZCB4XHVjODhjXHVkNDVjXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyNzAwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiSW50ZXJpb3IgUG9pbnRzIG9mIExhdHRpY2UgUG9seWdvbnMiLCJkZXNjcmlwdGlvbiI6IjxwPkEgbGF0dGljZSBwb2ludCBpcyBhIHBvaW50IHdpdGggaW50ZWdlciBjb29yZGluYXRlcy4gQSBsYXR0aWNlIHBvbHlnb24gaXMgYSBwb2x5Z29uIHdpdGggYWxsIHZlcnRpY2VzIGxhdHRpY2UgcG9pbnRzLiZuYnNwOzxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3AxcDEucG5nXCIgc3R5bGU9XCJoZWlnaHQ6MjI1cHg7IG9wYWNpdHk6MC45OyB3aWR0aDo1MDJweFwiIFwvPjxcL3A+XHJcblxyXG48cD5UaGUgbGF0dGljZSBwb2ludHMgb24gdGhlIGJvdW5kYXJ5IG9mIHRoZSBwb2x5Z29uIGFyZSBib3VuZGFyeSBwb2ludHMgKG9wZW4gZG90cyBpbiB0aGUgZmlndXJlIGFib3ZlKSBhbmQgdGhlIHBvaW50cyBpbnNpZGUgYW5kIG5vdCBvbiB0aGUgcG9seWdvbiBhcmUgaW50ZXJpb3IgcG9pbnRzIChmaWxsZWQgaW4gZG90cyBpbiB0aGUgZmlndXJlIGFib3ZlKS4mbmJzcDs8XC9wPlxyXG5cclxuPHA+QSBwb2x5Z29uIGlzIGNvbnZleCBpZiBhbnkgbGluZSBzZWdtZW50IGJldHdlZW4gdHdvIHBvaW50cyBvZiB0aGUgcG9seWdvbiBpcyBpbnNpZGUgKG9yIG9uIHRoZSBib3VuZGFyeSBvZikgdGhlIHBvbHlnb24uIEVxdWl2YWxlbnRseSwgdGhlIGludGVyaW9yIGFuZ2xlIGF0IGVhY2ggcG9seWdvbiB2ZXJ0ZXggaXMgbGVzcyB0aGFuIDE4MCBkZWdyZWVzLiBOb3RlIHRoYXQgYW55IGxpbmUgYmV0d2VlbiB0d28gcG9pbnRzIGluc2lkZSAoYW5kIG5vdCBvbiB0aGUgYm91bmRhcnkgb2YpIHRoZSBwb2x5Z29uIGlzIGVudGlyZWx5IGluc2lkZSAoYW5kIG5vdCBvbiB0aGUgYm91bmRhcnkgb2YpIHRoZSBwb2x5Z29uLjxcL3A+XHJcblxyXG48cD5UaGUgaW50ZXJpb3IgcG9pbnRzIG9mIGEgY29udmV4IGxhdHRpY2UgcG9seWdvbiBvbiBhbnkgaG9yaXpvbnRhbCBsaW5lIGZvcm0gYSBzaW5nbGUgc2VnbWVudCBmcm9tIGEgbGVmdG1vc3QgcG9pbnQgdG8gYSByaWdodG1vc3QgcG9pbnQgKHdoaWNoIG1heSBiZSB0aGUgc2FtZSkuIE5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgbm8gaW50ZXJpb3IgcG9pbnRzIChBKSwgb3Igb25seSBvbmUgKEIpLCBvciBpc29sYXRlZCBwb2ludHMgKEMpIGFzIHNob3duIGluIHRoZSBmaWd1cmVzIGJlbG93LiZuYnNwOzxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3AycDIucG5nXCIgc3R5bGU9XCJoZWlnaHQ6MTU4cHg7IHdpZHRoOjQ2MHB4XCIgXC8+PFwvcD5cclxuXHJcbjxwPldyaXRlIGEgcHJvZ3JhbSB0aGF0IHJlYWRzIHRoZSB2ZXJ0aWNlcyBvZiBhIGNvbnZleCBsYXR0aWNlIHBvbHlnb24gaW4gc3RhbmRhcmQgb3JkZXIgYW5kIG91dHB1dHMgdGhlIGludGVyaW9yIHBvaW50cyBhcyBhIGxpc3Qgb2YgaG9yaXpvbnRhbCBsaW5lIHNlZ21lbnRzLiBUaGUgdmVydGljZXMgb2YgYSBsYXR0aWNlIHBvbHlnb24gYXJlIGluIHN0YW5kYXJkIG9yZGVyIGlmOiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgZmlyc3QgdmVydGV4IGlzIHRoZSBvbmUgd2l0aCB0aGUgbGFyZ2VzdCB5IHZhbHVlLiBJZiB0d28gdmVydGljZXMgaGF2ZSB0aGUgc2FtZSB5IHZhbHVlLCB0aGUgb25lIHdpdGggdGhlIHNtYWxsZXIgeCB2YWx1ZSBpcyB0aGUgZmlyc3QuJm5ic3A7PGJyIFwvPlxyXG5WZXJ0aWNlcyBhcmUgZ2l2ZW4gaW4gY2xvY2t3aXNlIG9yZGVyIGFyb3VuZCB0aGUgcG9seWdvbi48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIGEgc2luZ2xlIGludGVnZXIgUCwgKDEgJmxlOyBQICZsZTsgMTAwMCksIHdoaWNoIGlzIHRoZSBudW1iZXIgb2YgZGF0YSBzZXRzIHRoYXQgZm9sbG93LiBUaGUgZmlyc3QgbGluZSBvZiBlYWNoIGRhdGEgc2V0IGNvbnRhaW5zIGEgZGVjaW1hbCBpbnRlZ2VyIGdpdmluZyB0aGUgbnVtYmVyIHZlcnRpY2VzIE4sICgzICZsZTsgTiAmbGU7IDUwKSwgb2YgdGhlIHBvbHlnb24uIFRoZSByZW1haW5pbmcgbGluZXMgaW4gdGhlIGRhdGEgc2V0IGNvbnRhaW4gdGhlIHZlcnRpY2VzLCBvbmUgcGVyIGxpbmUgaW4gc3RhbmRhcmQgb3JkZXIuIEVhY2ggbGluZSBjb250YWlucyB0aGUgZGVjaW1hbCBpbnRlZ2VyIHggY29vcmRpbmF0ZSwgYSBzcGFjZSBhbmQgdGhlIGRlY2ltYWwgaW50ZWdlciB5IGNvb3JkaW5hdGUuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggZGF0YSBzZXQgdGhlcmUgYXJlIG11bHRpcGxlIGxpbmVzIG9mIG91dHB1dC4gVGhlIGZpcnN0IGxpbmUgY29udGFpbnMmbmJzcDthIGRlY2ltYWwgaW50ZWdlciBnaXZpbmcgdGhlIG51bWJlciBvZiBob3Jpem9udGFsIGxpbmVzIHdoaWNoIGNvbnRhaW4gaW50ZXJpb3IgcG9pbnRzICh0aGlzIG1heSBiZSB6ZXJvICgwKSBvciBtb3JlKS4gVGhlIGxpbmVzIG9mIGludGVyaW9yIHBvaW50cywgaWYgYW55LCBmb2xsb3csIG9uZSBwZXIgbGluZSBpbiBvcmRlciBvZiBkZWNyZWFzaW5nIHkgdmFsdWUuIEVhY2ggbGluZSBjb250YWlucyB0aGUgZGVjaW1hbCBpbnRlZ2VyIHkgY29vcmRpbmF0ZSwgYSBzaW5nbGUgc3BhY2UgYW5kIHRoZSBkZWNpbWFsIGludGVnZXIgeCBjb29yZGluYXRlIG9mIHRoZSBsZWZ0IG1vc3QgcG9pbnQsIGEgc2luZ2xlIHNwYWNlIGFuZCB0aGUgZGVjaW1hbCBpbnRlZ2VyIHggY29vcmRpbmF0ZSBvZiB0aGUgcmlnaHQgbW9zdCBwb2ludC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

ICPC > Regionals > North America > Greater New York Region > 2009 Greater New York Programming Contest H번