시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB79222031.250%

문제

상근이와 선영이는 장난감 동물을 가지고 재미있게 놀려고 한다. 먼저, 아래 세 가지 게임판 중 하나를 선택한다. 각 게임판은 여러 개의 칸(그림에는 동그라미)으로 이루어져 있고, 각 게임판은 일차원, 이차원, 삼차원 모양이다.

상근이는 N개의 작은 장난감 동물을 칸에 넣는다.

두 칸의 거리는 장난감 동물이 한 칸에서 출발해서 다른 칸으로 도착하는데 필요한 이동의 횟수이다. 장난감 동물은 자신이 있는 칸과 인접한 칸 중 하나로 이동할 수 있다. (각 칸과 인접한 칸은 그림에서 선분으로 이어져 있다)

두 장난감 동물이 서로의 소리를 들으려면 두 칸의 거리가 D보다 작거나 같아야 한다. 게임판의 종류와 각 장난감 동물의 위치, 그리고 D가 주어졌을 때, 서로의 소리를 들을 수 있는 장난감 동물의 쌍의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 네 정수 B, N, D, M이 주어진다.

B는 게임판의 종류이다. (1 ≤ B ≤ 3) 문제 설명의 왼쪽 그림이 1번 게임판, 중간 그림이 2번, 오른쪽 그림이 3번 게임판이다.

N은 장난감 동물의 수이다. (1 ≤ N ≤ 100,000)

D는 두 장난감 동물이 서로의 소리를 들을 수 있는 가장 먼 거리이다. (1 ≤ D ≤ 100,000,000)

M은 게임판의 크기이다. (입력으로 들어올 수 있는 가장 큰 좌표값) B가 1인 경우 M은 최대 75,000,000이고, 2인 경우에는 75,000, 3인 경우에는 75이다.

다음 N개의 줄에는 각 장난감 동물의 좌표가 주어진다. 모든 좌표는 1보다 크거나 같고, M보다 작거나 같은 자연수이다.

같은 칸에 장난감 동물 여러 개가 들어가 있을 수도 있다.

출력

첫째 줄에 서로의 소리를 들을 수 있는 장난감 동물의 쌍의 수를 출력한다.

예제 입력 1

2 5 4 10
5 2
7 2
8 4
6 5
4 4

예제 출력 1

8

힌트

1-2 (거리 2) 
1-4 (거리 4) 
1-5 (거리 3) 
2-3 (거리 3) 
2-4 (거리 4) 
3-4 (거리 3) 
3-5 (거리 4) 
4-5 (거리 3) 

