시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB254756028.846%

문제

이순신 장군은 판옥선이라 불리는 특별한 전함을 전쟁에 대비해 만들었다. 판옥선의 성능을 평가하기 위해, 조선 수병들로 하여금 경주를 하도록 할 계획이다. n 명의 수군들을 1 번부터 n번까지 차례로 번호를 매긴 후, 각 전함에 연속된 번호의 수군들의 몸무게의 합이 전함의 중량 한계 W를 넘지 않도록 배정하려고 한다. 즉, 한 전함에 배정된 수군들은 연속된 번호를 가져야하며, 그들의 몸무게 합이 W 이하여야 한다. 충분히 많은 전함을 준비했기 때문에, 한 명 이상의 수군이 배정된 전함의 수는 중요하지 않고, 경주의 공정성, 즉 배정의 공정성이 더 중요하다. 이순신 장군은 전함 별 수군들의 몸무게 합의 차이가 작을수록 더 공정한 배정이라고 판단하였다.

보다 명확히 설명하면 다음과 같다. 한 명 이상의 수군이 배정된 전함의 여유중량 (emptiness) 값은 W와 그 전함에 배정된 수군들의 몸무게 합의 차이를 제곱한 값으로 정의한다. 배정의 불공정성 (unfairness) 값은 배정에 사용된 군함의 여유중량 값들 중에서 최댓값으로 정의한다. 이순신 장군은 불공정성이 가장 작은 배정이 가장 공정한 배정이라고 생각했다.

예를 들어, 3 명의 수군의 몸무게가 차례대로 10, 20, 30이고, W = 50 인 경우를 고려해보자. 가능한 배정 중 하나인 {[1],[2],[3]} 은 하나의 전함에 수군을 한 명씩 배정하는 것이다. 이 배정의 불공정성은 max{(50 − 10)2, (50 − 20)2, (50 − 30)2} = 1600이다. 다른 두 가지 배정 {[1, 2],[3]}과 {[1],[2, 3]} 도 가능한데, 두 배정의 불공정성은 각각 max{(50 − 30)2, (50 − 30)2} = 400 과 max{(50 − 10)2, (50 − 50)2} = 1600이 된다. 그러나 3 명의 수군들의 몸무게 합이 W = 50보다 크기 때문에 모두 한 전함에 배정할 수는 없다. 따라서, 불공정성의 최소 값은 400이 되어 {[1, 2],[3]}이 가장 공정한 배정이 된다. 이 배정은 1번, 2번 수군을 같은 전함에, 3번 수군은 다른 전함에 배정하는 것이다.

여러분은 전함의 한계 중량 W와 1번부터 n번 수군까지 몸무게가 차례로 주어질 때, 가장 공정한 배정을 찾는 프로그램을 작성해야 한다.

입력

입력은 표준입력을 사용한다. 첫 번째 줄에는 전함의 한계 중량 W (1 ≤ W ≤ 109)와 수군의 수 n (1 ≤ n ≤ 500,000)이 공백을 사이에 두고 차례로 주어진다. 두 번째 줄에는 수군의 몸무게가 1번 수군부터 n번 수군의 순서로 차례로 주어진다. 수군 몸무게는 1 이상 W 이하의 정수이다. 수군 한 명의 몸무게는 W보다 크지 않다.

출력

출력은 표준출력을 사용한다. 주어진 입력에 대한 배정의 불공정성의 최소 값을 한 줄에 출력한다.

예제 입력 1

50 3
10 20 30

예제 출력 1

400

예제 입력 2

5 4
1 3 1 3

예제 출력 2

