시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 1185 157 97 19.675%

문제

김주성은 사실 뛰어난 발레 실력을 숨기고 있다. 그는 매일 밤 열심히 발레 연습을 한다.

그는 항상 연습하는 곳의 바닥을 m행 n열의 정사각형 칸들로 나누어 놓고 춤을 춘다. 그가 춤을 추는 방식은 이 직사각형 격자판 위를 점프하여 돌아다니는 것인데, 현재 위치하고 있는 칸에서 점프할 수 있는 위치는 체스판 위의 나이트 (knight)가 이동할 수 있는 곳과 같다. (나이트의 이동 규칙을 모르는 경우 검색해 볼 것. ㅜ.ㅜ) 김주성은 특정한 위치에서 춤을 시작하여, 특정한 위치에서 춤을 마치고 싶다.

밤중에 쿵쿵거리면 실례이므로, 바닥에 방석을 깔아 놓고 춤을 추려고 한다. 방석은 격자칸 한 칸에 꼭 맞는 크기이고, 몇 개의 칸에는 방석이 이미 놓여 있다. 특히, 김 조교가 현재 서 있는 위치와, 최종적으로 도달하려고 하는 위치에는 이미 방석이 놓여 있다.

여러분이 할 일은 최소한의 방석을 더 놓아서 김주성의 춤이 가능하도록 만들고, 그렇게 할 수 있는 방법이 모두 몇 가지인지 계산하는 것이다. 다만, 돌멩이가 놓여 있는 칸도 있는데, 그 부분에는 방석을 놓지 않는다. 부상의 위험이 있기 때문이다.

입력

첫째 줄에 m과 n이 주어진다. (1≤m, n≤30)

이어지는 m개의 줄에는 각 행의 정보를 제공하는 n개의 숫자가 주어진다. 0은 맨땅, 1은 방석이 깔린 곳 중 김주성이 춤을 시작하거나 마치지 않는 위치, 2는 돌멩이가 있는 위치, 3은 김주성이 춤을 시작하는 위치 (방석이 깔려 있음), 4는 김주성이 춤을 마치는 위치 (방석이 깔려 있음)이다.

출력

첫 줄에 필요한 최소의 방석 수를 출력한다. 만약 아무리 방석을 많이 놓아도 김주성의 춤이 불가능할 경우엔, -1을 출력한다. 둘째 줄엔 방석을 놓는 방법의 수를 출력한다. (이 수는 64-bit signed integer 범위 내에 있음을 보장한다.) 만약 첫 줄에 -1을 출력한 경우에는, 둘째 줄은 출력하지 않는다.

예제 입력 1

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

예제 출력 1

2
3

힌트

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

입출력 예시의 세 가지 경우는 다음과 같다. X표 친 곳에 방석을 놓으면 된다.

