시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 9 8 8 88.889%

문제

 

일렬로 된 보드가 있다. 맨 왼쪽은 시작점이고, 맨 오른쪽에는 별이 있다. 매 턴마다 플레이어는 1부터 S까지의 자연수가 균일한 확률로 나오는 주사위를 굴린 뒤 나온 수만큼 앞으로 이동한다. 플레이어가 멈춘 칸에는 숫자가 쓰여 있는데, 거기에 쓰인 만큼 (양수일 때) 코인을 얻거나 (음수일 때) 잃는다. T턴이 지나면 게임이 종료된다.

 

예를 들어 보드가 위와 같고, S=4, T=5라고 하자. 주사위를 굴려서 2, 3, 4, 1, 1이 나오면 총 수익은 170코인이 된다. 반면 주사위를 굴려서 1, 3, 2, 4, 1이 나오면 총 수익은 220코인이 된다. 꼭 별이 있는 칸에 정확히 멈출 필요는 없다. 별이 있는 칸을 지나가면 별을 얻을 수 있기 때문이다.

보드가 안 좋아서 총 수익이 음수가 되어야만 별을 얻을 수도 있다. 아래 보드 (S=4, T=5)의 경우 별을 얻을 때의 최대 수익은 -100코인이다. 하지만 별을 많이 얻는 것이 중요하기 때문에, 플레이어는 코인을 잃는 한이 있어도 별을 얻고 싶어한다.

 


T턴 이내에 별을 얻고자 할 때, 최대 수익은 얼마일까?

입력

입력은 20개 이하의 테스트케이스로 구성되어 있고, 맨 끝에 0이 온다. 각 테스트케이스의 첫 줄에는 N (출발점과 별 사이의 칸 수), S, T가 주어진다. 2 ≤ N ≤ 200, 2 ≤ S ≤ 10, N + 1 ≤ ST, T ≤ N + 1이다. 따라서 T턴 이내에 별을 먹는 방법이 꼭 존재한다.

첫 줄 다음에는 여러 줄에 걸쳐 N개의 정수가 주어진다. 각 칸에 도착할 때 얻거나 잃는 코인의 수를 나타낸다. 이 값의 절댓값은 10000보다 작다.

출력

각 테스트케이스에 대해 T턴 이내에 별을 얻을 때의 최대 수익을 출력한다.

예제 입력 1

10 4 5
100 50 -20 60 30
-10 -30 -50 20 70
9 3 4
150 100 -200
-100 -300 -100
-200 100 150
0

예제 출력 1