1
W3sicHJvYmxlbV9pZCI6IjE2Mjg2IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiUGFub2tzZW9uIiwiZGVzY3JpcHRpb24iOiI8cD5cdWM3NzRcdWMyMWNcdWMyZTAgXHVjN2E1XHVhZDcwXHVjNzQwIFx1ZDMxMFx1YzYyNVx1YzEyMFx1Yzc3NFx1Yjc3YyBcdWJkODhcdWI5YWNcdWIyOTQgXHVkMmI5XHViY2M0XHVkNTVjIFx1YzgwNFx1ZDU2OFx1Yzc0NCBcdWM4MDRcdWM3YzFcdWM1ZDAgXHViMzAwXHViZTQ0XHVkNTc0IFx1YjljY1x1YjRlNFx1YzVjOFx1YjJlNC4gXHVkMzEwXHVjNjI1XHVjMTIwXHVjNzU4IFx1YzEzMVx1YjJhNVx1Yzc0NCBcdWQzYzlcdWFjMDBcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0LCBcdWM4NzBcdWMxMjAgXHVjMjE4XHViY2QxXHViNGU0XHViODVjIFx1ZDU1OFx1YzVlY1x1YWUwOCBcdWFjYmRcdWM4ZmNcdWI5N2MgXHVkNTU4XHViM2M0XHViODVkIFx1ZDU2MCBcdWFjYzRcdWQ2OGRcdWM3NzRcdWIyZTQuIDxlbT5uPFwvZW0+IFx1YmE4NVx1Yzc1OCBcdWMyMThcdWFkNzBcdWI0ZTRcdWM3NDQgMSBcdWJjODhcdWJkODBcdWQxMzAgPGVtPm48XC9lbT5cdWJjODhcdWFlNGNcdWM5YzAgXHVjYzI4XHViODQwXHViODVjIFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWI5ZTRcdWFlMzQgXHVkNmM0LCBcdWFjMDEgXHVjODA0XHVkNTY4XHVjNWQwIFx1YzVmMFx1YzE4ZFx1YjQxYyBcdWJjODhcdWQ2MzhcdWM3NTggXHVjMjE4XHVhZDcwXHViNGU0XHVjNzU4IFx1YmFiOFx1YmIzNFx1YWM4Y1x1Yzc1OCBcdWQ1NjlcdWM3NzQgXHVjODA0XHVkNTY4XHVjNzU4IFx1YzkxMVx1YjdjOSBcdWQ1NWNcdWFjYzQgPGVtPlc8XC9lbT5cdWI5N2MgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjNjNFx1Yjg1ZCBcdWJjMzBcdWM4MTVcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM5ODksIFx1ZDU1YyBcdWM4MDRcdWQ1NjhcdWM1ZDAgXHViYzMwXHVjODE1XHViNDFjIFx1YzIxOFx1YWQ3MFx1YjRlNFx1Yzc0MCBcdWM1ZjBcdWMxOGRcdWI0MWMgXHViYzg4XHVkNjM4XHViOTdjIFx1YWMwMFx1YzgzOFx1YzU3Y1x1ZDU1OFx1YmE3MCwgXHVhZGY4XHViNGU0XHVjNzU4IFx1YmFiOFx1YmIzNFx1YWM4YyBcdWQ1NjlcdWM3NzQgPGVtPlc8XC9lbT4gXHVjNzc0XHVkNTU4XHVjNWVjXHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVjZGE5XHViZDg0XHVkNzg4IFx1YjljZVx1Yzc0MCBcdWM4MDRcdWQ1NjhcdWM3NDQgXHVjOTAwXHViZTQ0XHVkNTg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVkNTVjIFx1YmE4NSBcdWM3NzRcdWMwYzFcdWM3NTggXHVjMjE4XHVhZDcwXHVjNzc0IFx1YmMzMFx1YzgxNVx1YjQxYyBcdWM4MDRcdWQ1NjhcdWM3NTggXHVjMjE4XHViMjk0IFx1YzkxMVx1YzY5NFx1ZDU1OFx1YzljMCBcdWM1NGFcdWFjZTAsIFx1YWNiZFx1YzhmY1x1Yzc1OCBcdWFjZjVcdWM4MTVcdWMxMzEsIFx1Yzk4OSBcdWJjMzBcdWM4MTVcdWM3NTggXHVhY2Y1XHVjODE1XHVjMTMxXHVjNzc0IFx1YjM1NCBcdWM5MTFcdWM2OTRcdWQ1NThcdWIyZTQuIFx1Yzc3NFx1YzIxY1x1YzJlMCBcdWM3YTVcdWFkNzBcdWM3NDAgXHVjODA0XHVkNTY4IFx1YmNjNCBcdWMyMThcdWFkNzBcdWI0ZTRcdWM3NTggXHViYWI4XHViYjM0XHVhYzhjIFx1ZDU2OVx1Yzc1OCBcdWNjMjhcdWM3NzRcdWFjMDAgXHVjNzkxXHVjNzQ0XHVjMjE4XHViODVkIFx1YjM1NCBcdWFjZjVcdWM4MTVcdWQ1NWMgXHViYzMwXHVjODE1XHVjNzc0XHViNzdjXHVhY2UwIFx1ZDMxMFx1YjJlOFx1ZDU1OFx1YzYwMFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViY2Y0XHViMmU0IFx1YmE4NVx1ZDY1NVx1ZDc4OCBcdWMxMjRcdWJhODVcdWQ1NThcdWJhNzQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC4gXHVkNTVjIFx1YmE4NSBcdWM3NzRcdWMwYzFcdWM3NTggXHVjMjE4XHVhZDcwXHVjNzc0IFx1YmMzMFx1YzgxNVx1YjQxYyBcdWM4MDRcdWQ1NjhcdWM3NTggXHVjNWVjXHVjNzIwXHVjOTExXHViN2M5IChlbXB0aW5lc3MpIFx1YWMxMlx1Yzc0MCA8ZW0+VzxcL2VtPlx1YzY0MCBcdWFkZjggXHVjODA0XHVkNTY4XHVjNWQwIFx1YmMzMFx1YzgxNVx1YjQxYyBcdWMyMThcdWFkNzBcdWI0ZTRcdWM3NTggXHViYWI4XHViYjM0XHVhYzhjIFx1ZDU2OVx1Yzc1OCBcdWNjMjhcdWM3NzRcdWI5N2MgXHVjODFjXHVhY2YxXHVkNTVjIFx1YWMxMlx1YzczY1x1Yjg1YyBcdWM4MTVcdWM3NThcdWQ1NWNcdWIyZTQuIFx1YmMzMFx1YzgxNVx1Yzc1OCBcdWJkODhcdWFjZjVcdWM4MTVcdWMxMzEgKHVuZmFpcm5lc3MpIFx1YWMxMlx1Yzc0MCBcdWJjMzBcdWM4MTVcdWM1ZDAgXHVjMGFjXHVjNmE5XHViNDFjIFx1YWQ3MFx1ZDU2OFx1Yzc1OCBcdWM1ZWNcdWM3MjBcdWM5MTFcdWI3YzkgXHVhYzEyXHViNGU0IFx1YzkxMVx1YzVkMFx1YzExYyBcdWNkNWNcdWIzMTNcdWFjMTJcdWM3M2NcdWI4NWMgXHVjODE1XHVjNzU4XHVkNTVjXHViMmU0LiBcdWM3NzRcdWMyMWNcdWMyZTAgXHVjN2E1XHVhZDcwXHVjNzQwIFx1YmQ4OFx1YWNmNVx1YzgxNVx1YzEzMVx1Yzc3NCBcdWFjMDBcdWM3YTUgXHVjNzkxXHVjNzQwIFx1YmMzMFx1YzgxNVx1Yzc3NCBcdWFjMDBcdWM3YTUgXHVhY2Y1XHVjODE1XHVkNTVjIFx1YmMzMFx1YzgxNVx1Yzc3NFx1Yjc3Y1x1YWNlMCBcdWMwZGRcdWFjMDFcdWQ1ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIDMgXHViYTg1XHVjNzU4IFx1YzIxOFx1YWQ3MFx1Yzc1OCBcdWJhYjhcdWJiMzRcdWFjOGNcdWFjMDAgXHVjYzI4XHViODQwXHViMzAwXHViODVjIDEwLCAyMCwgMzBcdWM3NzRcdWFjZTAsIDxlbT5XPFwvZW0+ID0gNTAgXHVjNzc4IFx1YWNiZFx1YzZiMFx1Yjk3YyBcdWFjZTBcdWI4MjRcdWQ1NzRcdWJjZjRcdWM3OTAuIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWJjMzBcdWM4MTUgXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yzc3OCB7WzFdLFsyXSxbM119IFx1Yzc0MCBcdWQ1NThcdWIwOThcdWM3NTggXHVjODA0XHVkNTY4XHVjNWQwIFx1YzIxOFx1YWQ3MFx1Yzc0NCBcdWQ1NWMgXHViYTg1XHVjNTI5IFx1YmMzMFx1YzgxNVx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzRcdWIyZTQuIFx1Yzc3NCBcdWJjMzBcdWM4MTVcdWM3NTggXHViZDg4XHVhY2Y1XHVjODE1XHVjMTMxXHVjNzQwIG1heHsoNTAgJm1pbnVzOyAxMCk8c3VwPjI8XC9zdXA+LCAoNTAgJm1pbnVzOyAyMCk8c3VwPjI8XC9zdXA+LCAoNTAgJm1pbnVzOyAzMCk8c3VwPjI8XC9zdXA+fSA9IDE2MDBcdWM3NzRcdWIyZTQuIFx1YjJlNFx1Yjk3OCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1YmMzMFx1YzgxNSB7WzEsIDJdLFszXX1cdWFjZmMge1sxXSxbMiwgM119IFx1YjNjNCBcdWFjMDBcdWIyYTVcdWQ1NWNcdWIzNzAsIFx1YjQ1MCBcdWJjMzBcdWM4MTVcdWM3NTggXHViZDg4XHVhY2Y1XHVjODE1XHVjMTMxXHVjNzQwIFx1YWMwMVx1YWMwMSBtYXh7KDUwICZtaW51czsgMzApPHN1cD4yPFwvc3VwPiwgKDUwICZtaW51czsgMzApPHN1cD4yPFwvc3VwPn0gPSA0MDAgXHVhY2ZjIG1heHsoNTAgJm1pbnVzOyAxMCk8c3VwPjI8XC9zdXA+LCAoNTAgJm1pbnVzOyA1MCk8c3VwPjI8XC9zdXA+fSA9IDE2MDBcdWM3NzQgXHViNDFjXHViMmU0LiBcdWFkZjhcdWI3ZWNcdWIwOTggMyBcdWJhODVcdWM3NTggXHVjMjE4XHVhZDcwXHViNGU0XHVjNzU4IFx1YmFiOFx1YmIzNFx1YWM4YyBcdWQ1NjlcdWM3NzQgPGVtPlc8XC9lbT4gPSA1MFx1YmNmNFx1YjJlNCBcdWQwNmNcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIFx1YmFhOFx1YjQ1MCBcdWQ1NWMgXHVjODA0XHVkNTY4XHVjNWQwIFx1YmMzMFx1YzgxNVx1ZDU2MCBcdWMyMThcdWIyOTQgXHVjNWM2XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1YmQ4OFx1YWNmNVx1YzgxNVx1YzEzMVx1Yzc1OCBcdWNkNWNcdWMxOGMgXHVhYzEyXHVjNzQwIDQwMFx1Yzc3NCBcdWI0MThcdWM1YjQge1sxLCAyXSxbM119XHVjNzc0IFx1YWMwMFx1YzdhNSBcdWFjZjVcdWM4MTVcdWQ1NWMgXHViYzMwXHVjODE1XHVjNzc0IFx1YjQxY1x1YjJlNC4gXHVjNzc0IFx1YmMzMFx1YzgxNVx1Yzc0MCAxXHViYzg4LCAyXHViYzg4IFx1YzIxOFx1YWQ3MFx1Yzc0NCBcdWFjMTlcdWM3NDAgXHVjODA0XHVkNTY4XHVjNWQwLCAzXHViYzg4IFx1YzIxOFx1YWQ3MFx1Yzc0MCBcdWIyZTRcdWI5NzggXHVjODA0XHVkNTY4XHVjNWQwIFx1YmMzMFx1YzgxNVx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCBcdWM4MDRcdWQ1NjhcdWM3NTggXHVkNTVjXHVhY2M0IFx1YzkxMVx1YjdjOSA8ZW0+VzxcL2VtPlx1YzY0MCAxXHViYzg4XHViZDgwXHVkMTMwIDxlbT5uPFwvZW0+XHViYzg4IFx1YzIxOFx1YWQ3MFx1YWU0Y1x1YzljMCBcdWJhYjhcdWJiMzRcdWFjOGNcdWFjMDAgXHVjYzI4XHViODQwXHViODVjIFx1YzhmY1x1YzViNFx1YzljOCBcdWI1NGMsIFx1YWMwMFx1YzdhNSBcdWFjZjVcdWM4MTVcdWQ1NWMgXHViYzMwXHVjODE1XHVjNzQ0IFx1Y2MzZVx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWQ0NWNcdWM5MDBcdWM3ODVcdWI4MjVcdWM3NDQgXHVjMGFjXHVjNmE5XHVkNTVjXHViMmU0LiBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM4MDRcdWQ1NjhcdWM3NTggXHVkNTVjXHVhY2M0IFx1YzkxMVx1YjdjOSA8ZW0+VzxcL2VtPiAoMSAmbGU7IDxlbT5XPFwvZW0+ICZsZTsgMTA8c3VwPjk8XC9zdXA+KVx1YzY0MCBcdWMyMThcdWFkNzBcdWM3NTggXHVjMjE4IDxlbT5uPFwvZW0+ICgxICZsZTsgPGVtPm48XC9lbT4gJmxlOyA1MDAsMDAwKVx1Yzc3NCBcdWFjZjVcdWJjMzFcdWM3NDQgXHVjMGFjXHVjNzc0XHVjNWQwIFx1YjQ1MFx1YWNlMCBcdWNjMjhcdWI4NDBcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWI0NTAgXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWMyMThcdWFkNzBcdWM3NTggXHViYWI4XHViYjM0XHVhYzhjXHVhYzAwIDFcdWJjODggXHVjMjE4XHVhZDcwXHViZDgwXHVkMTMwIDxlbT5uPFwvZW0+XHViYzg4IFx1YzIxOFx1YWQ3MFx1Yzc1OCBcdWMyMWNcdWMxMWNcdWI4NWMgXHVjYzI4XHViODQwXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjMjE4XHVhZDcwIFx1YmFiOFx1YmIzNFx1YWM4Y1x1YjI5NCAxIFx1Yzc3NFx1YzBjMSA8ZW0+VzxcL2VtPiBcdWM3NzRcdWQ1NThcdWM3NTggXHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LiBcdWMyMThcdWFkNzAgXHVkNTVjIFx1YmE4NVx1Yzc1OCBcdWJhYjhcdWJiMzRcdWFjOGNcdWIyOTQgPGVtPlc8XC9lbT5cdWJjZjRcdWIyZTQgXHVkMDZjXHVjOWMwIFx1YzU0YVx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNkOWNcdWI4MjVcdWM3NDAgXHVkNDVjXHVjOTAwXHVjZDljXHViODI1XHVjNzQ0IFx1YzBhY1x1YzZhOVx1ZDU1Y1x1YjJlNC4gXHVjOGZjXHVjNWI0XHVjOWM0IFx1Yzc4NVx1YjgyNVx1YzVkMCBcdWIzMDBcdWQ1NWMgXHViYzMwXHVjODE1XHVjNzU4IFx1YmQ4OFx1YWNmNVx1YzgxNVx1YzEzMVx1Yzc1OCBcdWNkNWNcdWMxOGMgXHVhYzEyXHVjNzQ0IFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjE2Mjg2IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUGFub2tzZW9uIiwiZGVzY3JpcHRpb24iOiI8cD5BZG1pcmFsIFlpIFN1bi1zaW4gb3JkZXJlZCB0byBidWlsZCB0aGUgc3BlY2lhbCBiYXR0bGVzaGlwLCBjYWxsZWQgUGFub2tzZW9uLCB0byBwcmVwYXJlIHRoZSB3YXIgaW4gdGhlIEpvc2VvbiBEeW5hc3R5LiBUbyB0ZXN0IGl0cyBwZXJmb3JtYW5jZSwgaGUgZGVjaWRlZCB0byBoYXZlIGEgYmF0dGxlc2hpcCByYWNlIHdpdGggSm9zZW9uIG5hdnkgc29sZGllcnMuIEFkbWlyYWwgWWkgbnVtYmVyZWQgPGVtPm48XC9lbT4gc29sZGllcnMgZnJvbSAxIHRvIDxlbT5uPFwvZW0+LCBsaW5lZCB1cCBpbiB0aGF0IG9yZGVyLiBIZSBhc3NpZ25lZCB0aGUgc29sZGllcnMgdG8gdGhlIHNoaXBzIHN1Y2ggdGhhdCBzb2xkaWVycyBhc3NpZ25lZCB0byBhIHNoaXAgaGF2ZSBjb25zZWN1dGl2ZSBudW1iZXJzLCBhbmQgdGhlIHN1bSBvZiB0aGVpciB3ZWlnaHRzIG11c3Qgbm90IGV4Y2VlZCB0aGUgd2VpZ2h0IGxpbWl0IDxlbT5XPFwvZW0+IG9mIHRoZSBzaGlwLiBIZSBkaWQgbm90IG1pbmQgdGhlIG51bWJlciBvZiBzaGlwcyB1c2VkIGZvciB0aGlzIGFzc2lnbm1lbnQgc2luY2UgaGUgYnVpbHQgZW5vdWdoIG51bWJlciBvZiBzaGlwcy4gVGhlIHBvaW50IGhlIGNhcmVkIGFib3V0IGlzIHRoZSBmYWlybmVzcyBvZiB0aGUgcmFjZS4gSGUgdGhvdWdodCB0aGUgZmFpcm5lc3Mgd291bGQgYmUgZ3VhcmFudGVlZCBpZiB0aGUgc29sZGllcnMmcnNxdW87IHdlaWdodCBzdW1zIGFyZSB3ZWxsIGJhbGFuY2VkIG92ZXIgdGhlIHNoaXBzLiBJbiBvdGhlciB3b3Jkcywgc29sZGllcnMgc2hvdWxkIGJlIGV2ZW5seSBhc3NpZ25lZCB0byB0aGUgc2hpcHMgZm9yIHRoZWlyIHdlaWdodHMuPFwvcD5cclxuXHJcbjxwPk1vcmUgcHJlY2lzZWx5LCB0aGUgZW1wdGluZXNzIG9mIGEgc2hpcCB0aGF0IG9uZSBvciBtb3JlIHNvbGRpZXJzIGFyZSBhc3NpZ25lZCB0byBpcyBkZWZpbmVkIGFzIHRoZSBzcXVhcmUgb2YgdGhlIGRpZmZlcmVuY2Ugb2YgPGVtPlc8XC9lbT4gYW5kIHRoZSBzdW0gb2Ygd2VpZ2h0cyBvZiB0aGUgc29sZGllcnMgb2YgdGhlIHNoaXAuIFRoZSB1bmZhaXJuZXNzIG9mIGFuIGFzc2lnbm1lbnQgaXMgdGhlIG1heGltdW0gZW1wdGluZXNzIG9mIHRoZSBzaGlwcyBpbiB0aGUgYXNzaWdubWVudC4gQWRtaXJhbCBZaSB3YW50ZWQgdG8gZ3VhcmFudGVlIHRoZSBoaWdoIGZhaXJuZXNzIGJ5IHN1Y2ggYW4gYXNzaWdubWVudCBmb3IgdGhlIHJhY2Ugd2hvc2UgdW5mYWlybmVzcyBpcyBtaW5pbXVtLCBpLmUuLCB0aGUgZmFpcm5lc3MgaXMgbWF4aW1pemVkLjxcL3A+XHJcblxyXG48cD5Gb3IgaW5zdGFuY2UsIHdlIGFyZSBnaXZlbiBhIHdlaWdodCBzZXF1ZW5jZSAoMTAsIDIwLCAzMCkgb2YgMyBzb2xkaWVycyB3aXRoIDxlbT5XPFwvZW0+ID0gNTAuIEFuIGFzc2lnbm1lbnQge1sxXSxbMl0sWzNdfSB0aGF0IGVhY2ggc29sZGllciBpcyBhc3NpZ25lZCB0byBhbiBpbmRpdmlkdWFsIHNoaXAgaGFzIHRoZSB1bmZhaXJuZXNzIHZhbHVlIG9mIG1heHsoNTAgJm1pbnVzOyAxMCk8c3VwPjI8XC9zdXA+LCAoNTAgJm1pbnVzOyAyMCk8c3VwPjI8XC9zdXA+LCAoNTAgJm1pbnVzOyAzMCk8c3VwPjI8XC9zdXA+fSA9IDE2MDAuIFdlIGNhbiBhbHNvIGNvbnNpZGVyIHR3byBvdGhlciBhc3NpZ25tZW50cyB1c2luZyB0d28gc2hpcHMsIHtbMSwgMl0sWzNdfSBhbmQge1sxXSxbMiwgM119LCB3aG9zZSB1bmZhaXJuZXNzIHZhbHVlcyBhcmUgbWF4eyg1MCAmbWludXM7IDMwKTxzdXA+MjxcL3N1cD4sICg1MCAmbWludXM7IDMwKTxzdXA+MjxcL3N1cD59ID0gNDAwIGFuZCBtYXh7KDUwICZtaW51czsgMTApPHN1cD4yPFwvc3VwPiwgKDUwICZtaW51czsgNTApPHN1cD4yPFwvc3VwPn0gPSAxNjAwICwgcmVzcGVjdGl2ZWx5LiBBbGwgdGhyZWUgc29sZGllcnMgY2Fubm90IGJlIGFzc2lnbmVkIHRvIG9uZSBzaGlwIGJlY2F1c2UgdGhlaXIgd2VpZ2h0IHN1bSBpcyBvdmVyIDxlbT5XPFwvZW0+ID0gNTAuIFRodXMgdGhlIG1pbmltdW0gdW5mYWlybmVzcyB2YWx1ZSBpcyA0MDAsIGFuZCB0aGUgZmFpcmVzdCBhc3NpZ25tZW50IGlzIHRoYXQgdGhlIGZpcnN0IHR3byBzb2xkaWVycyBhcmUgYXNzaWduZWQgdG8gdGhlIG9uZSBzaGlwIGFuZCB0aGUgdGhpcmQgc29sZGllciB0byB0aGUgb3RoZXIgc2hpcCBhbG9uZS48XC9wPlxyXG5cclxuPHA+R2l2ZW4gYSB3ZWlnaHQgbGltaXQgPGVtPlc8XC9lbT4gb2YgdGhlIGJhdHRsZXNoaXAgYW5kIHRoZSB3ZWlnaHRzIG9mIDxlbT5uPFwvZW0+IHNvbGRpZXJzIG51bWJlcmVkIDEgdG8gPGVtPm48XC9lbT4sIHdyaXRlIGEgcHJvZ3JhbSB0byBmaW5kIGEgZmFpcmVzdCBhc3NpZ25tZW50IGZvciB0aGUgYmF0dGxlc2hpcCByYWNlLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+WW91ciBwcm9ncmFtIGlzIHRvIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4gVGhlIGlucHV0IHN0YXJ0cyB3aXRoIGEgbGluZSBjb250YWluaW5nIHR3byBpbnRlZ2VycywgPGVtPlc8XC9lbT4gKDEgJmxlOyA8ZW0+VzxcL2VtPiAmbGU7IDEwPHN1cD45PFwvc3VwPikgYW5kIDxlbT5uPFwvZW0+ICgxICZsZTsgPGVtPm48XC9lbT4gJmxlOyA1MDAsMDAwKSwgd2hlcmUgPGVtPlc8XC9lbT4gaXMgdGhlIHdlaWdodCBsaW1pdCBvZiB0aGUgYmF0dGxlc2hpcCBhbmQgPGVtPm48XC9lbT4gaXMgdGhlIG51bWJlciBvZiBKb3Nlb24gbmF2eSBzb2xkaWVycy4gVGhlIHNlY29uZCBsaW5lIGNvbnRhaW5zIGEgc2VxdWVuY2Ugb2YgPGVtPm48XC9lbT4gd2VpZ2h0cyBvZiBzb2xkaWVycywgb3JkZXJlZCBieSB0aGUgc29sZGllcnMmcnNxdW87IG51bWJlcnMgZnJvbSAxIHRvIDxlbT5uPFwvZW0+LiBUaGUgd2VpZ2h0cyBhcmUgaW50ZWdlcnMgYmV0d2VlbiAxIGFuZCA8ZW0+VzxcL2VtPiwgaW5jbHVzaXZlbHkuIFlvdSBjYW4gYXNzdW1lIHRoYXQgbm8gc2luZ2xlIHNvbGRpZXIgd2VpZ2hzIG1vcmUgdGhhbiA8ZW0+VzxcL2VtPi48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5Zb3VyIHByb2dyYW0gaXMgdG8gd3JpdGUgdG8gc3RhbmRhcmQgb3V0cHV0LiBQcmludCBleGFjdGx5IG9uZSBsaW5lIHdoaWNoIGNvbnRhaW5zIHRoZSBtaW5pbXVtIHVuZmFpcm5lc3MgZm9yIHRoZSBpbnB1dC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d