W3sicHJvYmxlbV9pZCI6IjU0NzYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM3YTVcdWIwOWNcdWFjMTAgXHViM2Q5XHViYjNjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWMwYzFcdWFkZmNcdWM3NzRcdWM2NDAgXHVjMTIwXHVjNjAxXHVjNzc0XHViMjk0IFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NDQgXHVhYzAwXHVjOWMwXHVhY2UwIFx1YzdhY1x1YmJmOFx1Yzc4OFx1YWM4YyBcdWIxODBcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWJhM2NcdWM4MDAsIFx1YzU0NFx1Yjc5OCBcdWMxMzggXHVhYzAwXHVjOWMwIFx1YWM4Y1x1Yzc4NFx1ZDMxMCBcdWM5MTEgXHVkNTU4XHViMDk4XHViOTdjIFx1YzEyMFx1ZDBkZFx1ZDU1Y1x1YjJlNC4gXHVhYzAxIFx1YWM4Y1x1Yzc4NFx1ZDMxMFx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1Y2U3OChcdWFkZjhcdWI5YmNcdWM1ZDBcdWIyOTQgXHViM2Q5XHVhZGY4XHViNzdjXHViYmY4KVx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVhY2UwLCBcdWFjMDEgXHVhYzhjXHVjNzg0XHVkMzEwXHVjNzQwIFx1Yzc3Y1x1Y2MyOFx1YzZkMCwgXHVjNzc0XHVjYzI4XHVjNmQwLCBcdWMwYmNcdWNjMjhcdWM2ZDAgXHViYWE4XHVjNTkxXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzI4ZGUyYzI1LWZmNDQtNDBlYi1hOWY2LTQ1NWY0NzVmY2Q3Y1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogNjE2cHg7IGhlaWdodDogMTM0cHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YzBjMVx1YWRmY1x1Yzc3NFx1YjI5NCBOXHVhYzFjXHVjNzU4IFx1Yzc5MVx1Yzc0MCBcdWM3YTVcdWIwOWNcdWFjMTAgXHViM2Q5XHViYjNjXHVjNzQ0IFx1Y2U3OFx1YzVkMCBcdWIxMjNcdWIyOTRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1MCBcdWNlNzhcdWM3NTggXHVhYzcwXHViOWFjXHViMjk0IFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NzQgXHVkNTVjIFx1Y2U3OFx1YzVkMFx1YzExYyBcdWNkOWNcdWJjMWNcdWQ1NzRcdWMxMWMgXHViMmU0XHViOTc4IFx1Y2U3OFx1YzczY1x1Yjg1YyBcdWIzYzRcdWNjMjlcdWQ1NThcdWIyOTRcdWIzNzAgXHVkNTQ0XHVjNjk0XHVkNTVjIFx1Yzc3NFx1YjNkOVx1Yzc1OCBcdWQ2OWZcdWMyMThcdWM3NzRcdWIyZTQuIFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NDAgXHVjNzkwXHVjMmUwXHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWFjZmMgXHVjNzc4XHVjODExXHVkNTVjIFx1Y2U3OCBcdWM5MTEgXHVkNTU4XHViMDk4XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiAoXHVhYzAxIFx1Y2U3OFx1YWNmYyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHVjZTc4XHVjNzQwIFx1YWRmOFx1YjliY1x1YzVkMFx1YzExYyBcdWMxMjBcdWJkODRcdWM3M2NcdWI4NWMgXHVjNzc0XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNCk8XC9wPlxyXG5cclxuPHA+XHViNDUwIFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NzQgXHVjMTFjXHViODVjXHVjNzU4IFx1YzE4Y1x1YjlhY1x1Yjk3YyBcdWI0ZTRcdWM3M2NcdWI4MjRcdWJhNzQgXHViNDUwIFx1Y2U3OFx1Yzc1OCBcdWFjNzBcdWI5YWNcdWFjMDAgRFx1YmNmNFx1YjJlNCBcdWM3OTFcdWFjNzBcdWIwOTggXHVhYzE5XHVjNTQ0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVhYzhjXHVjNzg0XHVkMzEwXHVjNzU4IFx1Yzg4NVx1Yjk1OFx1YzY0MCBcdWFjMDEgXHVjN2E1XHViMDljXHVhYzEwIFx1YjNkOVx1YmIzY1x1Yzc1OCBcdWM3MDRcdWNlNTgsIFx1YWRmOFx1YjlhY1x1YWNlMCBEXHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsJm5ic3A7XHVjMTFjXHViODVjXHVjNzU4IFx1YzE4Y1x1YjlhY1x1Yjk3YyBcdWI0ZTRcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWM3YTVcdWIwOWNcdWFjMTAgXHViM2Q5XHViYjNjXHVjNzU4IFx1YzMwZFx1Yzc1OCBcdWFjMWNcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YjEyNCBcdWM4MTVcdWMyMTggQiwgTiwgRCwgTVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPkJcdWIyOTQgXHVhYzhjXHVjNzg0XHVkMzEwXHVjNzU4IFx1Yzg4NVx1Yjk1OFx1Yzc3NFx1YjJlNC4gKDEgJmxlOyBCICZsZTsgMykgXHViYjM4XHVjODFjIFx1YzEyNFx1YmE4NVx1Yzc1OCBcdWM2N2NcdWNhYmQgXHVhZGY4XHViOWJjXHVjNzc0IDFcdWJjODggXHVhYzhjXHVjNzg0XHVkMzEwLCBcdWM5MTFcdWFjMDQgXHVhZGY4XHViOWJjXHVjNzc0IDJcdWJjODgsIFx1YzYyNFx1Yjk3OFx1Y2FiZCBcdWFkZjhcdWI5YmNcdWM3NzQgM1x1YmM4OCBcdWFjOGNcdWM3ODRcdWQzMTBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPk5cdWM3NDAgXHVjN2E1XHViMDljXHVhYzEwIFx1YjNkOVx1YmIzY1x1Yzc1OCBcdWMyMThcdWM3NzRcdWIyZTQuICgxICZsZTsgTiAmbGU7IDEwMCwwMDApPFwvcD5cclxuXHJcbjxwPkRcdWIyOTQgXHViNDUwIFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NzQgXHVjMTFjXHViODVjXHVjNzU4IFx1YzE4Y1x1YjlhY1x1Yjk3YyBcdWI0ZTRcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWFjMDBcdWM3YTUgXHViYTNjIFx1YWM3MFx1YjlhY1x1Yzc3NFx1YjJlNC4gKDEgJmxlOyBEICZsZTsgMTAwLDAwMCwwMDApPFwvcD5cclxuXHJcbjxwPk1cdWM3NDAgXHVhYzhjXHVjNzg0XHVkMzEwXHVjNzU4IFx1ZDA2Y1x1YWUzMFx1Yzc3NFx1YjJlNC4gKFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWI0ZTRcdWM1YjRcdWM2MmMgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWFjMDBcdWM3YTUgXHVkMDcwIFx1Yzg4Y1x1ZDQ1Y1x1YWMxMikgQlx1YWMwMCAxXHVjNzc4IFx1YWNiZFx1YzZiMCBNXHVjNzQwIFx1Y2Q1Y1x1YjMwMCA3NSwwMDAsMDAwXHVjNzc0XHVhY2UwLCAyXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCA3NSwwMDAsIDNcdWM3NzggXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IDc1XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgTlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAxIFx1YzdhNVx1YjA5Y1x1YWMxMCBcdWIzZDlcdWJiM2NcdWM3NTggXHVjODhjXHVkNDVjXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViYWE4XHViNGUwIFx1Yzg4Y1x1ZDQ1Y1x1YjI5NCAxXHViY2Y0XHViMmU0IFx1ZDA2Y1x1YWM3MFx1YjA5OCBcdWFjMTlcdWFjZTAsIE1cdWJjZjRcdWIyZTQgXHVjNzkxXHVhYzcwXHViMDk4IFx1YWMxOVx1Yzc0MCBcdWM3OTBcdWM1ZjBcdWMyMThcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMxOVx1Yzc0MCBcdWNlNzhcdWM1ZDAgXHVjN2E1XHViMDljXHVhYzEwIFx1YjNkOVx1YmIzYyBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVhYzAwIFx1YjRlNFx1YzViNFx1YWMwMCBcdWM3ODhcdWM3NDQgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzExY1x1Yjg1Y1x1Yzc1OCBcdWMxOGNcdWI5YWNcdWI5N2MgXHViNGU0XHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjN2E1XHViMDljXHVhYzEwIFx1YjNkOVx1YmIzY1x1Yzc1OCBcdWMzMGRcdWM3NTggXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+MS0yIChcdWFjNzBcdWI5YWMgMikmbmJzcDs8YnIgXC8+XHJcbjEtNCAoXHVhYzcwXHViOWFjIDQpJm5ic3A7PGJyIFwvPlxyXG4xLTUgKFx1YWM3MFx1YjlhYyAzKSZuYnNwOzxiciBcLz5cclxuMi0zIChcdWFjNzBcdWI5YWMgMykmbmJzcDs8YnIgXC8+XHJcbjItNCAoXHVhYzcwXHViOWFjIDQpJm5ic3A7PGJyIFwvPlxyXG4zLTQgKFx1YWM3MFx1YjlhYyAzKSZuYnNwOzxiciBcLz5cclxuMy01IChcdWFjNzBcdWI5YWMgNCkmbmJzcDs8YnIgXC8+XHJcbjQtNSAoXHVhYzcwXHViOWFjIDMpJm5ic3A7PFwvcD5cclxuIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiI1NDc2IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUEFJUlMiLCJkZXNjcmlwdGlvbiI6IjxwPk1pcmtvIGFuZCBTbGF2a28gYXJlIHBsYXlpbmcgd2l0aCB0b3kgYW5pbWFscy4gRmlyc3QsIHRoZXkgY2hvb3NlIG9uZSBvZiB0aHJlZSBib2FyZHMgZ2l2ZW4gaW4gdGhlIGZpZ3VyZSBiZWxvdy4gRWFjaCBib2FyZCBjb25zaXN0cyBvZiBjZWxscyAoc2hvd24gYXMgY2lyY2xlcyBpbiB0aGUgZmlndXJlKSBhcnJhbmdlZCBpbnRvIGEgb25lLCB0d28gb3IgdGhyZWUgZGltZW5zaW9uYWwgZ3JpZC4mbmJzcDs8XC9wPlxyXG5cclxuPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWQgdGQtY2VudGVyIHRoLWNlbnRlclwiPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNDIwN2JmMWMtYzQxYy00MmNhLThhMzAtZGQ1YzRkMWMxMzU0XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAxMzZweDsgaGVpZ2h0OiAxMzRweDtcIiBcLz48XC90ZD5cclxuXHRcdFx0PHRkPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNDgxNTZlMTEtZTRjOS00ODlmLWFkM2EtMjhkYTU4YzJhMzY3XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAxNDNweDsgaGVpZ2h0OiAxMzRweDtcIiBcLz48XC90ZD5cclxuXHRcdFx0PHRkPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvZjU1NzgyN2MtYzA3MS00MjRjLThmMTAtYmYzMjU3YmQ2OThiXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cIndpZHRoOiAyMThweDsgaGVpZ2h0OiAxMzRweDtcIiBcLz48XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG5cdDx0Zm9vdD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoPkJvYXJkIDE8XC90aD5cclxuXHRcdFx0PHRoPkJvYXJkIDI8XC90aD5cclxuXHRcdFx0PHRoPkJvYXJkIDM8XC90aD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rmb290PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPk1pcmtvIHRoZW4gcGxhY2VzIE4gbGl0dGxlIHRveSBhbmltYWxzIGludG8gdGhlIGNlbGxzLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgZGlzdGFuY2UgYmV0d2VlbiB0d28gY2VsbHMgaXMgdGhlIHNtYWxsZXN0IG51bWJlciBvZiBtb3ZlcyB0aGF0IGFuIGFuaW1hbCB3b3VsZCBuZWVkIGluIG9yZGVyIHRvIHJlYWNoIG9uZSBjZWxsIGZyb20gdGhlIG90aGVyLiBJbiBvbmUgbW92ZSwgdGhlIGFuaW1hbCBtYXkgc3RlcCBpbnRvIG9uZSBvZiB0aGUgYWRqYWNlbnQgY2VsbHMgKGNvbm5lY3RlZCBieSBsaW5lIHNlZ21lbnRzIGluIHRoZSBmaWd1cmUpLiZuYnNwOzxcL3A+XHJcblxyXG48cD5Ud28gYW5pbWFscyBjYW4gaGVhciBlYWNoIG90aGVyIGlmIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZWlyIGNlbGxzIGlzIGF0IG1vc3QgRC4gU2xhdmtvJiMzOTtzIHRhc2sgaXMgdG8gY2FsY3VsYXRlIGhvdyBtYW55IHBhaXJzIG9mIGFuaW1hbHMgdGhlcmUgYXJlIHN1Y2ggdGhhdCBvbmUgYW5pbWFsIGNhbiBoZWFyIHRoZSBvdGhlci48XC9wPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtIHRoYXQsIGdpdmVuIHRoZSBib2FyZCB0eXBlLCB0aGUgbG9jYXRpb25zIG9mIGFsbCBhbmltYWxzLCBhbmQgdGhlIG51bWJlciBELCBmaW5kcyB0aGUgZGVzaXJlZCBudW1iZXIgb2YgcGFpcnMuJm5ic3A7PFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyBmb3VyIGludGVnZXJzIGluIHRoaXMgb3JkZXI6Jm5ic3A7PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+VGhlIGJvYXJkIHR5cGUgQiAoMSAmbGU7IEIgJmxlOyAzKTsmbmJzcDs8XC9saT5cclxuXHQ8bGk+VGhlIG51bWJlciBvZiBhbmltYWxzIE4gKDEgJmxlOyBOICZsZTsgMTAwIDAwMCk7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBsYXJnZXN0IGRpc3RhbmNlIEQgYXQgd2hpY2ggdHdvIGFuaW1hbHMgY2FuIGhlYXIgZWFjaCBvdGhlciAoMSAmbGU7IEQgJmxlOyAxMDAgMDAwIDAwMCk7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBzaXplIG9mIHRoZSBib2FyZCBNICh0aGUgbGFyZ2VzdCBjb29yZGluYXRlIGFsbG93ZWQgdG8gYXBwZWFyIGluIHRoZSBpbnB1dCk6Jm5ic3A7XHJcblx0PHVsPlxyXG5cdFx0PGxpPldoZW4gQj0xLCBNIHdpbGwgYmUgYXQgbW9zdCA3NSAwMDAgMDAwLiZuYnNwOzxcL2xpPlxyXG5cdFx0PGxpPldoZW4gQj0yLCBNIHdpbGwgYmUgYXQgbW9zdCA3NSAwMDAuJm5ic3A7PFwvbGk+XHJcblx0XHQ8bGk+V2hlbiBCPTMsIE0gd2lsbCBiZSBhdCBtb3N0IDc1LiZuYnNwOzxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIGZvbGxvd2luZyBOIGxpbmVzIGNvbnRhaW5zIEIgaW50ZWdlcnMgc2VwYXJhdGVkIGJ5IHNpbmdsZSBzcGFjZXMsIHRoZSBjb29yZGluYXRlcyBvZiBvbmUgdG95IGFuaW1hbC4mbmJzcDs8XC9wPlxyXG5cclxuPHA+RWFjaCBjb29yZGluYXRlIHdpbGwgYmUgYmV0d2VlbiAxIGFuZCBNIChpbmNsdXNpdmUpLiZuYnNwOzxcL3A+XHJcblxyXG48cD5Nb3JlIHRoYW4gb25lIGFuaW1hbCBtYXkgb2NjdXB5IHRoZSBzYW1lIGNlbGwuJm5ic3A7PFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IHNob3VsZCBjb25zaXN0IG9mIGEgc2luZ2xlIGludGVnZXIsIHRoZSBudW1iZXIgb2YgcGFpcnMgb2YgYW5pbWFscyB0aGF0IGNhbiBoZWFyIGVhY2ggb3RoZXIuJm5ic3A7PFwvcD5cclxuXHJcbjxwPk5vdGU6IHVzZSBhIDY0LWJpdCBpbnRlZ2VyIHR5cGUgdG8gY2FsY3VsYXRlIGFuZCBvdXRwdXQgdGhlIHJlc3VsdCAobG9uZyBsb25nIGluIENcL0MrKywgaW50NjQgaW4gUGFzY2FsKS4mbmJzcDs8XC9wPlxyXG4iLCJoaW50IjoiPHA+VGhlIGVpZ2h0IHBhaXJzIGFyZTombmJzcDs8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xLTIgKGRpc3RhbmNlIDIpJm5ic3A7PFwvbGk+XHJcblx0PGxpPjEtNCAoZGlzdGFuY2UgNCkmbmJzcDs8XC9saT5cclxuXHQ8bGk+MS01IChkaXN0YW5jZSAzKSZuYnNwOzxcL2xpPlxyXG5cdDxsaT4yLTMgKGRpc3RhbmNlIDMpJm5ic3A7PFwvbGk+XHJcblx0PGxpPjItNCAoZGlzdGFuY2UgNCkmbmJzcDs8XC9saT5cclxuXHQ8bGk+My00IChkaXN0YW5jZSAzKSZuYnNwOzxcL2xpPlxyXG5cdDxsaT4zLTUgKGRpc3RhbmNlIDQpJm5ic3A7PFwvbGk+XHJcblx0PGxpPjQtNSAoZGlzdGFuY2UgMykmbmJzcDs8XC9saT5cclxuPFwvdWw+XHJcbiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==

출처

Olympiad > International Olympiad in Informatics > IOI 2007 > Day 2 5번