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

문제

세상에서 제일 바쁜 동혁이는 팬케익을 좋아한다. 오늘은 집에서 팬케익을 만들어 먹기로 결심했다. 주방을 뒤져 열심히 팬케익을 만들 재료 4가지 밀가루, 우유, 계란, 잼을 찾았지만, 집에는 재료가 하나도 없었다. 그는 주변의 상점을 돌아다니면서 재료를 사오려고 한다.

동혁이네 동네에는 교차로가 N개 있고, 1번부터 N번까지 번호가 매겨져 있다. 그리고 도로는 총 R개가 있고, 교차로와 교차로를 잇는다.

동혁이는 지금 1번 교차로에 있다. 각 도로에는 상점이 항상 1개가 있고, 상점에서는 4개 재료 중 일부만 팔 수도 있고, 모두 팔 수도 있다. 상점을 방문하지 않고 도로를 지나는데 걸리는 시간은 1분이고, 상점을 방문해 재료를 구매하고 지나면 2분이 걸린다.

동혁이는 모든 재료를 구한 뒤, 1번 교차로로 다시 돌아오려고 한다. 그는 재료를 모두 구했다고 하더라도 상점간의 가격 비교를 위해서 상점을 방문할 수 있다.

아래와 같이 교차로 5개, 도로 7개인 경우를 살펴보자. (밀가루: B, 계란: J, 우유: M, 잼: P)

위와 같은 경우라면, 7분안에 모든 재료를 구하는 서로 다른 방법은 아래와 같이 5가지가 있다.

1분 2분 3분 4분 5분 6분 7분
1→3 3->상점->4 4→상점→1    
1→상점→2 2→상점→4 4→상점→1  
1→상점→3 3→상점→4 4→상점→1  
1→상점→3 3→상점→4 4→5 4→상점→1
1→3 3→상점→4 4→상점→5 5→상점→1

동혁이가 1번 교차로에서 출발서 모든 재료를 구한 뒤 다시 1번 교차로로 K분안에 돌아오는 서로 다른 방법의 수를 구하는 프로그램을 작성하시오.

이 숫자는 매우 커질 수 있으므로 5557로 나눈 나머지를 출력한다.

입력

첫째 줄에 N과 R이 주어진다. (1<=N<=25, 1<=R<=500)

둘째 줄부터 R개의 줄에는 도로의 정보가 주어진다. 도로의 정보는 서로 다른 정수 u, v와 문자열 s가 공백으로 구분되어 있다. u와 v를 잇는 도로가 있고, 여기에 있는 상점에서 파는 재료는 s라는 의미이며, s는 1글자~4글자 알파벳 대문자이며, 밀가루는 B, 달걀은 J, 우유는 M, 잼은 P이다. 두 교차로 사이에는 도로가 최대 2개까지 있을 수 있으며, 2개인 경우에는 방향이 서로 달라야 한다. (u->v와 v->u)

마지막 줄에는 동혁이가 모든 재료를 구하고 다시 돌아 와야 하는 시간 제한 K(1<=K<=1,000,000,000)가 주어진다.

출력

첫째 줄에 동혁이가 K분 안에 모든 재료를 구하고 다시 1번 교차로로 돌아오는 서로 다른 방법의 수를 5557로 나눈 나머지를 출력한다.

예제 입력 1

3 3
1 2 BMJ
2 3 MJP
3 1 JPB
5

예제 출력 1

3

예제 입력 2

3 4
1 2 B
2 1 P
1 3 J
3 1 M
8

예제 출력 2

2

예제 입력 3

5 7
1 2 B
2 4 M
1 3 J
3 4 MB
4 1 JP
4 5 J
5 1 P
7

예제 출력 3

