시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB190897553.957%

문제

 

일렬로 된 보드가 있다. 맨 왼쪽은 시작점이고, 맨 오른쪽에는 별이 있다. 매 턴마다 플레이어는 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+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzQgVFx1ZDEzNCBcdWM3NzRcdWIwYjRcdWM1ZDAgXHViY2M0XHVjNzQ0IFx1YzViYlx1Yzc0NCBcdWI1NGNcdWM3NTggXHVjZDVjXHViMzAwIFx1YzIxOFx1Yzc3NVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMTQ1NTAiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJSSVBPRkYiLCJkZXNjcmlwdGlvbiI6IjxwPkJ1c2luZXNzIGhhcyBiZWVuIHNsb3cgYXQgR2xlYW1pbiZyc3F1bzsgTGVtb24gVXNlZCBBdXRvIFNhbGVzLiBJbiBhbiBlZmZvcnQgdG8gYnJpbmcgaW4gbmV3IGN1c3RvbWVycywgbWFuYWdlbWVudCBoYXMgY3JlYXRlZCB0aGUgUmViYXRlIEluY2VudGl2ZSBQcm9ncmFtIE9mIEZhYnVsb3VzIEZ1biAob3IgUklQT0ZGKS4gVGhpcyBpcyBhIHNpbXBsZSBnYW1lIHdoaWNoIGFsbG93cyBjdXN0b21lcnMgdG8gdHJ5IGFuZCB3aW4gYSByZWJhdGUgb24gYW4gYXV0b21vYmlsZSBwdXJjaGFzZS4gVGhlIFJJUE9GRiBnYW1lIGlzIGEgYm9hcmQgZ2FtZSB3aGVyZSBlYWNoIHNxdWFyZSBpcyBsYWJlbGVkIHdpdGggYSByZWJhdGUgYW1vdW50LiBUaGUgY3VzdG9tZXIgYWR2YW5jZXMgdGhyb3VnaCB0aGUgYm9hcmQgYnkgc3Bpbm5pbmcgYSBzcGlubmVyLiBFYWNoIHNxdWFyZSBoZSBsYW5kcyBvbiBhZGRzIHRvIGhpcyB0b3RhbCByZWJhdGUgYW1vdW50LiBXaGVuIGhlIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgYm9hcmQgaGUgaXMgcmV3YXJkZWQgd2l0aCB0aGUgdG90YWwgcmViYXRlIGFtb3VudC48XC9wPlxyXG5cclxuPHA+T2YgY291cnNlLCBnaXZlbiB0aGUgY29tcGFueSBpbnZvbHZlZCwgaXQgc2hvdWxkIGNvbWUgYXMgbm8gc3VycHJpc2UgdGhhdCB0aGVyZSBhcmUgYSBjb3VwbGUgb2YgY2F0Y2hlcyB3cml0dGVuIGluIHRoZSBmaW5lIHByaW50LiBUaGUgZmlyc3QgaXMgdGhhdCB0aGVyZSBpcyBhIGxpbWl0IHRvIHRoZSBudW1iZXIgb2YgdHVybnMgdGhlIGN1c3RvbWVyIGhhcyB0byBmaW5pc2ggdGhlIGdhbWU7IGlmIGhlIGRvZXNuJnJzcXVvO3QgcmVhY2ggdGhlIGVuZCB3aXRoaW4gdGhlIGFsbG90dGVkIG51bWJlciBvZiB0dXJucyB0aGVuIGhlIGxvc2VzIGhpcyByZWJhdGUuIFRoZSBzZWNvbmQgaXMgdGhhdCBzb21lIG9mIHRoZSBzcXVhcmVzIGFjdHVhbGx5IGhhdmUgYSBuZWdhdGl2ZSBhbW91bnQgd2hpY2ggc3VidHJhY3QgZnJvbSB0aGUgcmViYXRlIGluc3RlYWQgb2YgYWRkaW5nIHRvIGl0LiBBIHBhcnRpY3VsYXJseSB1bmx1Y2t5IGN1c3RvbWVyIG1pZ2h0IGV2ZW4gY29tZSBvdXQgb2YgdGhlIGdhbWUgd2l0aCBhIG5lZ2F0aXZlIHJlYmF0ZS48XC9wPlxyXG5cclxuPHA+RXZlbiB3aXRoIHRoZXNlIGNhdGNoZXMsIHRoZSBtYW5hZ2VtZW50IG9mIEdsZWFtaW4mcnNxdW87IExlbW9uIGlzIGNvbmNlcm5lZCB0aGF0IHNvbWVvbmUgbWlnaHQgd2luIGEgcGFydGljdWxhcmx5IGxhcmdlIHJlYmF0ZSZtZGFzaDtzb21ldGhpbmcgdGhleSB3b3VsZCBsaWtlIHRvIGF2b2lkIGF0IGFsbCBjb3N0cy4gWW91ciBqb2IgaXMgdG8gdGFrZSBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbiBmb3IgdGhlIFJJUE9GRiBnYW1lIGFuZCBkZWNpZGUgdGhlIG1heGltdW0gcmViYXRlIGEgY3VzdG9tZXIgY291bGQgcG9zc2libHkgb2J0YWluLjxcL3A+XHJcblxyXG48cD5Db25zaWRlciwgZm9yIGV4YW1wbGUsIHRoZSBnYW1lIGJvYXJkIGJlbG93LiBBc3N1bWUgd2UgaGF2ZSA1IHR1cm5zIHRvIGZpbmlzaCB0aGUgZ2FtZSwgYW5kIGVhY2ggdHVybiB3ZSBjYW4gbW92ZSBiZXR3ZWVuIDEgYW5kIDQgc3BhY2VzIGRlcGVuZGluZyBvbiB3aGF0IHdlIHNwaW4uIE5vdGljZSB0aGF0IHdlIG11c3Qgc3RhcnQganVzdCBiZWZvcmUgdGhlIGJvYXJkIGJlZ2lucywgc28gc3Bpbm5pbmcgYSAxIGNhdXNlcyB1cyB0byBsYW5kIG9uIHRoZSBmaXJzdCBzcXVhcmUuIEFsc28gbm90aWNlIHdlIG11c3QgZW5kIGJ5IGxhbmRpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBsYXN0IHNxdWFyZS4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBleGFjdDsgYW55IG51bWJlciB0aGF0IGdldHMgdXMgb2ZmIG9mIHRoZSBib2FyZCB3aWxsIHdvcmsuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL29ubGluZWp1ZGdlaW1hZ2VzLnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb21cL3Byb2JsZW1cLzE0NTUwXC8xLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0Ojc3cHg7IHdpZHRoOjQ5M3B4XCIgXC8+PFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPkZpZ3VyZSAxPFwvcD5cclxuXHJcbjxwPlRoZSBpbGx1c3RyYXRpb24gc2hvd3MgdHdvIGRpZmZlcmVudCBwb3NzaWJsZSB3YXlzIHRoZSBnYW1lIG1pZ2h0IGdvLiBGb2xsb3dpbmcgdGhlIGFycm93cyBvbiB0aGUgdG9wLCBpZiB3ZSBzcGluIGEgMiwgMywgNCwgMSwgYW5kIDEgcmVzcGVjdGl2ZWx5LCB3ZSB3aWxsIHdpbiBhIHRvdGFsIHJlYmF0ZSBvZiA1MCArIDMwICsgMjAgKyA3MCA9ICQxNzAuIEhvd2V2ZXIsIHRoZSBiZXN0IHBvc3NpYmxlIHJlYmF0ZSB3ZSBjb3VsZCB3aW4gd291bGQgYmUgJDIyMC4gV2Ugd291bGQgd2luIHRoaXMgYW1vdW50IGlmIHdlIHNwdW4gYSAxLCAzLCAyLCA0LCBhbmQgMSByZXNwZWN0aXZlbHksIGFzIHNob3duIGJ5IHRoZSBsb3dlciBwYXRoLiBOb3RpY2UgdGhhdCB3ZSBkaWQgbm90IGxhbmQgb24gZXZlcnkgc3F1YXJlIHdpdGggYSBwb3NpdGl2ZSBudW1iZXI7IGlmIHdlIGhhZCB3ZSB3b3VsZG4mcnNxdW87dCBoYXZlIGJlZW4gYWJsZSB0byBtYWtlIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGJvYXJkIGJlZm9yZSB0aGUgNSB0dXJucyB3YXMgdXAuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL29ubGluZWp1ZGdlaW1hZ2VzLnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb21cL3Byb2JsZW1cLzE0NTUwXC8yLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjY4cHg7IHdpZHRoOjQ2MHB4XCIgXC8+PFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPkZpZ3VyZSAyPFwvcD5cclxuXHJcbjxwPlRoZSBpbGx1c3RyYXRpb24gaW4gRmlndXJlIDIgc2hvd3MgYSBnYW1lIHdoZXJlIHdlIGhhdmUgNCB0dXJucyB0byBmaW5pc2ggdGhlIGdhbWUsIGFuZCBjYW4gbW92ZSB1cCB0byAzIHNwYWNlcyBlYWNoIHR1cm4uIEFnYWluLCB0d28gZGlmZmVyZW50IHBhdGhzIGFyZSBzaG93biwgdGhlIG9uZSBvbiB0b3AgZWFybmluZyBhIHJlYmF0ZSBvZiAtJDE1MCwgYW5kIHRoZSBvbmUgb24gYm90dG9tIGVhcm5pbmcgYSByZWJhdGUgb2YgLSQxMDAuIEluIGZhY3QsIC0kMTAwIGlzIHRoZSBoaWdoZXN0IHBvc3NpYmxlIHJlYmF0ZSB3ZSBjb3VsZCBlYXJuIGZvciB0aGlzIGdhbWUgKGEgZmFjdCB0aGF0IHdvdWxkIG5vIGRvdWJ0IHBsZWFzZSB0aGUgbWFuYWdlbWVudCBvZiBHbGVhbWluJnJzcXVvOyBMZW1vbikuIE9mIGNvdXJzZSwgdGhlcmUgYWxzbyBtaWdodCBiZSBhIHNlcXVlbmNlIG9mIG1vdmVzIGluIHdoaWNoIHdlIGRvIG5vdCByZWFjaCB0aGUgZW5kIGJlZm9yZSB0aGUgdHVybiBsaW1pdCZtZGFzaDtlLmcuIHNwaW5uaW5nIGEgMSBldmVyeSB0aW1lLiBBbHRob3VnaCBub3QgZmluaXNoaW5nIHdvdWxkIGFjdHVhbGx5IGJlIHByZWZlcmFibGUgdG8gZmluaXNoaW5nIHdpdGggYSBuZWdhdGl2ZSByZWJhdGUsIGluIHRoaXMgcHJvYmxlbSB3ZSBhcmUgb25seSBnb2luZyB0byBjb25zaWRlciBzZXF1ZW5jZXMgb2YgbW92ZXMgd2hpY2ggYWxsb3cgdXMgdG8gcmVhY2ggdGhlIGVuZCBiZWZvcmUgdGhlIHR1cm4gbGltaXQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgaW5wdXQgY29uc2lzdHMgb2Ygb25lIHRvIHR3ZW50eSBkYXRhIHNldHMsIGZvbGxvd2VkIGJ5IGEgbGluZSBjb250YWluaW5nIG9ubHkgMC4gVGhlIGZpcnN0IGxpbmUgb2YgYSBkYXRhIHNldCBjb250YWlucyB0aHJlZSBzcGFjZSBzZXBhcmF0ZWQgaW50ZWdlcnMgTiBTIFQsIHdoZXJlPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+TiBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIHNxdWFyZXMgb24gdGhlIGJvYXJkLCAyICZsZTsgTiAmbGU7IDIwMC48XC9saT5cclxuXHQ8bGk+UyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc3BhY2VzIHlvdSBtYXkgYWR2YW5jZSBpbiBlYWNoIHR1cm4sIDIgJmxlOyBTICZsZTsgMTAuPFwvbGk+XHJcblx0PGxpPlQgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHR1cm5zIGFsbG93ZWQsIHdoZXJlIE4gKyAxICZsZTsgU1QgYW5kIFQgJmxlOyBOICsgMS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5UaGUgZGF0YSBzZXQgZW5kcyB3aXRoIG9uZSBvciBtb3JlIGxpbmVzIGNvbnRhaW5pbmcgYSB0b3RhbCBvZiBOIGludGVnZXJzLCB0aGUgbnVtYmVycyBvbiB0aGUgYm9hcmQuIEVhY2ggbnVtYmVyIGhhcyBtYWduaXR1ZGUgbGVzcyB0aGFuIDEwMDAwLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlRoZSBvdXRwdXQgZm9yIGVhY2ggZGF0YSBzZXQgaXMgb25lIGxpbmUgY29udGFpbmluZyBvbmx5IHRoZSBtYXhpbXVtIHBvc3NpYmxlIHJlYmF0ZSB0aGF0IGNhbiBiZSBlYXJuZWQgYnkgY29tcGxldGluZyB0aGUgZ2FtZS48XC9wPlxyXG5cclxuPHA+VG8gY29tcGxldGUgdGhlIGdhbWUgeW91IG11c3QgYWR2YW5jZSBhIHRvdGFsIG9mIE4gKyAxIHNwYWNlcyBpbiBhdCBtb3N0IFQgdHVybnMsIGVhY2ggdHVybiBhZHZhbmNpbmcgZnJvbSAxIHRvIFMgc3BhY2VzIGluY2x1c2l2ZS4gSXQgd2lsbCBhbHdheXMgYmUgcG9zc2libGUgdG8gY29tcGxldGUgYSBnYW1lLiBIb3dldmVyLCB0aGVyZSBtYXkgYmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBkaWZmZXJlbnQgdHVybiBzZXF1ZW5jZXMgdGhhdCB3aWxsIGZpbmlzaCwgc28geW91IHdpbGwgbmVlZCB0byBiZSBjYXJlZnVsIGluIGNob29zaW5nIHlvdXIgYWxnb3JpdGhtLjxcL3A+XHJcblxyXG48cD5UaGUgc2FtcGxlIGlucHV0IGRhdGEgY29ycmVzcG9uZHMgdG8gdGhlIGdhbWVzIGluIHRoZSBGaWd1cmVzLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=