1 0 0 0 0     1 0 X 0 0     1 0 X 0 0
3 0 X 0 0     3 0 0 0 0     3 0 0 0 X
0 0 2 0 0     0 X 2 0 0     0 0 2 0 0
0 X 0 4 0     0 0 0 4 0     0 0 0 4 0
W3sicHJvYmxlbV9pZCI6IjE4NTciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJjMWNcdWI4MDhcdWI5YWNcdWIxNzgiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YWU0MFx1YzhmY1x1YzEzMVx1Yzc0MCBcdWMwYWNcdWMyZTQgXHViNmYwXHVjNWI0XHViMDljIFx1YmMxY1x1YjgwOCBcdWMyZTRcdWI4MjVcdWM3NDQgXHVjMjI4XHVhZTMwXHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHVhZGY4XHViMjk0IFx1YjllNFx1Yzc3YyBcdWJjMjQgXHVjNWY0XHVjMmVjXHVkNzg4IFx1YmMxY1x1YjgwOCBcdWM1ZjBcdWMyYjVcdWM3NDQgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFkZjhcdWIyOTQgXHVkNTZkXHVjMGMxIFx1YzVmMFx1YzJiNVx1ZDU1OFx1YjI5NCBcdWFjZjNcdWM3NTggXHViYzE0XHViMmU1XHVjNzQ0IG1cdWQ1ODkgblx1YzVmNFx1Yzc1OCBcdWM4MTVcdWMwYWNcdWFjMDFcdWQ2MTUgXHVjZTc4XHViNGU0XHViODVjIFx1YjA5OFx1YjIwNFx1YzViNCBcdWIxOTNcdWFjZTAgXHVjZGE0XHVjNzQ0IFx1Y2Q5OFx1YjJlNC4gXHVhZGY4XHVhYzAwIFx1Y2RhNFx1Yzc0NCBcdWNkOTRcdWIyOTQgXHViYzI5XHVjMmRkXHVjNzQwIFx1Yzc3NCBcdWM5YzFcdWMwYWNcdWFjMDFcdWQ2MTUgXHVhY2E5XHVjNzkwXHVkMzEwIFx1YzcwNFx1Yjk3YyBcdWM4MTBcdWQ1MDRcdWQ1NThcdWM1ZWMgXHViM2NjXHVjNTQ0XHViMmU0XHViMmM4XHViMjk0IFx1YWM4M1x1Yzc3OFx1YjM3MCwgXHVkNjA0XHVjN2FjIFx1YzcwNFx1Y2U1OFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWIyOTQgXHVjZTc4XHVjNWQwXHVjMTFjIFx1YzgxMFx1ZDUwNFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YzcwNFx1Y2U1OFx1YjI5NCBcdWNjYjRcdWMyYTRcdWQzMTAgXHVjNzA0XHVjNzU4IFx1YjA5OFx1Yzc3NFx1ZDJiOCAoa25pZ2h0KVx1YWMwMCBcdWM3NzRcdWIzZDlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWFjZjNcdWFjZmMgXHVhYzE5XHViMmU0LiAoXHViMDk4XHVjNzc0XHVkMmI4XHVjNzU4IFx1Yzc3NFx1YjNkOSBcdWFkZGNcdWNlNTlcdWM3NDQgXHViYWE4XHViOTc0XHViMjk0IFx1YWNiZFx1YzZiMCBcdWFjODBcdWMwYzlcdWQ1NzQgXHViY2ZjIFx1YWM4My4gXHUzMTVjLlx1MzE1YykgXHVhZTQwXHVjOGZjXHVjMTMxXHVjNzQwIFx1ZDJiOVx1YzgxNVx1ZDU1YyBcdWM3MDRcdWNlNThcdWM1ZDBcdWMxMWMgXHVjZGE0XHVjNzQ0IFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YzVlYywgXHVkMmI5XHVjODE1XHVkNTVjIFx1YzcwNFx1Y2U1OFx1YzVkMFx1YzExYyBcdWNkYTRcdWM3NDQgXHViOWM4XHVjZTU4XHVhY2UwIFx1YzJmNlx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYzI0XHVjOTExXHVjNWQwIFx1Y2ZmNVx1Y2ZmNVx1YWM3MFx1YjlhY1x1YmE3NCBcdWMyZTRcdWI4NDBcdWM3NzRcdWJiYzBcdWI4NWMsIFx1YmMxNFx1YjJlNVx1YzVkMCBcdWJjMjlcdWMxMWRcdWM3NDQgXHVhZTU0XHVjNTQ0IFx1YjE5M1x1YWNlMCBcdWNkYTRcdWM3NDQgXHVjZDk0XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHViYzI5XHVjMTFkXHVjNzQwIFx1YWNhOVx1Yzc5MFx1Y2U3OCBcdWQ1NWMgXHVjZTc4XHVjNWQwIFx1YWYyZCBcdWI5ZGVcdWIyOTQgXHVkMDZjXHVhZTMwXHVjNzc0XHVhY2UwLCBcdWJhODcgXHVhYzFjXHVjNzU4IFx1Y2U3OFx1YzVkMFx1YjI5NCBcdWJjMjlcdWMxMWRcdWM3NzQgXHVjNzc0XHViYmY4IFx1YjE5M1x1YzVlYyBcdWM3ODhcdWIyZTQuIFx1ZDJiOVx1ZDc4OCwgXHVhZTQwIFx1Yzg3MFx1YWQ1MFx1YWMwMCBcdWQ2MDRcdWM3YWMgXHVjMTFjIFx1Yzc4OFx1YjI5NCBcdWM3MDRcdWNlNThcdWM2NDAsIFx1Y2Q1Y1x1Yzg4NVx1YzgwMVx1YzczY1x1Yjg1YyBcdWIzYzRcdWIyZWNcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OFx1YzVkMFx1YjI5NCBcdWM3NzRcdWJiZjggXHViYzI5XHVjMTFkXHVjNzc0IFx1YjE5M1x1YzVlYyBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc3NCBcdWQ1NjAgXHVjNzdjXHVjNzQwIFx1Y2Q1Y1x1YzE4Y1x1ZDU1Y1x1Yzc1OCBcdWJjMjlcdWMxMWRcdWM3NDQgXHViMzU0IFx1YjE5M1x1YzU0NFx1YzExYyBcdWFlNDBcdWM4ZmNcdWMxMzFcdWM3NTggXHVjZGE0XHVjNzc0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjNjNFx1Yjg1ZCBcdWI5Y2NcdWI0ZTRcdWFjZTAsIFx1YWRmOFx1YjgwN1x1YWM4YyBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHViYWE4XHViNDUwIFx1YmE4NyBcdWFjMDBcdWM5YzBcdWM3NzhcdWM5YzAgXHVhY2M0XHVjMGIwXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHViMmU0XHViOWNjLCBcdWIzY2NcdWJhNjlcdWM3NzRcdWFjMDAgXHViMTkzXHVjNWVjIFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWIzYzQgXHVjNzg4XHViMjk0XHViMzcwLCBcdWFkZjggXHViZDgwXHViZDg0XHVjNWQwXHViMjk0IFx1YmMyOVx1YzExZFx1Yzc0NCBcdWIxOTNcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiBcdWJkODBcdWMwYzFcdWM3NTggXHVjNzA0XHVkNWQ4XHVjNzc0IFx1Yzc4OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIG1cdWFjZmMgblx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxJmxlO20sIG4mbGU7MzApPFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1YzViNFx1YzljMFx1YjI5NCBtXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFjMDEgXHVkNTg5XHVjNzU4IFx1YzgxNVx1YmNmNFx1Yjk3YyBcdWM4MWNcdWFjZjVcdWQ1NThcdWIyOTQgblx1YWMxY1x1Yzc1OCBcdWMyMmJcdWM3OTBcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAwXHVjNzQwIFx1YjllOFx1YjU0NSwgMVx1Yzc0MCBcdWJjMjlcdWMxMWRcdWM3NzQgXHVhZTU0XHViOWIwIFx1YWNmMyBcdWM5MTEgXHVhZTQwXHVjOGZjXHVjMTMxXHVjNzc0IFx1Y2RhNFx1Yzc0NCBcdWMyZGNcdWM3OTFcdWQ1NThcdWFjNzBcdWIwOTggXHViOWM4XHVjZTU4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWM3MDRcdWNlNTgsIDJcdWIyOTQgXHViM2NjXHViYTY5XHVjNzc0XHVhYzAwIFx1Yzc4OFx1YjI5NCBcdWM3MDRcdWNlNTgsIDNcdWM3NDAgXHVhZTQwXHVjOGZjXHVjMTMxXHVjNzc0IFx1Y2RhNFx1Yzc0NCBcdWMyZGNcdWM3OTFcdWQ1NThcdWIyOTQgXHVjNzA0XHVjZTU4IChcdWJjMjlcdWMxMWRcdWM3NzQgXHVhZTU0XHViODI0IFx1Yzc4OFx1Yzc0YyksIDRcdWIyOTQgXHVhZTQwXHVjOGZjXHVjMTMxXHVjNzc0IFx1Y2RhNFx1Yzc0NCBcdWI5YzhcdWNlNThcdWIyOTQgXHVjNzA0XHVjZTU4IChcdWJjMjlcdWMxMWRcdWM3NzQgXHVhZTU0XHViODI0IFx1Yzc4OFx1Yzc0YylcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiIFx1YzkwNFx1YzVkMCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHVjZDVjXHVjMThjXHVjNzU4IFx1YmMyOVx1YzExZCBcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWI5Y2NcdWM1N2QgXHVjNTQ0XHViYjM0XHViOWFjIFx1YmMyOVx1YzExZFx1Yzc0NCBcdWI5Y2VcdWM3NzQgXHViMTkzXHVjNTQ0XHViM2M0IFx1YWU0MFx1YzhmY1x1YzEzMVx1Yzc1OCBcdWNkYTRcdWM3NzQgXHViZDg4XHVhYzAwXHViMmE1XHVkNTYwIFx1YWNiZFx1YzZiMFx1YzVkNCwgLTFcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWI0NThcdWM5ZjggXHVjOTA0XHVjNWQ0IFx1YmMyOVx1YzExZFx1Yzc0NCBcdWIxOTNcdWIyOTQgXHViYzI5XHViYzk1XHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIChcdWM3NzQgXHVjMjE4XHViMjk0IDY0LWJpdCBzaWduZWQgaW50ZWdlciBcdWJjOTRcdWM3MDQgXHViMGI0XHVjNWQwIFx1Yzc4OFx1Yzc0Y1x1Yzc0NCBcdWJjZjRcdWM3YTVcdWQ1NWNcdWIyZTQuKSBcdWI5Y2NcdWM1N2QgXHVjY2FiIFx1YzkwNFx1YzVkMCAtMVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWMgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0LCBcdWI0NThcdWM5ZjggXHVjOTA0XHVjNzQwIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IjxwcmU+XHJcbjQgNVxyXG4xIDAgMCAwIDBcclxuMyAwIDAgMCAwXHJcbjAgMCAyIDAgMFxyXG4wIDAgMCA0IDA8XC9wcmU+XHJcblxyXG48cD5cdWM3ODVcdWNkOWNcdWI4MjUgXHVjNjA4XHVjMmRjXHVjNzU4IFx1YzEzOCBcdWFjMDBcdWM5YzAgXHVhY2JkXHVjNmIwXHViMjk0IFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWIyZTQuIFhcdWQ0NWMgXHVjZTVjIFx1YWNmM1x1YzVkMCBcdWJjMjlcdWMxMWRcdWM3NDQgXHViMTkzXHVjNzNjXHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHByZT5cclxuMSAwIDAgMCAwICAgICAxIDAgWCAwIDAgICAgIDEgMCBYIDAgMFxyXG4zIDAgWCAwIDAgICAgIDMgMCAwIDAgMCAgICAgMyAwIDAgMCBYXHJcbjAgMCAyIDAgMCAgICAgMCBYIDIgMCAwICAgICAwIDAgMiAwIDBcclxuMCBYIDAgNCAwICAgICAwIDAgMCA0IDAgICAgIDAgMCAwIDQgMDxcL3ByZT5cclxuIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjE4NTciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJMaWx5cGFkIFBvbmQiLCJkZXNjcmlwdGlvbiI6IjxwPkZKIGhhcyBpbnN0YWxsZWQgYSBiZWF1dGlmdWwgcG9uZCBmb3IgaGlzIGNvd3MmIzM5OyBhZXN0aGV0aWMgZW5qb3ltZW50IGFuZCBleGVyY2lzZS48XC9wPlxyXG5cclxuPHA+VGhlIHJlY3Rhbmd1bGFyIHBvbmQgaGFzIGJlZW4gcGFydGl0aW9uZWQgaW50byBzcXVhcmUgY2VsbHMgb2YgTSByb3dzIGFuZCBOIGNvbHVtbnMgKDEgJmx0Oz0gTSAmbHQ7PSAzMDsgMSAmbHQ7PSBOICZsdDs9IDMwKS4gU29tZSBvZiB0aGUgY2VsbHMgaGF2ZSBhc3RvbmlzaGluZ2x5IHN0dXJkeSBsaWx5cGFkczsgb3RoZXJzIGhhdmUgcm9ja3M7IHRoZSByZW1haW5kZXIgYXJlIGp1c3QgYmVhdXRpZnVsLCBjb29sLCBibHVlIHdhdGVyLjxcL3A+XHJcblxyXG48cD5CZXNzaWUgaXMgcHJhY3RpY2luZyBoZXIgYmFsbGV0IG1vdmVzIGJ5IGp1bXBpbmcgZnJvbSBvbmUgbGlseXBhZCB0byBhbm90aGVyIGFuZCBpcyBjdXJyZW50bHkgbG9jYXRlZCBhdCBvbmUgb2YgdGhlIGxpbHlwYWRzLiBTaGUgd2FudHMgdG8gdHJhdmVsIHRvIGFub3RoZXIgbGlseXBhZCBpbiB0aGUgcG9uZCBieSBqdW1waW5nIGZyb20gb25lIGxpbHlwYWQgdG8gYW5vdGhlci48XC9wPlxyXG5cclxuPHA+U3VycHJpc2luZyBvbmx5IHRvIHRoZSB1bmluaXRpYXRlZCwgQmVzc2llJiMzOTtzIGp1bXBzIGJldHdlZW4gbGlseXBhZHMgYWx3YXlzIGFwcGVhciBhcyBhIGNoZXNzLWtuaWdodCYjMzk7cyBtb3ZlOiBvbmUgbW92ZSBpbiBvbmUgZGlyZWN0aW9uIGFuZCB0aGVuIHR3byBtb3JlIGluIHRoZSBvcnRob2dvbmFsIGRpcmVjdGlvbiAob3IgcGVyaGFwcyB0d28gaW4gb25lIGRpcmVjdGlvbiBhbmQgdGhlbiBvbmUgaW4gdGhlIG9ydGhvZ29uYWwgZGlyZWN0aW9uKS48XC9wPlxyXG5cclxuPHA+RmFybWVyIEpvaG4gaXMgb2JzZXJ2aW5nIEJlc3NpZSYjMzk7cyBiYWxsZXQgZHJpbGwgYW5kIHJlYWxpemVzIHRoYXQgc29tZXRpbWVzIHNoZSBtaWdodCBub3QgYmUgYWJsZSB0byBqdW1wIHRvIGhlciBkZXN0aW5hdGlvbiBsaWx5cGFkIGJlY2F1c2UgaW50ZXJtZWRpYXJ5IGxpbHlwYWRzIGFyZSBtaXNzaW5nLjxcL3A+XHJcblxyXG48cD5FdmVyIHRocmlmdHksIGhlIHdhbnRzIHRvIHBsYWNlIGFkZGl0aW9uYWwgbGlseXBhZHMgc28gc2hlIGNhbiBjb21wbGV0ZSBoZXIgcXVlc3QgKHBlcmhhcHMgcXVpY2tseSwgcGVyaGFwcyBieSB1c2luZyBhIGxhcmdlIG51bWJlciBvZiBpbnRlcm1lZGlhdGUgbGlseXBhZHMpLiBPZiBjb3Vyc2UsIGxpbHlwYWRzIGNhbm5vdCBiZSBwbGFjZWQgd2hlcmUgcm9ja3MgYWxyZWFkeSBpbnRydWRlIG9uIGEgY2VsbC48XC9wPlxyXG5cclxuPHA+SGVscCBGYXJtZXIgSm9obiBkZXRlcm1pbmUgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGFkZGl0aW9uYWwgbGlseXBhZHMgaGUgaGFzIHRvIHBsYWNlLCBhbmQgaW4gaG93IG1hbnkgd2F5cyBoZSBjYW4gcGxhY2UgdGhhdCBtaW5pbXVtIG51bWJlci48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPiogTGluZSAxOiBUd28gc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzOiBNIGFuZCBOPFwvcD5cclxuXHJcbjxwPiogTGluZXMgMi4uTSsxOiBMaW5lIGkrMSBkZXNjcmliZXMgcm93IGkgb2YgdGhlIHBvbmQgdXNpbmcgTiBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnMgd2l0aCB0aGVzZSB2YWx1ZXM6IDAgaW5kaWNhdGVzIGVtcHR5IHdhdGVyOyAxIGluZGljYXRlcyBhIGxpbHlwYWQgaW4gcGxhY2U7IDIgaW5kaWNhdGVzIHJvY2sgaW4gcGxhY2U7IDMgaW5kaWNhdGVzIHRoZSBsaWx5cGFkIEJlc3NpZSBzdGFydHMgb247IDQgaW5kaWNhdGVzIHRoZSBsaWx5cGFkIEJlc3NpZSB3YW50cyB0byB0cmF2ZWwgdG8uPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+KiBMaW5lIDE6IE9uZSBpbnRlZ2VyOiB0aGUgbWluaW11bSBudW1iZXIgb2YgYWRkaXRpb25hbCBsaWx5cGFkcyByZXF1aXJlZC4gSWYgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGhlbHAgQmVzc2llIGp1bXAgdG8gaGVyIGRlc3RpbmF0aW9uLCBwcmludCAtMS48XC9wPlxyXG5cclxuPHA+KiBMaW5lIDI6IE9uZSBpbnRlZ2VyOiB0aGUgdG90YWwgbnVtYmVyIG9mIHBvc3NpYmxlIHdheXMgdGhlIGFkZGl0aW9uYWwgbGlseXBhZHMgY2FuIGJlIHBvc2l0aW9uZWQuICZuYnNwO1RoaXMgbnVtYmVyIGlzIGd1YXJhbnRlZWQgdG8gZml0IGludG8gYSBzaW5nbGUgNjQtYml0IHNpZ25lZCBpbnRlZ2VyLiBEbyBub3Qgb3V0cHV0IHRoaXMgbGluZSBpZiBsaW5lIDEgY29udGFpbnMgLTEuPFwvcD5cclxuIiwiaGludCI6IjxwPlRoZSBwb25kcyBoYXMgNCByb3dzIGFuZCA1IGNvbHVtbnMuIEJlc3NpZSBpcyBhdCByb3cgMiBjb2x1bW4gMSwgYW5kIHNoZSB3YW50cyB0byByZWFjaCByb3cgNCBjb2x1bW4gNC4gQSByb2NrIGFuZCB0aHJlZSBsaWx5cGFkcyBhcmUgcHJlc2VudC48XC9wPlxyXG5cclxuPHA+VHdvIGxpbHlwYWRzIGFyZSByZXF1aXJlZC4gVGhlcmUgYXJlIHRocmVlIHdheXMgdG8gcGxhY2UgdGhlbTogcm93IDQgY29sdW1uIDIgYW5kIHJvdyAyIGNvbHVtbiAzOyByb3cgMSBjb2x1bW4gMyBhbmQgcm93IDMgY29sdW1uIDI7IG9yIHJvdyAxIGNvbHVtbiAzIGFuZCByb3cgMiBjb2x1bW4gNTo8XC9wPlxyXG5cclxuPHByZT5cclxuICAgICAgICAgIFIxQzIsUjJDMyAgICAgUjFDMyxSM0MyICAgICBSMUMzLFIyQzVcclxuICAgICAgICAgIDEgMCAwIDAgMCAgICAgMSAwIFggMCAwICAgICAxIDAgWCAwIDBcclxuICAgICAgICAgIDMgMCBYIDAgMCAgICAgMyAwIDAgMCAwICAgICAzIDAgMCAwIFhcclxuICAgICAgICAgIDAgMCAyIDAgMCAgICAgMCBYIDIgMCAwICAgICAwIDAgMiAwIDBcclxuICAgICAgICAgIDAgWCAwIDQgMCAgICAgMCAwIDAgNCAwICAgICAwIDAgMCA0IDBcclxuPFwvcHJlPiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=