220
-100
W3sicHJvYmxlbV9pZCI6IjE0NTUwIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViOWM4XHViOWFjXHVjNjI0IFx1ZDMwY1x1ZDJmMCIsImRlc2NyaXB0aW9uIjoiPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvcHJvYmxlbVwvMTQ1NTBcLzEucG5nXCIgc3R5bGU9XCJoZWlnaHQ6NzdweDsgd2lkdGg6NDkzcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+Jm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1Yzc3Y1x1YjgyY1x1Yjg1YyBcdWI0MWMgXHViY2Y0XHViNGRjXHVhYzAwIFx1Yzc4OFx1YjJlNC4gXHViOWU4IFx1YzY3Y1x1Y2FiZFx1Yzc0MCBcdWMyZGNcdWM3OTFcdWM4MTBcdWM3NzRcdWFjZTAsIFx1YjllOCBcdWM2MjRcdWI5NzhcdWNhYmRcdWM1ZDBcdWIyOTQgXHViY2M0XHVjNzc0IFx1Yzc4OFx1YjJlNC4gXHViOWU0IFx1ZDEzNFx1YjljOFx1YjJlNCBcdWQ1MGNcdWI4MDhcdWM3NzRcdWM1YjRcdWIyOTQgMVx1YmQ4MFx1ZDEzMCBTXHVhZTRjXHVjOWMwXHVjNzU4IFx1Yzc5MFx1YzVmMFx1YzIxOFx1YWMwMCBcdWFkZTBcdWM3N2NcdWQ1NWMgXHVkNjU1XHViOTYwXHViODVjIFx1YjA5OFx1YzYyNFx1YjI5NCBcdWM4ZmNcdWMwYWNcdWM3MDRcdWI5N2MgXHVhZDc0XHViOWIwIFx1YjRhNCBcdWIwOThcdWM2MjggXHVjMjE4XHViOWNjXHVkMDdjIFx1YzU1ZVx1YzczY1x1Yjg1YyBcdWM3NzRcdWIzZDlcdWQ1NWNcdWIyZTQuIFx1ZDUwY1x1YjgwOFx1Yzc3NFx1YzViNFx1YWMwMCBcdWJhNDhcdWNkOTggXHVjZTc4XHVjNWQwXHViMjk0IFx1YzIyYlx1Yzc5MFx1YWMwMCBcdWM0ZjBcdWM1ZWMgXHVjNzg4XHViMjk0XHViMzcwLCBcdWFjNzBcdWFlMzBcdWM1ZDAgXHVjNGYwXHVjNzc4IFx1YjljY1x1ZDA3YyAoXHVjNTkxXHVjMjE4XHVjNzdjIFx1YjU0YykgXHVjZjU0XHVjNzc4XHVjNzQ0IFx1YzViYlx1YWM3MFx1YjA5OCAoXHVjNzRjXHVjMjE4XHVjNzdjIFx1YjU0YykgXHVjNzgzXHViMjk0XHViMmU0LiBUXHVkMTM0XHVjNzc0IFx1YzljMFx1YjA5OFx1YmE3NCBcdWFjOGNcdWM3ODRcdWM3NzQgXHVjODg1XHViOGNjXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCBcdWJjZjRcdWI0ZGNcdWFjMDAgXHVjNzA0XHVjNjQwIFx1YWMxOVx1YWNlMCwgUz00LCBUPTVcdWI3N2NcdWFjZTAgXHVkNTU4XHVjNzkwLiBcdWM4ZmNcdWMwYWNcdWM3MDRcdWI5N2MgXHVhZDc0XHViODI0XHVjMTFjIDIsIDMsIDQsIDEsIDFcdWM3NzQgXHViMDk4XHVjNjI0XHViYTc0IFx1Y2QxZCBcdWMyMThcdWM3NzVcdWM3NDAgMTcwXHVjZjU0XHVjNzc4XHVjNzc0IFx1YjQxY1x1YjJlNC4gXHViYzE4XHViYTc0IFx1YzhmY1x1YzBhY1x1YzcwNFx1Yjk3YyBcdWFkNzRcdWI4MjRcdWMxMWMgMSwgMywgMiwgNCwgMVx1Yzc3NCBcdWIwOThcdWM2MjRcdWJhNzQgXHVjZDFkIFx1YzIxOFx1Yzc3NVx1Yzc0MCAyMjBcdWNmNTRcdWM3NzhcdWM3NzQgXHViNDFjXHViMmU0LiBcdWFmMmQgXHViY2M0XHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWNlNzhcdWM1ZDAgXHVjODE1XHVkNjU1XHVkNzg4IFx1YmE0OFx1Y2Q5YyBcdWQ1NDRcdWM2OTRcdWIyOTQgXHVjNWM2XHViMmU0LiBcdWJjYzRcdWM3NzQgXHVjNzg4XHViMjk0IFx1Y2U3OFx1Yzc0NCBcdWM5YzBcdWIwOThcdWFjMDBcdWJhNzQgXHViY2M0XHVjNzQ0IFx1YzViYlx1Yzc0NCBcdWMyMTggXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViY2Y0XHViNGRjXHVhYzAwIFx1YzU0OCBcdWM4OGJcdWM1NDRcdWMxMWMgXHVjZDFkIFx1YzIxOFx1Yzc3NVx1Yzc3NCBcdWM3NGNcdWMyMThcdWFjMDAgXHViNDE4XHVjNWI0XHVjNTdjXHViOWNjIFx1YmNjNFx1Yzc0NCBcdWM1YmJcdWM3NDQgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHVjNTQ0XHViNzk4IFx1YmNmNFx1YjRkYyAoUz00LCBUPTUpXHVjNzU4IFx1YWNiZFx1YzZiMCBcdWJjYzRcdWM3NDQgXHVjNWJiXHVjNzQ0IFx1YjU0Y1x1Yzc1OCBcdWNkNWNcdWIzMDAgXHVjMjE4XHVjNzc1XHVjNzQwIC0xMDBcdWNmNTRcdWM3NzhcdWM3NzRcdWIyZTQuIFx1ZDU1OFx1YzljMFx1YjljYyBcdWJjYzRcdWM3NDQgXHViOWNlXHVjNzc0IFx1YzViYlx1YjI5NCBcdWFjODNcdWM3NzQgXHVjOTExXHVjNjk0XHVkNTU4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVkNTBjXHViODA4XHVjNzc0XHVjNWI0XHViMjk0IFx1Y2Y1NFx1Yzc3OFx1Yzc0NCBcdWM3ODNcdWIyOTQgXHVkNTVjXHVjNzc0IFx1Yzc4OFx1YzViNFx1YjNjNCBcdWJjYzRcdWM3NDQgXHVjNWJiXHVhY2UwIFx1YzJmNlx1YzViNFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+Jm5ic3A7PFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL29ubGluZWp1ZGdlaW1hZ2VzLnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb21cL3Byb2JsZW1cLzE0NTUwXC8yLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjY4cHg7IHdpZHRoOjQ2MHB4XCIgXC8+PFwvcD5cclxuXHJcbjxwPjxiciBcLz5cclxuVFx1ZDEzNCBcdWM3NzRcdWIwYjRcdWM1ZDAgXHViY2M0XHVjNzQ0IFx1YzViYlx1YWNlMFx1Yzc5MCBcdWQ1NjAgXHViNTRjLCBcdWNkNWNcdWIzMDAgXHVjMjE4XHVjNzc1XHVjNzQwIFx1YzViY1x1YjljOFx1Yzc3Y1x1YWU0Yz88XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCAyMFx1YWMxYyBcdWM3NzRcdWQ1NThcdWM3NTggXHVkMTRjXHVjMmE0XHVkMmI4XHVjZjAwXHVjNzc0XHVjMmE0XHViODVjIFx1YWQ2Y1x1YzEzMVx1YjQxOFx1YzViNCBcdWM3ODhcdWFjZTAsIFx1YjllOCBcdWIwNWRcdWM1ZDAgMFx1Yzc3NCBcdWM2MjhcdWIyZTQuIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjhcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjY2FiIFx1YzkwNFx1YzVkMFx1YjI5NCBOIChcdWNkOWNcdWJjMWNcdWM4MTBcdWFjZmMgXHViY2M0IFx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWNlNzggXHVjMjE4KSwgUywgVFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIDIgJmxlOyBOICZsZTsgMjAwLCAyICZsZTsgUyAmbGU7IDEwLCBOICsgMSAmbGU7IFNULCBUICZsZTsgTiArIDFcdWM3NzRcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYyBUXHVkMTM0IFx1Yzc3NFx1YjBiNFx1YzVkMCBcdWJjYzRcdWM3NDQgXHViYTM5XHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc3NCBcdWFmMmQgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjYWIgXHVjOTA0IFx1YjJlNFx1Yzc0Y1x1YzVkMFx1YjI5NCBcdWM1ZWNcdWI3ZWMgXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBOXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWMwMSBcdWNlNzhcdWM1ZDAgXHViM2M0XHVjYzI5XHVkNTYwIFx1YjU0YyBcdWM1YmJcdWFjNzBcdWIwOTggXHVjNzgzXHViMjk0IFx1Y2Y1NFx1Yzc3OFx1Yzc1OCBcdWMyMThcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LiBcdWM3NzQgXHVhYzEyXHVjNzU4IFx1YzgwOFx1YjMxM1x1YWMxMlx1Yzc0MCAxMDAwMFx1YmNmNFx1YjJlNCBcdWM3OTFcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzQgVFx1ZDEzNCBcdWM3NzRcdWIwYjRcdWM1ZDAgXHViY2M0XHVjNzQ0IFx1YzViYlx1Yzc0NCBcdWI1NGNcdWM3NTggXHVjZDVjXHViMzAwIFx1YzIxOFx1Yzc3NVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIxNDU1MCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlJJUE9GRiIsImRlc2NyaXB0aW9uIjoiPHA+QnVzaW5lc3MgaGFzIGJlZW4gc2xvdyBhdCBHbGVhbWluJnJzcXVvOyBMZW1vbiBVc2VkIEF1dG8gU2FsZXMuIEluIGFuIGVmZm9ydCB0byBicmluZyBpbiBuZXcgY3VzdG9tZXJzLCBtYW5hZ2VtZW50IGhhcyBjcmVhdGVkIHRoZSBSZWJhdGUgSW5jZW50aXZlIFByb2dyYW0gT2YgRmFidWxvdXMgRnVuIChvciBSSVBPRkYpLiBUaGlzIGlzIGEgc2ltcGxlIGdhbWUgd2hpY2ggYWxsb3dzIGN1c3RvbWVycyB0byB0cnkgYW5kIHdpbiBhIHJlYmF0ZSBvbiBhbiBhdXRvbW9iaWxlIHB1cmNoYXNlLiBUaGUgUklQT0ZGIGdhbWUgaXMgYSBib2FyZCBnYW1lIHdoZXJlIGVhY2ggc3F1YXJlIGlzIGxhYmVsZWQgd2l0aCBhIHJlYmF0ZSBhbW91bnQuIFRoZSBjdXN0b21lciBhZHZhbmNlcyB0aHJvdWdoIHRoZSBib2FyZCBieSBzcGlubmluZyBhIHNwaW5uZXIuIEVhY2ggc3F1YXJlIGhlIGxhbmRzIG9uIGFkZHMgdG8gaGlzIHRvdGFsIHJlYmF0ZSBhbW91bnQuIFdoZW4gaGUgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBib2FyZCBoZSBpcyByZXdhcmRlZCB3aXRoIHRoZSB0b3RhbCByZWJhdGUgYW1vdW50LjxcL3A+XHJcblxyXG48cD5PZiBjb3Vyc2UsIGdpdmVuIHRoZSBjb21wYW55IGludm9sdmVkLCBpdCBzaG91bGQgY29tZSBhcyBubyBzdXJwcmlzZSB0aGF0IHRoZXJlIGFyZSBhIGNvdXBsZSBvZiBjYXRjaGVzIHdyaXR0ZW4gaW4gdGhlIGZpbmUgcHJpbnQuIFRoZSBmaXJzdCBpcyB0aGF0IHRoZXJlIGlzIGEgbGltaXQgdG8gdGhlIG51bWJlciBvZiB0dXJucyB0aGUgY3VzdG9tZXIgaGFzIHRvIGZpbmlzaCB0aGUgZ2FtZTsgaWYgaGUgZG9lc24mcnNxdW87dCByZWFjaCB0aGUgZW5kIHdpdGhpbiB0aGUgYWxsb3R0ZWQgbnVtYmVyIG9mIHR1cm5zIHRoZW4gaGUgbG9zZXMgaGlzIHJlYmF0ZS4gVGhlIHNlY29uZCBpcyB0aGF0IHNvbWUgb2YgdGhlIHNxdWFyZXMgYWN0dWFsbHkgaGF2ZSBhIG5lZ2F0aXZlIGFtb3VudCB3aGljaCBzdWJ0cmFjdCBmcm9tIHRoZSByZWJhdGUgaW5zdGVhZCBvZiBhZGRpbmcgdG8gaXQuIEEgcGFydGljdWxhcmx5IHVubHVja3kgY3VzdG9tZXIgbWlnaHQgZXZlbiBjb21lIG91dCBvZiB0aGUgZ2FtZSB3aXRoIGEgbmVnYXRpdmUgcmViYXRlLjxcL3A+XHJcblxyXG48cD5FdmVuIHdpdGggdGhlc2UgY2F0Y2hlcywgdGhlIG1hbmFnZW1lbnQgb2YgR2xlYW1pbiZyc3F1bzsgTGVtb24gaXMgY29uY2VybmVkIHRoYXQgc29tZW9uZSBtaWdodCB3aW4gYSBwYXJ0aWN1bGFybHkgbGFyZ2UgcmViYXRlJm1kYXNoO3NvbWV0aGluZyB0aGV5IHdvdWxkIGxpa2UgdG8gYXZvaWQgYXQgYWxsIGNvc3RzLiBZb3VyIGpvYiBpcyB0byB0YWtlIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGZvciB0aGUgUklQT0ZGIGdhbWUgYW5kIGRlY2lkZSB0aGUgbWF4aW11bSByZWJhdGUgYSBjdXN0b21lciBjb3VsZCBwb3NzaWJseSBvYnRhaW4uPFwvcD5cclxuXHJcbjxwPkNvbnNpZGVyLCBmb3IgZXhhbXBsZSwgdGhlIGdhbWUgYm9hcmQgYmVsb3cuIEFzc3VtZSB3ZSBoYXZlIDUgdHVybnMgdG8gZmluaXNoIHRoZSBnYW1lLCBhbmQgZWFjaCB0dXJuIHdlIGNhbiBtb3ZlIGJldHdlZW4gMSBhbmQgNCBzcGFjZXMgZGVwZW5kaW5nIG9uIHdoYXQgd2Ugc3Bpbi4gTm90aWNlIHRoYXQgd2UgbXVzdCBzdGFydCBqdXN0IGJlZm9yZSB0aGUgYm9hcmQgYmVnaW5zLCBzbyBzcGlubmluZyBhIDEgY2F1c2VzIHVzIHRvIGxhbmQgb24gdGhlIGZpcnN0IHNxdWFyZS4gQWxzbyBub3RpY2Ugd2UgbXVzdCBlbmQgYnkgbGFuZGluZyBwYXN0IHRoZSBlbmQgb2YgdGhlIGxhc3Qgc3F1YXJlLiBJdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGV4YWN0OyBhbnkgbnVtYmVyIHRoYXQgZ2V0cyB1cyBvZmYgb2YgdGhlIGJvYXJkIHdpbGwgd29yay48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvcHJvYmxlbVwvMTQ1NTBcLzEucG5nXCIgc3R5bGU9XCJoZWlnaHQ6NzdweDsgd2lkdGg6NDkzcHhcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RmlndXJlIDE8XC9wPlxyXG5cclxuPHA+VGhlIGlsbHVzdHJhdGlvbiBzaG93cyB0d28gZGlmZmVyZW50IHBvc3NpYmxlIHdheXMgdGhlIGdhbWUgbWlnaHQgZ28uIEZvbGxvd2luZyB0aGUgYXJyb3dzIG9uIHRoZSB0b3AsIGlmIHdlIHNwaW4gYSAyLCAzLCA0LCAxLCBhbmQgMSByZXNwZWN0aXZlbHksIHdlIHdpbGwgd2luIGEgdG90YWwgcmViYXRlIG9mIDUwICsgMzAgKyAyMCArIDcwID0gJDE3MC4gSG93ZXZlciwgdGhlIGJlc3QgcG9zc2libGUgcmViYXRlIHdlIGNvdWxkIHdpbiB3b3VsZCBiZSAkMjIwLiBXZSB3b3VsZCB3aW4gdGhpcyBhbW91bnQgaWYgd2Ugc3B1biBhIDEsIDMsIDIsIDQsIGFuZCAxIHJlc3BlY3RpdmVseSwgYXMgc2hvd24gYnkgdGhlIGxvd2VyIHBhdGguIE5vdGljZSB0aGF0IHdlIGRpZCBub3QgbGFuZCBvbiBldmVyeSBzcXVhcmUgd2l0aCBhIHBvc2l0aXZlIG51bWJlcjsgaWYgd2UgaGFkIHdlIHdvdWxkbiZyc3F1bzt0IGhhdmUgYmVlbiBhYmxlIHRvIG1ha2UgaXQgdG8gdGhlIGVuZCBvZiB0aGUgYm9hcmQgYmVmb3JlIHRoZSA1IHR1cm5zIHdhcyB1cC48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvcHJvYmxlbVwvMTQ1NTBcLzIucG5nXCIgc3R5bGU9XCJoZWlnaHQ6NjhweDsgd2lkdGg6NDYwcHhcIiBcLz48XC9wPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RmlndXJlIDI8XC9wPlxyXG5cclxuPHA+VGhlIGlsbHVzdHJhdGlvbiBpbiBGaWd1cmUgMiBzaG93cyBhIGdhbWUgd2hlcmUgd2UgaGF2ZSA0IHR1cm5zIHRvIGZpbmlzaCB0aGUgZ2FtZSwgYW5kIGNhbiBtb3ZlIHVwIHRvIDMgc3BhY2VzIGVhY2ggdHVybi4gQWdhaW4sIHR3byBkaWZmZXJlbnQgcGF0aHMgYXJlIHNob3duLCB0aGUgb25lIG9uIHRvcCBlYXJuaW5nIGEgcmViYXRlIG9mIC0kMTUwLCBhbmQgdGhlIG9uZSBvbiBib3R0b20gZWFybmluZyBhIHJlYmF0ZSBvZiAtJDEwMC4gSW4gZmFjdCwgLSQxMDAgaXMgdGhlIGhpZ2hlc3QgcG9zc2libGUgcmViYXRlIHdlIGNvdWxkIGVhcm4gZm9yIHRoaXMgZ2FtZSAoYSBmYWN0IHRoYXQgd291bGQgbm8gZG91YnQgcGxlYXNlIHRoZSBtYW5hZ2VtZW50IG9mIEdsZWFtaW4mcnNxdW87IExlbW9uKS4gT2YgY291cnNlLCB0aGVyZSBhbHNvIG1pZ2h0IGJlIGEgc2VxdWVuY2Ugb2YgbW92ZXMgaW4gd2hpY2ggd2UgZG8gbm90IHJlYWNoIHRoZSBlbmQgYmVmb3JlIHRoZSB0dXJuIGxpbWl0Jm1kYXNoO2UuZy4gc3Bpbm5pbmcgYSAxIGV2ZXJ5IHRpbWUuIEFsdGhvdWdoIG5vdCBmaW5pc2hpbmcgd291bGQgYWN0dWFsbHkgYmUgcHJlZmVyYWJsZSB0byBmaW5pc2hpbmcgd2l0aCBhIG5lZ2F0aXZlIHJlYmF0ZSwgaW4gdGhpcyBwcm9ibGVtIHdlIGFyZSBvbmx5IGdvaW5nIHRvIGNvbnNpZGVyIHNlcXVlbmNlcyBvZiBtb3ZlcyB3aGljaCBhbGxvdyB1cyB0byByZWFjaCB0aGUgZW5kIGJlZm9yZSB0aGUgdHVybiBsaW1pdC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBjb25zaXN0cyBvZiBvbmUgdG8gdHdlbnR5IGRhdGEgc2V0cywgZm9sbG93ZWQgYnkgYSBsaW5lIGNvbnRhaW5pbmcgb25seSAwLiBUaGUgZmlyc3QgbGluZSBvZiBhIGRhdGEgc2V0IGNvbnRhaW5zIHRocmVlIHNwYWNlIHNlcGFyYXRlZCBpbnRlZ2VycyBOIFMgVCwgd2hlcmU8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5OIGlzIHRoZSB0b3RhbCBudW1iZXIgb2Ygc3F1YXJlcyBvbiB0aGUgYm9hcmQsIDIgJmxlOyBOICZsZTsgMjAwLjxcL2xpPlxyXG5cdDxsaT5TIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzcGFjZXMgeW91IG1heSBhZHZhbmNlIGluIGVhY2ggdHVybiwgMiAmbGU7IFMgJmxlOyAxMC48XC9saT5cclxuXHQ8bGk+VCBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdHVybnMgYWxsb3dlZCwgd2hlcmUgTiArIDEgJmxlOyBTVCBhbmQgVCAmbGU7IE4gKyAxLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlRoZSBkYXRhIHNldCBlbmRzIHdpdGggb25lIG9yIG1vcmUgbGluZXMgY29udGFpbmluZyBhIHRvdGFsIG9mIE4gaW50ZWdlcnMsIHRoZSBudW1iZXJzIG9uIHRoZSBib2FyZC4gRWFjaCBudW1iZXIgaGFzIG1hZ25pdHVkZSBsZXNzIHRoYW4gMTAwMDAuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+VGhlIG91dHB1dCBmb3IgZWFjaCBkYXRhIHNldCBpcyBvbmUgbGluZSBjb250YWluaW5nIG9ubHkgdGhlIG1heGltdW0gcG9zc2libGUgcmViYXRlIHRoYXQgY2FuIGJlIGVhcm5lZCBieSBjb21wbGV0aW5nIHRoZSBnYW1lLjxcL3A+XHJcblxyXG48cD5UbyBjb21wbGV0ZSB0aGUgZ2FtZSB5b3UgbXVzdCBhZHZhbmNlIGEgdG90YWwgb2YgTiArIDEgc3BhY2VzIGluIGF0IG1vc3QgVCB0dXJucywgZWFjaCB0dXJuIGFkdmFuY2luZyBmcm9tIDEgdG8gUyBzcGFjZXMgaW5jbHVzaXZlLiBJdCB3aWxsIGFsd2F5cyBiZSBwb3NzaWJsZSB0byBjb21wbGV0ZSBhIGdhbWUuIEhvd2V2ZXIsIHRoZXJlIG1heSBiZSBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIGRpZmZlcmVudCB0dXJuIHNlcXVlbmNlcyB0aGF0IHdpbGwgZmluaXNoLCBzbyB5b3Ugd2lsbCBuZWVkIHRvIGJlIGNhcmVmdWwgaW4gY2hvb3NpbmcgeW91ciBhbGdvcml0aG0uPFwvcD5cclxuXHJcbjxwPlRoZSBzYW1wbGUgaW5wdXQgZGF0YSBjb3JyZXNwb25kcyB0byB0aGUgZ2FtZXMgaW4gdGhlIEZpZ3VyZXMuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=