5
W3sicHJvYmxlbV9pZCI6IjI5MDciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM3YWNcdWI4Y2MgXHVjMGFjXHViN2VjIFx1YWMwMFx1YjI5NCBcdWFlMzgiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzEzOFx1YzBjMVx1YzVkMFx1YzExYyBcdWM4MWNcdWM3N2MgXHViYzE0XHVjMDVjIFx1YjNkOVx1ZDYwMVx1Yzc3NFx1YjI5NCBcdWQzMmNcdWNmMDBcdWM3NzVcdWM3NDQgXHVjODhiXHVjNTQ0XHVkNTVjXHViMmU0LiBcdWM2MjRcdWIyOThcdWM3NDAgXHVjOWQxXHVjNWQwXHVjMTFjIFx1ZDMyY1x1Y2YwMFx1Yzc3NVx1Yzc0NCBcdWI5Y2NcdWI0ZTRcdWM1YjQgXHViYTM5XHVhZTMwXHViODVjIFx1YWNiMFx1YzJlY1x1ZDU4OFx1YjJlNC4gXHVjOGZjXHViYzI5XHVjNzQ0IFx1YjRhNFx1YzgzOCBcdWM1ZjRcdWMyZWNcdWQ3ODggXHVkMzJjXHVjZjAwXHVjNzc1XHVjNzQ0IFx1YjljY1x1YjRlNCBcdWM3YWNcdWI4Y2MgNFx1YWMwMFx1YzljMCBcdWJjMDBcdWFjMDBcdWI4ZTgsIFx1YzZiMFx1YzcyMCwgXHVhY2M0XHViNzgwLCBcdWM3YmNcdWM3NDQgXHVjYzNlXHVjNTU4XHVjOWMwXHViOWNjLCBcdWM5ZDFcdWM1ZDBcdWIyOTQgXHVjN2FjXHViOGNjXHVhYzAwIFx1ZDU1OFx1YjA5OFx1YjNjNCBcdWM1YzZcdWM1YzhcdWIyZTQuIFx1YWRmOFx1YjI5NCBcdWM4ZmNcdWJjYzBcdWM3NTggXHVjMGMxXHVjODEwXHVjNzQ0IFx1YjNjY1x1YzU0NFx1YjJlNFx1YjJjOFx1YmE3NFx1YzExYyBcdWM3YWNcdWI4Y2NcdWI5N2MgXHVjMGFjXHVjNjI0XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViM2Q5XHVkNjAxXHVjNzc0XHViMTI0IFx1YjNkOVx1YjEyNFx1YzVkMFx1YjI5NCBcdWFkNTBcdWNjMjhcdWI4NWNcdWFjMDAgTlx1YWMxYyBcdWM3ODhcdWFjZTAsIDFcdWJjODhcdWJkODBcdWQxMzAgTlx1YmM4OFx1YWU0Y1x1YzljMCBcdWJjODhcdWQ2MzhcdWFjMDAgXHViOWU0XHVhY2E4XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVhZGY4XHViOWFjXHVhY2UwIFx1YjNjNFx1Yjg1Y1x1YjI5NCBcdWNkMWQgUlx1YWMxY1x1YWMwMCBcdWM3ODhcdWFjZTAsIFx1YWQ1MFx1Y2MyOFx1Yjg1Y1x1YzY0MCBcdWFkNTBcdWNjMjhcdWI4NWNcdWI5N2MgXHVjNzg3XHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIzZDlcdWQ2MDFcdWM3NzRcdWIyOTQgXHVjOWMwXHVhZTA4IDFcdWJjODggXHVhZDUwXHVjYzI4XHViODVjXHVjNWQwIFx1Yzc4OFx1YjJlNC4gXHVhYzAxIFx1YjNjNFx1Yjg1Y1x1YzVkMFx1YjI5NCBcdWMwYzFcdWM4MTBcdWM3NzQgXHVkNTZkXHVjMGMxIDFcdWFjMWNcdWFjMDAgXHVjNzg4XHVhY2UwLCBcdWMwYzFcdWM4MTBcdWM1ZDBcdWMxMWNcdWIyOTQgNFx1YWMxYyBcdWM3YWNcdWI4Y2MgXHVjOTExIFx1Yzc3Y1x1YmQ4MFx1YjljYyBcdWQzMTQgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YWNlMCwgXHViYWE4XHViNDUwIFx1ZDMxNCBcdWMyMThcdWIzYzQgXHVjNzg4XHViMmU0LiBcdWMwYzFcdWM4MTBcdWM3NDQgXHViYzI5XHViYjM4XHVkNTU4XHVjOWMwIFx1YzU0YVx1YWNlMCBcdWIzYzRcdWI4NWNcdWI5N2MgXHVjOWMwXHViMDk4XHViMjk0XHViMzcwIFx1YWM3OFx1YjlhY1x1YjI5NCBcdWMyZGNcdWFjMDRcdWM3NDAgMVx1YmQ4NFx1Yzc3NFx1YWNlMCwgXHVjMGMxXHVjODEwXHVjNzQ0IFx1YmMyOVx1YmIzOFx1ZDU3NCBcdWM3YWNcdWI4Y2NcdWI5N2MgXHVhZDZjXHViOWU0XHVkNTU4XHVhY2UwIFx1YzljMFx1YjA5OFx1YmE3NCAyXHViZDg0XHVjNzc0IFx1YWM3OFx1YjliMFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViM2Q5XHVkNjAxXHVjNzc0XHViMjk0IFx1YmFhOFx1YjRlMCBcdWM3YWNcdWI4Y2NcdWI5N2MgXHVhZDZjXHVkNTVjIFx1YjRhNCwgMVx1YmM4OCBcdWFkNTBcdWNjMjhcdWI4NWNcdWI4NWMgXHViMmU0XHVjMmRjIFx1YjNjY1x1YzU0NFx1YzYyNFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YWRmOFx1YjI5NCBcdWM3YWNcdWI4Y2NcdWI5N2MgXHViYWE4XHViNDUwIFx1YWQ2Y1x1ZDU4OFx1YjJlNFx1YWNlMCBcdWQ1NThcdWIzNTRcdWI3N2NcdWIzYzQgXHVjMGMxXHVjODEwXHVhYzA0XHVjNzU4IFx1YWMwMFx1YWNhOSBcdWJlNDRcdWFkNTBcdWI5N2MgXHVjNzA0XHVkNTc0XHVjMTFjIFx1YzBjMVx1YzgxMFx1Yzc0NCBcdWJjMjlcdWJiMzhcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWFkNTBcdWNjMjhcdWI4NWMgNVx1YWMxYywgXHViM2M0XHViODVjIDdcdWFjMWNcdWM3NzggXHVhY2JkXHVjNmIwXHViOTdjIFx1YzBiNFx1ZDNiNFx1YmNmNFx1Yzc5MC4gKFx1YmMwMFx1YWMwMFx1YjhlODogQiwgXHVhY2M0XHViNzgwOiBKLCBcdWM2YjBcdWM3MjA6IE0sIFx1YzdiYzogUCk8XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9hMjA0MmMxMC1kNjIwLTRjOTUtYTJiZS0yYzhiMGM5YmIwZWNcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwid2lkdGg6IDE4NHB4OyBoZWlnaHQ6IDE3NXB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5cdWM3MDRcdWM2NDAgXHVhYzE5XHVjNzQwIFx1YWNiZFx1YzZiMFx1Yjc3Y1x1YmE3NCwgN1x1YmQ4NFx1YzU0OFx1YzVkMCBcdWJhYThcdWI0ZTAgXHVjN2FjXHViOGNjXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzc0IDVcdWFjMDBcdWM5YzBcdWFjMDAgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTQlXCI+MVx1YmQ4NDxcL3RkPlxyXG5cdFx0XHQ8dGQgc3R5bGU9XCJ3aWR0aDoxNCVcIj4yXHViZDg0PFwvdGQ+XHJcblx0XHRcdDx0ZCBzdHlsZT1cIndpZHRoOjE0JVwiPjNcdWJkODQ8XC90ZD5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTQlXCI+NFx1YmQ4NDxcL3RkPlxyXG5cdFx0XHQ8dGQgc3R5bGU9XCJ3aWR0aDoxNCVcIj41XHViZDg0PFwvdGQ+XHJcblx0XHRcdDx0ZCBzdHlsZT1cIndpZHRoOjE1JVwiPjZcdWJkODQ8XC90ZD5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTUlXCI+N1x1YmQ4NDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGhlYWQ+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MSZyYXJyOzM8XC90ZD5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+My0mZ3Q7XHVjMGMxXHVjODEwLSZndDs0PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtcdWMwYzFcdWM4MTAmcmFycjsxPFwvdGQ+XHJcblx0XHRcdDx0ZD4mbmJzcDs8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjEmcmFycjtcdWMwYzFcdWM4MTAmcmFycjsyPFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjImcmFycjtcdWMwYzFcdWM4MTAmcmFycjs0PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtcdWMwYzFcdWM4MTAmcmFycjsxPFwvdGQ+XHJcblx0XHRcdDx0ZD4mbmJzcDs8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4xJnJhcnI7XHVjMGMxXHVjODEwJnJhcnI7MzxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4zJnJhcnI7XHVjMGMxXHVjODEwJnJhcnI7NDxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj40JnJhcnI7XHVjMGMxXHVjODEwJnJhcnI7MTxcL3RkPlxyXG5cdFx0XHQ8dGQ+Jm5ic3A7PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+MSZyYXJyO1x1YzBjMVx1YzgxMCZyYXJyOzM8XC90ZD5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+MyZyYXJyO1x1YzBjMVx1YzgxMCZyYXJyOzQ8XC90ZD5cclxuXHRcdFx0PHRkPjQmcmFycjs1PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtcdWMwYzFcdWM4MTAmcmFycjsxPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjEmcmFycjszPFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjMmcmFycjtcdWMwYzFcdWM4MTAmcmFycjs0PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtcdWMwYzFcdWM4MTAmcmFycjs1PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjUmcmFycjtcdWMwYzFcdWM4MTAmcmFycjsxPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5cdWIzZDlcdWQ2MDFcdWM3NzRcdWFjMDAgMVx1YmM4OCBcdWFkNTBcdWNjMjhcdWI4NWNcdWM1ZDBcdWMxMWMgXHVjZDljXHViYzFjXHVjMTFjIFx1YmFhOFx1YjRlMCBcdWM3YWNcdWI4Y2NcdWI5N2MgXHVhZDZjXHVkNTVjIFx1YjRhNCBcdWIyZTRcdWMyZGMgMVx1YmM4OCBcdWFkNTBcdWNjMjhcdWI4NWNcdWI4NWMgS1x1YmQ4NFx1YzU0OFx1YzVkMCBcdWIzY2NcdWM1NDRcdWM2MjRcdWIyOTQgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCBcdWJjMjlcdWJjOTVcdWM3NTggXHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG48cD5cdWM3NzQgXHVjMjJiXHVjNzkwXHViMjk0IFx1YjllNFx1YzZiMCBcdWNlZTRcdWM5YzggXHVjMjE4IFx1Yzc4OFx1YzczY1x1YmJjMFx1Yjg1YyA1NTU3XHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBOXHVhY2ZjIFJcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoMSZsdDs9TiZsdDs9MjUsIDEmbHQ7PVImbHQ7PTUwMCk8XC9wPlxyXG5cclxuPHA+XHViNDU4XHVjOWY4IFx1YzkwNFx1YmQ4MFx1ZDEzMCBSXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWIzYzRcdWI4NWNcdWM3NTggXHVjODE1XHViY2Y0XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViM2M0XHViODVjXHVjNzU4IFx1YzgxNVx1YmNmNFx1YjI5NCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YzgxNVx1YzIxOCB1LCB2XHVjNjQwIFx1YmIzOFx1Yzc5MFx1YzVmNCBzXHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0LiB1XHVjNjQwIHZcdWI5N2MgXHVjNzg3XHViMjk0IFx1YjNjNFx1Yjg1Y1x1YWMwMCBcdWM3ODhcdWFjZTAsIFx1YzVlY1x1YWUzMFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVjMGMxXHVjODEwXHVjNWQwXHVjMTFjIFx1ZDMwY1x1YjI5NCBcdWM3YWNcdWI4Y2NcdWIyOTQgc1x1Yjc3Y1x1YjI5NCBcdWM3NThcdWJiZjhcdWM3NzRcdWJhNzAsIHNcdWIyOTQgMVx1YWUwMFx1Yzc5MH40XHVhZTAwXHVjNzkwIFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWIzMDBcdWJiMzhcdWM3OTBcdWM3NzRcdWJhNzAsIFx1YmMwMFx1YWMwMFx1YjhlOFx1YjI5NCBCLCBcdWIyZWNcdWFjNDBcdWM3NDAgSiwgXHVjNmIwXHVjNzIwXHViMjk0IE0sIFx1YzdiY1x1Yzc0MCBQXHVjNzc0XHViMmU0LiBcdWI0NTAgXHVhZDUwXHVjYzI4XHViODVjIFx1YzBhY1x1Yzc3NFx1YzVkMFx1YjI5NCBcdWIzYzRcdWI4NWNcdWFjMDAgXHVjZDVjXHViMzAwIDJcdWFjMWNcdWFlNGNcdWM5YzAgXHVjNzg4XHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJhNzAsIDJcdWFjMWNcdWM3NzggXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1YmMyOVx1ZDVhNVx1Yzc3NCBcdWMxMWNcdWI4NWMgXHViMmVjXHViNzdjXHVjNTdjIFx1ZDU1Y1x1YjJlNC4gKHUtJmd0O3ZcdWM2NDAgdi0mZ3Q7dSk8XC9wPlxyXG5cclxuPHA+XHViOWM4XHVjOWMwXHViOWM5IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWIzZDlcdWQ2MDFcdWM3NzRcdWFjMDAgXHViYWE4XHViNGUwIFx1YzdhY1x1YjhjY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWFjZTAgXHViMmU0XHVjMmRjIFx1YjNjY1x1YzU0NCBcdWM2NDBcdWM1N2MgXHVkNTU4XHViMjk0IFx1YzJkY1x1YWMwNCBcdWM4MWNcdWQ1NWMgSygxJmx0Oz1LJmx0Oz0xLDAwMCwwMDAsMDAwKVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWIzZDlcdWQ2MDFcdWM3NzRcdWFjMDAgS1x1YmQ4NCBcdWM1NDhcdWM1ZDAgXHViYWE4XHViNGUwIFx1YzdhY1x1YjhjY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWFjZTAgXHViMmU0XHVjMmRjIDFcdWJjODggXHVhZDUwXHVjYzI4XHViODVjXHViODVjIFx1YjNjY1x1YzU0NFx1YzYyNFx1YjI5NCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmMyOVx1YmM5NVx1Yzc1OCBcdWMyMThcdWI5N2MgNTU1N1x1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyOTA3IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUEFMQUNJTktFIiwiZGVzY3JpcHRpb24iOiI8cD5BbmEgaGFzIGEgY291cGxlIG9mIGNsYXNzbWF0ZXMgY29taW5nIG92ZXIgZm9yIGNyJmVjaXJjO3BlcyAoa25vd24gYXMgcGFsYVx1MDEwZGlua2UgaW4gQ3JvYXRpYW4pLiBUaGV5IGFyZSBjb21pbmcgaW4gVCBtaW51dGVzLCBhbmQgQW5hIGp1c3QgZm91bmQgb3V0IHRoYXQgc2hlIGhhcyBuZWl0aGVyIG9uZSBvZiB0aGUgZm91ciByZXF1aXJlZCBpbmdyZWRpZW50cyAoZmxvdXIsIG1pbGssIGVnZ3MgYW5kIGphbSkuIFNoZSBob3BzIGludG8gaGVyIGNhciBhbmQgZHJpdmVzIGFyb3VuZCBoZXIgbmVpZ2hib3VyaG9vZCBidXlpbmcgc3VwcGxpZXMuPFwvcD5cclxuXHJcbjxwPkhlciBuZWlnaGJvdXJob29kIGNvbnRhaW5zIE4gY3Jvc3Nyb2FkcyBudW1iZXJlZCAxIHRvIE4sIGFuZCBNIG9uZSB3YXkgcm9hZHMgY29ubmVjdGluZyB0aGVtLiBBbmEgc3RhcnRzIG9uIGNyb3Nzcm9hZCAxLiBPbiBlYWNoIHJvYWQgdGhlcmUgaXMgZXhhY3RseSBvbmUgc2hvcCwgc2VsbGluZyBzb21lLCBtYXliZSBhbGwsIGluZ3JlZGllbnRzLjxcL3A+XHJcblxyXG48cD5BbmEgbmVlZHMgMSBtaW51dGUgdG8gZHJpdmUgZG93biBhbnkgZ2l2ZW4gcm9hZCBpZiBzaGUgZG9lcyBub3Qgc3RvcCBpbiB0aGUgc2hvcCwgb3IgMiBtaW51dGVzIGlmIHNoZSBkb2VzLiBTaGUgbmVlZHMgdG8gb2J0YWluIGFsbCBpbmdyZWRpZW50cyBhbmQgZHJpdmUgYmFjayB0byBjcm9zc3JvYWQgb25lIGluIHRpbWUuIFNoZSBsaWtlcyB0byBjb21wYXJlIHNob3AgcHJpY2VzIHNvIHNoZSBtYXkgZW50ZXIgYSBzaG9wIGV2ZW4gaWYgc2hlIGFscmVhZHkgaGFzIGFsbCBpbmdyZWRpZW50cy48XC9wPlxyXG5cclxuPHA+Q29uc2lkZXIgdGhlIGZvbGxvd2luZyBleGFtcGxlIHdpdGggNSBjcm9zc3JvYWRzIGFuZCA3IHJvYWRzLjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2EyMDQyYzEwLWQ2MjAtNGM5NS1hMmJlLTJjOGIwYzliYjBlY1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMTg0cHg7IGhlaWdodDogMTc1cHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPkFuYSBjYW4gbWFrZSB0aGUgaW5ncmVkaWVudCBydW4gaW4gNSBkaWZmZXJlbnQgd2F5cywgYXMgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTQlXCI+MS4gbWludXRlPFwvdGQ+XHJcblx0XHRcdDx0ZCBzdHlsZT1cIndpZHRoOjE0JVwiPjIuIG1pbnV0ZTxcL3RkPlxyXG5cdFx0XHQ8dGQgc3R5bGU9XCJ3aWR0aDoxNCVcIj4zLiBtaW51dGU8XC90ZD5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTQlXCI+NC4gbWludXRlPFwvdGQ+XHJcblx0XHRcdDx0ZCBzdHlsZT1cIndpZHRoOjE0JVwiPjUuIG1pbnV0ZTxcL3RkPlxyXG5cdFx0XHQ8dGQgc3R5bGU9XCJ3aWR0aDoxNSVcIj42LiBtaW51dGU8XC90ZD5cclxuXHRcdFx0PHRkIHN0eWxlPVwid2lkdGg6MTUlXCI+Ny4gbWludXRlPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xJnJhcnI7MzxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4zLSZndDtzaG9wLSZndDs0PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtzaG9wJnJhcnI7MTxcL3RkPlxyXG5cdFx0XHQ8dGQ+Jm5ic3A7PFwvdGQ+XHJcblx0XHRcdDx0ZD4mbmJzcDs8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4xJnJhcnI7c2hvcCZyYXJyOzI8XC90ZD5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+MiZyYXJyO3Nob3AmcmFycjs0PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtzaG9wJnJhcnI7MTxcL3RkPlxyXG5cdFx0XHQ8dGQ+Jm5ic3A7PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+MSZyYXJyO3Nob3AmcmFycjszPFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjMmcmFycjtzaG9wJnJhcnI7NDxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj40JnJhcnI7c2hvcCZyYXJyOzE8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjEmcmFycjtzaG9wJnJhcnI7MzxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4zJnJhcnI7c2hvcCZyYXJyOzQ8XC90ZD5cclxuXHRcdFx0PHRkPjQmcmFycjs1PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjQmcmFycjtzaG9wJnJhcnI7MTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xJnJhcnI7MzxcL3RkPlxyXG5cdFx0XHQ8dGQgY29sc3Bhbj1cIjJcIj4zJnJhcnI7c2hvcCZyYXJyOzQ8XC90ZD5cclxuXHRcdFx0PHRkIGNvbHNwYW49XCIyXCI+NCZyYXJyO3Nob3AmcmFycjs1PFwvdGQ+XHJcblx0XHRcdDx0ZCBjb2xzcGFuPVwiMlwiPjUmcmFycjtzaG9wJnJhcnI7MTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtIHRoYXQgd2lsbCBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgd2F5cyBBbmEgY2FuIGJ1eSB0aGUgaW5ncmVkaWVudHMgYW5kIHJldHVybiBob21lIGluIFQgbWludXRlcyBvciBsZXNzLiBTaW5jZSB0aGlzIG51bWJlciBjYW4gYmUgdmVyeSBsYXJnZSwgb3V0cHV0IGl0IG1vZHVsbyA1NTU3LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgY29udGFpbnMgdHdvIGludGVnZXJzIE4gYW5kIE0gKDEgJmxlOyBOICZsZTsgMjUsIDEgJmxlOyBNICZsZTsgNTAwKSwgbnVtYmVyIG9mIGNyb3Nzcm9hZHMgYW5kIHJvYWRzLjxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBuZXh0IE0gbGluZXMgY29udGFpbnMgdHdvIGRpZmZlcmVudCBpbnRlZ2VycyB1IGFuZCB2IGFuZCBhIHN0cmluZyBzLCBzZXBhcmF0ZWQgYnkgZXhhY3RseSBvbmUgc3BhY2UuIFRoZXkgZGVzY3JpYmUgYSByb2FkIGNvbm5lY3RpbmcgY3Jvc3Nyb2FkcyB1IGFuZCB2LCBhbmQgdGhlIHNob3AgbG9jYXRlZCBvbiB0aGUgcm9hZCBzZWxsaW5nIGluZ3JlZGllbnRzIHMuPFwvcD5cclxuXHJcbjxwPlRoZSBzdHJpbmcgcyB3aWxsIGNvbnRhaW4gYmV0d2VlbiAxIGFuZCA0IHVwcGVyY2FzZSBjaGFyYWN0ZXJzLiBDaGFyYWN0ZXIgJiMzOTtCJiMzOTsgZm9yIGZsb3VyLCAmIzM5O0omIzM5OyBmb3IgZWdncywgJiMzOTtNJiMzOTsgZm9yIG1pbGsgYW5kICYjMzk7UCYjMzk7IGZvciBqYW0uPFwvcD5cclxuXHJcbjxwPlRoZXJlIGFyZSBhdCBtb3N0IHR3byBkaXJlY3Qgcm9hZHMgYmV0d2VlbiB0d28gY3Jvc3Nyb2FkcywgYW5kIG9ubHkgaWYgdGhleSBhcmUgaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucy48XC9wPlxyXG5cclxuPHA+VGhlIGxhc3QgbGluZSBjb250YWlucyBvbmUgaW50ZWdlciBUICgxICZsZTsgVCAmbGU7IDEgMDAwIDAwMCAwMDApLCB0aW1lIHVudGlsIEFuYXMgZnJpZW5kcyBhcnJpdmUsIGluIG1pbnV0ZXMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+VGhlIGZpcnN0IGFuZCBvbmx5IGxpbmUgb2Ygb3V0cHV0IHNob3VsZCBjb250YWluIHRoZSBudW1iZXIgb2YgZGlmZmVyZW50IHdheXMgQW5hIGNhbiBidXkgdGhlIGluZ3JlZGllbnRzLCBtb2R1bG8gNTU1Ny48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

Contest > Croatian Open Competition in Informatics > COCI 2009/2010 > Contest #4 6번