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

문제

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

그는 항상 연습하는 곳의 바닥을 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+XHViYzI0XHVjOTExXHVjNWQwIFx1Y2ZmNVx1Y2ZmNVx1YWM3MFx1YjlhY1x1YmE3NCBcdWMyZTRcdWI4NDBcdWM3NzRcdWJiYzBcdWI4NWMsIFx1YmMxNFx1YjJlNVx1YzVkMCBcdWJjMjlcdWMxMWRcdWM3NDQgXHVhZTU0XHVjNTQ0IFx1YjE5M1x1YWNlMCBcdWNkYTRcdWM3NDQgXHVjZDk0XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHViYzI5XHVjMTFkXHVjNzQwIFx1YWNhOVx1Yzc5MFx1Y2U3OCBcdWQ1NWMgXHVjZTc4XHVjNWQwIFx1YWYyZCBcdWI5ZGVcdWIyOTQgXHVkMDZjXHVhZTMwXHVjNzc0XHVhY2UwLCBcdWJhODcgXHVhYzFjXHVjNzU4IFx1Y2U3OFx1YzVkMFx1YjI5NCBcdWJjMjlcdWMxMWRcdWM3NzQgXHVjNzc0XHViYmY4IFx1YjE5M1x1YzVlYyBcdWM3ODhcdWIyZTQuIFx1ZDJiOVx1ZDc4OCwgXHVhZTQwIFx1Yzg3MFx1YWQ1MFx1YWMwMCBcdWQ2MDRcdWM3YWMgXHVjMTFjIFx1Yzc4OFx1YjI5NCBcdWM3MDRcdWNlNThcdWM2NDAsIFx1Y2Q1Y1x1Yzg4NVx1YzgwMVx1YzczY1x1Yjg1YyBcdWIzYzRcdWIyZWNcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OFx1YzVkMFx1YjI5NCBcdWM3NzRcdWJiZjggXHViYzI5XHVjMTFkXHVjNzc0IFx1YjE5M1x1YzVlYyBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc3NCBcdWQ1NjAgXHVjNzdjXHVjNzQwIFx1Y2Q1Y1x1YzE4Y1x1ZDU1Y1x1Yzc1OCBcdWJjMjlcdWMxMWRcdWM3NDQgXHViMzU0IFx1YjE5M1x1YzU0NFx1YzExYyBcdWFlNDBcdWM4ZmNcdWMxMzFcdWM3NTggXHVjZGE0XHVjNzc0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjNjNFx1Yjg1ZCBcdWI5Y2NcdWI0ZTRcdWFjZTAsIFx1YWRmOFx1YjgwN1x1YWM4YyBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHViYWE4XHViNDUwIFx1YmE4NyBcdWFjMDBcdWM5YzBcdWM3NzhcdWM5YzAgXHVhY2M0XHVjMGIwXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHViMmU0XHViOWNjLCBcdWIzY2NcdWJhNjlcdWM3NzRcdWFjMDAgXHViMTkzXHVjNWVjIFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWIzYzQgXHVjNzg4XHViMjk0XHViMzcwLCBcdWFkZjggXHViZDgwXHViZDg0XHVjNWQwXHViMjk0IFx1YmMyOVx1YzExZFx1Yzc0NCBcdWIxOTNcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiBcdWJkODBcdWMwYzFcdWM3NTggXHVjNzA0XHVkNWQ4XHVjNzc0IFx1Yzc4OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIG1cdWFjZmMgblx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxICZsZTsgbSwgbiAmbGU7IDMwKTxcL3A+XHJcblxyXG48cD5cdWM3NzRcdWM1YjRcdWM5YzBcdWIyOTQgbVx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAxIFx1ZDU4OVx1Yzc1OCBcdWM4MTVcdWJjZjRcdWI5N2MgXHVjODFjXHVhY2Y1XHVkNTU4XHViMjk0IG5cdWFjMWNcdWM3NTggXHVjMjJiXHVjNzkwXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gMFx1Yzc0MCBcdWI5ZThcdWI1NDUsIDFcdWM3NDAgXHViYzI5XHVjMTFkXHVjNzc0IFx1YWU1NFx1YjliMCBcdWFjZjMgXHVjOTExIFx1YWU0MFx1YzhmY1x1YzEzMVx1Yzc3NCBcdWNkYTRcdWM3NDQgXHVjMmRjXHVjNzkxXHVkNTU4XHVhYzcwXHViMDk4IFx1YjljOFx1Y2U1OFx1YzljMCBcdWM1NGFcdWIyOTQgXHVjNzA0XHVjZTU4LCAyXHViMjk0IFx1YjNjY1x1YmE2OVx1Yzc3NFx1YWMwMCBcdWM3ODhcdWIyOTQgXHVjNzA0XHVjZTU4LCAzXHVjNzQwIFx1YWU0MFx1YzhmY1x1YzEzMVx1Yzc3NCBcdWNkYTRcdWM3NDQgXHVjMmRjXHVjNzkxXHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OCAoXHViYzI5XHVjMTFkXHVjNzc0IFx1YWU1NFx1YjgyNCBcdWM3ODhcdWM3NGMpLCA0XHViMjk0IFx1YWU0MFx1YzhmY1x1YzEzMVx1Yzc3NCBcdWNkYTRcdWM3NDQgXHViOWM4XHVjZTU4XHViMjk0IFx1YzcwNFx1Y2U1OCAoXHViYzI5XHVjMTFkXHVjNzc0IFx1YWU1NFx1YjgyNCBcdWM3ODhcdWM3NGMpXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYiBcdWM5MDRcdWM1ZDAgXHVkNTQ0XHVjNjk0XHVkNTVjIFx1Y2Q1Y1x1YzE4Y1x1Yzc1OCBcdWJjMjlcdWMxMWQgXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkIFx1YzU0NFx1YmIzNFx1YjlhYyBcdWJjMjlcdWMxMWRcdWM3NDQgXHViOWNlXHVjNzc0IFx1YjE5M1x1YzU0NFx1YjNjNCBcdWFlNDBcdWM4ZmNcdWMxMzFcdWM3NTggXHVjZGE0XHVjNzc0IFx1YmQ4OFx1YWMwMFx1YjJhNVx1ZDU2MCBcdWFjYmRcdWM2YjBcdWM1ZDQsIC0xXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViNDU4XHVjOWY4IFx1YzkwNFx1YzVkNCBcdWJjMjlcdWMxMWRcdWM3NDQgXHViMTkzXHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc1OCBcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiAoXHVjNzc0IFx1YzIxOFx1YjI5NCA2NC1iaXQgc2lnbmVkIGludGVnZXIgXHViYzk0XHVjNzA0IFx1YjBiNFx1YzVkMCBcdWM3ODhcdWM3NGNcdWM3NDQgXHViY2Y0XHVjN2E1XHVkNTVjXHViMmU0LikgXHViOWNjXHVjNTdkIFx1Y2NhYiBcdWM5MDRcdWM1ZDAgLTFcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjIFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCwgXHViNDU4XHVjOWY4IFx1YzkwNFx1Yzc0MCBcdWNkOWNcdWI4MjVcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiI8cHJlPlxyXG40IDVcclxuMSAwIDAgMCAwXHJcbjMgMCAwIDAgMFxyXG4wIDAgMiAwIDBcclxuMCAwIDAgNCAwPFwvcHJlPlxyXG5cclxuPHA+XHVjNzg1XHVjZDljXHViODI1IFx1YzYwOFx1YzJkY1x1Yzc1OCBcdWMxMzggXHVhYzAwXHVjOWMwIFx1YWNiZFx1YzZiMFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LiBYXHVkNDVjIFx1Y2U1YyBcdWFjZjNcdWM1ZDAgXHViYzI5XHVjMTFkXHVjNzQ0IFx1YjE5M1x1YzczY1x1YmE3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwcmU+XHJcbjEgMCAwIDAgMCAgICAgMSAwIFggMCAwICAgICAxIDAgWCAwIDBcclxuMyAwIFggMCAwICAgICAzIDAgMCAwIDAgICAgIDMgMCAwIDAgWFxyXG4wIDAgMiAwIDAgICAgIDAgWCAyIDAgMCAgICAgMCAwIDIgMCAwXHJcbjAgWCAwIDQgMCAgICAgMCAwIDAgNCAwICAgICAwIDAgMCA0IDA8XC9wcmU+XHJcbiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMTg1NyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkxpbHlwYWQgUG9uZCIsImRlc2NyaXB0aW9uIjoiPHA+RkogaGFzIGluc3RhbGxlZCBhIGJlYXV0aWZ1bCBwb25kIGZvciBoaXMgY293cyYjMzk7IGFlc3RoZXRpYyBlbmpveW1lbnQgYW5kIGV4ZXJjaXNlLjxcL3A+XHJcblxyXG48cD5UaGUgcmVjdGFuZ3VsYXIgcG9uZCBoYXMgYmVlbiBwYXJ0aXRpb25lZCBpbnRvIHNxdWFyZSBjZWxscyBvZiBNIHJvd3MgYW5kIE4gY29sdW1ucyAoMSAmbHQ7PSBNICZsdDs9IDMwOyAxICZsdDs9IE4gJmx0Oz0gMzApLiBTb21lIG9mIHRoZSBjZWxscyBoYXZlIGFzdG9uaXNoaW5nbHkgc3R1cmR5IGxpbHlwYWRzOyBvdGhlcnMgaGF2ZSByb2NrczsgdGhlIHJlbWFpbmRlciBhcmUganVzdCBiZWF1dGlmdWwsIGNvb2wsIGJsdWUgd2F0ZXIuPFwvcD5cclxuXHJcbjxwPkJlc3NpZSBpcyBwcmFjdGljaW5nIGhlciBiYWxsZXQgbW92ZXMgYnkganVtcGluZyBmcm9tIG9uZSBsaWx5cGFkIHRvIGFub3RoZXIgYW5kIGlzIGN1cnJlbnRseSBsb2NhdGVkIGF0IG9uZSBvZiB0aGUgbGlseXBhZHMuIFNoZSB3YW50cyB0byB0cmF2ZWwgdG8gYW5vdGhlciBsaWx5cGFkIGluIHRoZSBwb25kIGJ5IGp1bXBpbmcgZnJvbSBvbmUgbGlseXBhZCB0byBhbm90aGVyLjxcL3A+XHJcblxyXG48cD5TdXJwcmlzaW5nIG9ubHkgdG8gdGhlIHVuaW5pdGlhdGVkLCBCZXNzaWUmIzM5O3MganVtcHMgYmV0d2VlbiBsaWx5cGFkcyBhbHdheXMgYXBwZWFyIGFzIGEgY2hlc3Mta25pZ2h0JiMzOTtzIG1vdmU6IG9uZSBtb3ZlIGluIG9uZSBkaXJlY3Rpb24gYW5kIHRoZW4gdHdvIG1vcmUgaW4gdGhlIG9ydGhvZ29uYWwgZGlyZWN0aW9uIChvciBwZXJoYXBzIHR3byBpbiBvbmUgZGlyZWN0aW9uIGFuZCB0aGVuIG9uZSBpbiB0aGUgb3J0aG9nb25hbCBkaXJlY3Rpb24pLjxcL3A+XHJcblxyXG48cD5GYXJtZXIgSm9obiBpcyBvYnNlcnZpbmcgQmVzc2llJiMzOTtzIGJhbGxldCBkcmlsbCBhbmQgcmVhbGl6ZXMgdGhhdCBzb21ldGltZXMgc2hlIG1pZ2h0IG5vdCBiZSBhYmxlIHRvIGp1bXAgdG8gaGVyIGRlc3RpbmF0aW9uIGxpbHlwYWQgYmVjYXVzZSBpbnRlcm1lZGlhcnkgbGlseXBhZHMgYXJlIG1pc3NpbmcuPFwvcD5cclxuXHJcbjxwPkV2ZXIgdGhyaWZ0eSwgaGUgd2FudHMgdG8gcGxhY2UgYWRkaXRpb25hbCBsaWx5cGFkcyBzbyBzaGUgY2FuIGNvbXBsZXRlIGhlciBxdWVzdCAocGVyaGFwcyBxdWlja2x5LCBwZXJoYXBzIGJ5IHVzaW5nIGEgbGFyZ2UgbnVtYmVyIG9mIGludGVybWVkaWF0ZSBsaWx5cGFkcykuIE9mIGNvdXJzZSwgbGlseXBhZHMgY2Fubm90IGJlIHBsYWNlZCB3aGVyZSByb2NrcyBhbHJlYWR5IGludHJ1ZGUgb24gYSBjZWxsLjxcL3A+XHJcblxyXG48cD5IZWxwIEZhcm1lciBKb2huIGRldGVybWluZSB0aGUgbWluaW11bSBudW1iZXIgb2YgYWRkaXRpb25hbCBsaWx5cGFkcyBoZSBoYXMgdG8gcGxhY2UsIGFuZCBpbiBob3cgbWFueSB3YXlzIGhlIGNhbiBwbGFjZSB0aGF0IG1pbmltdW0gbnVtYmVyLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+KiBMaW5lIDE6IFR3byBzcGFjZS1zZXBhcmF0ZWQgaW50ZWdlcnM6IE0gYW5kIE48XC9wPlxyXG5cclxuPHA+KiBMaW5lcyAyLi5NKzE6IExpbmUgaSsxIGRlc2NyaWJlcyByb3cgaSBvZiB0aGUgcG9uZCB1c2luZyBOIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyB3aXRoIHRoZXNlIHZhbHVlczogMCBpbmRpY2F0ZXMgZW1wdHkgd2F0ZXI7IDEgaW5kaWNhdGVzIGEgbGlseXBhZCBpbiBwbGFjZTsgMiBpbmRpY2F0ZXMgcm9jayBpbiBwbGFjZTsgMyBpbmRpY2F0ZXMgdGhlIGxpbHlwYWQgQmVzc2llIHN0YXJ0cyBvbjsgNCBpbmRpY2F0ZXMgdGhlIGxpbHlwYWQgQmVzc2llIHdhbnRzIHRvIHRyYXZlbCB0by48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD4qIExpbmUgMTogT25lIGludGVnZXI6IHRoZSBtaW5pbXVtIG51bWJlciBvZiBhZGRpdGlvbmFsIGxpbHlwYWRzIHJlcXVpcmVkLiBJZiBpdCBpcyBub3QgcG9zc2libGUgdG8gaGVscCBCZXNzaWUganVtcCB0byBoZXIgZGVzdGluYXRpb24sIHByaW50IC0xLjxcL3A+XHJcblxyXG48cD4qIExpbmUgMjogT25lIGludGVnZXI6IHRoZSB0b3RhbCBudW1iZXIgb2YgcG9zc2libGUgd2F5cyB0aGUgYWRkaXRpb25hbCBsaWx5cGFkcyBjYW4gYmUgcG9zaXRpb25lZC4gJm5ic3A7VGhpcyBudW1iZXIgaXMgZ3VhcmFudGVlZCB0byBmaXQgaW50byBhIHNpbmdsZSA2NC1iaXQgc2lnbmVkIGludGVnZXIuIERvIG5vdCBvdXRwdXQgdGhpcyBsaW5lIGlmIGxpbmUgMSBjb250YWlucyAtMS48XC9wPlxyXG4iLCJoaW50IjoiPHA+VGhlIHBvbmRzIGhhcyA0IHJvd3MgYW5kIDUgY29sdW1ucy4gQmVzc2llIGlzIGF0IHJvdyAyIGNvbHVtbiAxLCBhbmQgc2hlIHdhbnRzIHRvIHJlYWNoIHJvdyA0IGNvbHVtbiA0LiBBIHJvY2sgYW5kIHRocmVlIGxpbHlwYWRzIGFyZSBwcmVzZW50LjxcL3A+XHJcblxyXG48cD5Ud28gbGlseXBhZHMgYXJlIHJlcXVpcmVkLiBUaGVyZSBhcmUgdGhyZWUgd2F5cyB0byBwbGFjZSB0aGVtOiByb3cgNCBjb2x1bW4gMiBhbmQgcm93IDIgY29sdW1uIDM7IHJvdyAxIGNvbHVtbiAzIGFuZCByb3cgMyBjb2x1bW4gMjsgb3Igcm93IDEgY29sdW1uIDMgYW5kIHJvdyAyIGNvbHVtbiA1OjxcL3A+XHJcblxyXG48cHJlPlxyXG4gICAgICAgICAgUjFDMixSMkMzICAgICBSMUMzLFIzQzIgICAgIFIxQzMsUjJDNVxyXG4gICAgICAgICAgMSAwIDAgMCAwICAgICAxIDAgWCAwIDAgICAgIDEgMCBYIDAgMFxyXG4gICAgICAgICAgMyAwIFggMCAwICAgICAzIDAgMCAwIDAgICAgIDMgMCAwIDAgWFxyXG4gICAgICAgICAgMCAwIDIgMCAwICAgICAwIFggMiAwIDAgICAgIDAgMCAyIDAgMFxyXG4gICAgICAgICAgMCBYIDAgNCAwICAgICAwIDAgMCA0IDAgICAgIDAgMCAwIDQgMFxyXG48XC9wcmU+Iiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d