시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (하단 참고)512 MB49221758.621%

문제

Alice 와 Albert 는 종종 카드 게임을 하는데, 동생인 Albert는 게임에서 지면 너무 슬퍼하기 때문에 Alice는 일부러 져주려고 한다.

두 사람이 하는 게임은 n장의 카드를 이용하는데 각 카드에는 영문 대문자 (A-Z) 하나가 적혀있다. 아래와 같은 규칙으로 게임을 하는데, 동생인 Albert는 아직 어리기 때문에 항상 Alice가 예측한대로 플레이 한다.

  • 먼저, 두 사람이 알파벳이 적힌 카드 n장을 좌측부터 우측으로 임의의 순서로 나열한다.
  • 두 사람이 번갈아가며 카드를 한 장씩 가져오는데, 가장 좌측 혹은 가장 우측에 놓인 카드만 가져올 수 있다.
  • Albert가 먼저 시작하고, 그 후 번갈아가면서 카드를 가져온다.
    • Albert의 차례에는 "ALBERT" 를 구성하는 6개의 알파벳 중 하나가 적힌 카드를 가져오면 Albert가 2점을 얻는다.
    • Alice의 차례에는 "ALICE"를 구성하는 5개의 알파벳 중 하나가 적힌 카드를 가져오면 Alice가 1점을 얻는다.
  • Albert는 항상 아래 규칙에 따라 카드를 가져온다:
    • 만약 가장 좌측과 가장 우측에 놓인 카드가 모두 2점을 주는 카드라면 왼쪽에 놓인 카드를 가져온다.
    • 만약 가장 좌측과 가장 우측에 놓인 카드가 점수를 주는 카드가 아니라면 우측에 놓인 카드를 가져온다.
    • 만약 두 카드 중 한 장만 2점을 주는 카드라면, 해당 카드를 가져온다.

Alice는 Albert에게 일부러 져주되 게임이 끝났을 때 (Albert의 점수 - Alice 의 점수)가 최소가 되도록 하고 싶다.

예를 들어, n = 4이고 바닥에 놓인 카드가 "BCCB" 라 하자.

  • 1턴: Albert는 위 규칙에 따라 가장 좌측에 놓인 카드 "B"를 가져와 2점을 얻는다. 남은 카드는 "CCB" 이다.
  • 2턴: Alice는 가장 좌측의 "C"를 가져오거나 가장 우측의 "B"를 가져올 수 있다.
    • 가장 좌측의 C를 가져온 경우: 1점을 얻고, "CB"가 남는다. Albert는 가장 우측의 B를 가져오고, Alice가 마지막 남은 C를 가져와 두 사람의 점수는 4점 (Albert) 2점 (Alice)가 되어 점수의 차이가 2가 된다.
    • 가장 우측의 B를 가져온 경우: 0점을 얻고, "CC"가 남는다. Albert는 가장 우측의 C를 가져오고, Alice가 마지막 남은 C를 가져와 두 사람의 점수는 2점 (Albert) 1점 (Alice)가 되어 점수의 차이가 1이 된다.
  • 이 예제의 경우, Alice가 최선을 다해 Albert가 이기되 점수 차이를 최소화 한다면 1점 차로 아슬아슬하게 질 수 있다.

다른 예로, n = 4이고 바닥에 놓인 카드가 "CLCD"라 하자.

  • 1턴: Albert는 위 규칙에 따라 가장 우측에 놓인 카드 "D"를 가져와 0점을 얻는다. 남은 카드는 "CLC" 이다.
  • 2턴: Alice는 좌측 혹은 우측의 C를 가져올 수 있다.
    • 가장 좌측의 C를 가져온 경우: 1점을 얻고 "LC"가 남는다. Albert는 규칙대로 좌측의 L을 가져오고 (2점), Alice가 마지막 남은 C를 가져와 동점으로 게임이 끝난다.
    • 가장 우측의 C를 가져온 경우: 1점을 얻고 "CL"이 남는다. Albert는 규칙대로 우측의 L을 가져오고 (2점), Alice가 마지막 남은 C를 가져와 동점으로 게임이 끝난다.
  • 이 예제의 경우, 만약 Albert가 처음에 가장 좌측에 놓인 C를 가져온다면, Alice가 그 다음 턴에 우측에 놓인 D를 가져오고, Albert가 L을 가져와 2점을 얻고 Alice가 마지막 남은 C를 가져와서 1점차로 아슬아슬하게 져줄 수 있지만, Albert는 점수를 얻지 못하는 상황에서는 항상 우측의 카드를 가져오기 때문에 Alice가 져줄 방법이 없다.

입력으로 좌측에서 우측으로 나열된 n장의 카드에 적힌 알파벳이 주어졌을 때, Alice가 최소한의 점수차로 져줄 수 있는 방법을 찾아보자.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스는 한 줄에 걸쳐 영문 대문자로만 구성된 문자열이 공백없이 주어진다.

출력

각 테스트 케이스에 대해 Alice가 최소의 점수차로 Albert에게 져줄 때 이 점수 차이가 무엇인지 출력한다.

만약 져줄 수 있는 방법이 없을 경우 -1을 출력한다.

제한

  • 1 ≤ T ≤ 30
  • 1 ≤ n ≤ 150 (n: 문자열의 길이) 
  • 입력으로 주어지는 문자열은 영문 대문자 (A-Z)로만 구성되어있다.

예제 입력 1

5
ABA
BBB
BCCB
CLCD
ALBERT

예제 출력 1

3
4
1
-1
4

예제 1: Albert가 가장 좌측의 A를 가져오고 (+2점), Alice는 가장 우측의 A를 가져온 후 (+1점), Albert 가 마지막 카드인 B를 가져와 (+2점) 점수 차이는 3이 된다. 2점 이하로 져주는 방법은 없다.

예제 2: Alice가 득점할 수 있는 방법은 없고, Albert가 4점을 얻어 점수차이가 4가 된다.

예제 3-4: 본문에서 다루었다.

예제 5: 두 사람이 순서대로 처음 4턴 동안 A, L, B, E를 가져와서 Albert가 4점, Alice가 2점을 얻은 후 남은 카드는 "RT"가 된다. Albert는 R을 가져오고 (총 6점) Alice가 T를 가져와 점수 차이는 4점이 된다.

W3sicHJvYmxlbV9pZCI6IjIxMzk4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViM2Q5XHVjMGRkXHVjNWQwXHVhYzhjIFx1YzgzOFx1YzhmY1x1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+QWxpY2UgXHVjNjQwIEFsYmVydCBcdWIyOTQgXHVjODg1XHVjODg1IFx1Y2U3NFx1YjRkYyBcdWFjOGNcdWM3ODRcdWM3NDQgXHVkNTU4XHViMjk0XHViMzcwLCBcdWIzZDlcdWMwZGRcdWM3NzggQWxiZXJ0XHViMjk0IFx1YWM4Y1x1Yzc4NFx1YzVkMFx1YzExYyBcdWM5YzBcdWJhNzQgXHViMTA4XHViYjM0IFx1YzJhY1x1ZDM3Y1x1ZDU1OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgQWxpY2VcdWIyOTQgXHVjNzdjXHViZDgwXHViN2VjIFx1YzgzOFx1YzhmY1x1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1MCBcdWMwYWNcdWI3OGNcdWM3NzQgXHVkNTU4XHViMjk0IFx1YWM4Y1x1Yzc4NFx1Yzc0MCBuXHVjN2E1XHVjNzU4IFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NThcdWIyOTRcdWIzNzAgXHVhYzAxIFx1Y2U3NFx1YjRkY1x1YzVkMFx1YjI5NCBcdWM2MDFcdWJiMzggXHViMzAwXHViYjM4XHVjNzkwIChBLVopIFx1ZDU1OFx1YjA5OFx1YWMwMCBcdWM4MDFcdWQ2MDBcdWM3ODhcdWIyZTQuIFx1YzU0NFx1Yjc5OFx1YzY0MCBcdWFjMTlcdWM3NDAgXHVhZGRjXHVjZTU5XHVjNzNjXHViODVjIFx1YWM4Y1x1Yzc4NFx1Yzc0NCBcdWQ1NThcdWIyOTRcdWIzNzAsIFx1YjNkOVx1YzBkZFx1Yzc3OCBBbGJlcnRcdWIyOTQgXHVjNTQ0XHVjOWMxIFx1YzViNFx1YjlhY1x1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHVkNTZkXHVjMGMxIEFsaWNlXHVhYzAwIFx1YzYwOFx1Y2UyMVx1ZDU1Y1x1YjMwMFx1Yjg1YyBcdWQ1MGNcdWI4MDhcdWM3NzQgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YmEzY1x1YzgwMCwgXHViNDUwIFx1YzBhY1x1Yjc4Y1x1Yzc3NCBcdWM1NGNcdWQzMGNcdWJjYjNcdWM3NzQgXHVjODAxXHVkNzhjIFx1Y2U3NFx1YjRkYyBuXHVjN2E1XHVjNzQ0IFx1Yzg4Y1x1Y2UyMVx1YmQ4MFx1ZDEzMCBcdWM2YjBcdWNlMjFcdWM3M2NcdWI4NWMgXHVjNzg0XHVjNzU4XHVjNzU4IFx1YzIxY1x1YzExY1x1Yjg1YyBcdWIwOThcdWM1ZjRcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjQ1MCBcdWMwYWNcdWI3OGNcdWM3NzQgXHViYzg4XHVhYzA4XHVjNTQ0XHVhYzAwXHViYTcwIFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWQ1NWMgXHVjN2E1XHVjNTI5IFx1YWMwMFx1YzgzOFx1YzYyNFx1YjI5NFx1YjM3MCwgXHVhYzAwXHVjN2E1IFx1Yzg4Y1x1Y2UyMSBcdWQ2MzlcdWM3NDAgXHVhYzAwXHVjN2E1IFx1YzZiMFx1Y2UyMVx1YzVkMCBcdWIxOTNcdWM3NzggXHVjZTc0XHViNGRjXHViOWNjIFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNzg4XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5BbGJlcnRcdWFjMDAgXHViYTNjXHVjODAwIFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YWNlMCwgXHVhZGY4IFx1ZDZjNCBcdWJjODhcdWFjMDhcdWM1NDRcdWFjMDBcdWJhNzRcdWMxMWMgXHVjZTc0XHViNGRjXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyOFx1YjJlNC5cclxuXHQ8dWw+XHJcblx0XHQ8bGk+QWxiZXJ0XHVjNzU4IFx1Y2MyOFx1Yjg0MFx1YzVkMFx1YjI5NCAmcXVvdDtBTEJFUlQmcXVvdDsgXHViOTdjIFx1YWQ2Y1x1YzEzMVx1ZDU1OFx1YjI5NCA2XHVhYzFjXHVjNzU4IFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWM5MTEgXHVkNTU4XHViMDk4XHVhYzAwIFx1YzgwMVx1ZDc4YyBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI0XHViYTc0IEFsYmVydFx1YWMwMCAyXHVjODEwXHVjNzQ0IFx1YzViYlx1YjI5NFx1YjJlNC48XC9saT5cclxuXHRcdDxsaT5BbGljZVx1Yzc1OCBcdWNjMjhcdWI4NDBcdWM1ZDBcdWIyOTQgJnF1b3Q7QUxJQ0UmcXVvdDtcdWI5N2MgXHVhZDZjXHVjMTMxXHVkNTU4XHViMjk0IDVcdWFjMWNcdWM3NTggXHVjNTRjXHVkMzBjXHViY2IzIFx1YzkxMSBcdWQ1NThcdWIwOThcdWFjMDAgXHVjODAxXHVkNzhjIFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2MjRcdWJhNzQgQWxpY2VcdWFjMDAgMVx1YzgxMFx1Yzc0NCBcdWM1YmJcdWIyOTRcdWIyZTQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPkFsYmVydFx1YjI5NCBcdWQ1NmRcdWMwYzEgXHVjNTQ0XHViNzk4IFx1YWRkY1x1Y2U1OVx1YzVkMCBcdWI1MzBcdWI3N2MgXHVjZTc0XHViNGRjXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyOFx1YjJlNDpcclxuXHQ8dWw+XHJcblx0XHQ8bGk+XHViOWNjXHVjNTdkIFx1YWMwMFx1YzdhNSBcdWM4OGNcdWNlMjFcdWFjZmMgXHVhYzAwXHVjN2E1IFx1YzZiMFx1Y2UyMVx1YzVkMCBcdWIxOTNcdWM3NzggXHVjZTc0XHViNGRjXHVhYzAwIFx1YmFhOFx1YjQ1MCAyXHVjODEwXHVjNzQ0IFx1YzhmY1x1YjI5NCBcdWNlNzRcdWI0ZGNcdWI3N2NcdWJhNzQgXHVjNjdjXHVjYWJkXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI4XHViMmU0LjxcL2xpPlxyXG5cdFx0PGxpPlx1YjljY1x1YzU3ZCBcdWFjMDBcdWM3YTUgXHVjODhjXHVjZTIxXHVhY2ZjIFx1YWMwMFx1YzdhNSBcdWM2YjBcdWNlMjFcdWM1ZDAgXHViMTkzXHVjNzc4IFx1Y2U3NFx1YjRkY1x1YWMwMCBcdWM4MTBcdWMyMThcdWI5N2MgXHVjOGZjXHViMjk0IFx1Y2U3NFx1YjRkY1x1YWMwMCBcdWM1NDRcdWIyYzhcdWI3N2NcdWJhNzQgXHVjNmIwXHVjZTIxXHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI4XHViMmU0LjxcL2xpPlxyXG5cdFx0PGxpPlx1YjljY1x1YzU3ZCBcdWI0NTAgXHVjZTc0XHViNGRjIFx1YzkxMSBcdWQ1NWMgXHVjN2E1XHViOWNjIDJcdWM4MTBcdWM3NDQgXHVjOGZjXHViMjk0IFx1Y2U3NFx1YjRkY1x1Yjc3Y1x1YmE3NCwgXHVkNTc0XHViMmY5IFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2MjhcdWIyZTQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+QWxpY2VcdWIyOTQgQWxiZXJ0XHVjNWQwXHVhYzhjIFx1Yzc3Y1x1YmQ4MFx1YjdlYyBcdWM4MzhcdWM4ZmNcdWI0MTggXHVhYzhjXHVjNzg0XHVjNzc0IFx1YjA1ZFx1YjBhY1x1Yzc0NCBcdWI1NGMgKEFsYmVydFx1Yzc1OCBcdWM4MTBcdWMyMTggLSBBbGljZSBcdWM3NTggXHVjODEwXHVjMjE4KVx1YWMwMCBcdWNkNWNcdWMxOGNcdWFjMDAgXHViNDE4XHViM2M0XHViODVkIFx1ZDU1OFx1YWNlMCBcdWMyZjZcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIG4gPSA0XHVjNzc0XHVhY2UwIFx1YmMxNFx1YjJlNVx1YzVkMCBcdWIxOTNcdWM3NzggXHVjZTc0XHViNGRjXHVhYzAwICZxdW90O0JDQ0ImcXVvdDsgXHViNzdjIFx1ZDU1OFx1Yzc5MC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xXHVkMTM0OiBBbGJlcnRcdWIyOTQgXHVjNzA0IFx1YWRkY1x1Y2U1OVx1YzVkMCBcdWI1MzBcdWI3N2MgXHVhYzAwXHVjN2E1IFx1Yzg4Y1x1Y2UyMVx1YzVkMCBcdWIxOTNcdWM3NzggXHVjZTc0XHViNGRjICZxdW90O0ImcXVvdDtcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjQwIDJcdWM4MTBcdWM3NDQgXHVjNWJiXHViMjk0XHViMmU0LiBcdWIwYThcdWM3NDAgXHVjZTc0XHViNGRjXHViMjk0ICZxdW90O0NDQiZxdW90OyBcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPjJcdWQxMzQ6IEFsaWNlXHViMjk0IFx1YWMwMFx1YzdhNSBcdWM4OGNcdWNlMjFcdWM3NTggJnF1b3Q7QyZxdW90O1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2MjRcdWFjNzBcdWIwOTggXHVhYzAwXHVjN2E1IFx1YzZiMFx1Y2UyMVx1Yzc1OCAmcXVvdDtCJnF1b3Q7XHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNzg4XHViMmU0LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5cdWFjMDBcdWM3YTUgXHVjODhjXHVjZTIxXHVjNzU4IENcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI4IFx1YWNiZFx1YzZiMDogMVx1YzgxMFx1Yzc0NCBcdWM1YmJcdWFjZTAsICZxdW90O0NCJnF1b3Q7XHVhYzAwIFx1YjBhOFx1YjI5NFx1YjJlNC4gQWxiZXJ0XHViMjk0IFx1YWMwMFx1YzdhNSBcdWM2YjBcdWNlMjFcdWM3NTggQlx1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2MjRcdWFjZTAsIEFsaWNlXHVhYzAwIFx1YjljOFx1YzljMFx1YjljOSBcdWIwYThcdWM3NDAgQ1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2NDAgXHViNDUwIFx1YzBhY1x1Yjc4Y1x1Yzc1OCBcdWM4MTBcdWMyMThcdWIyOTQgNFx1YzgxMCAoQWxiZXJ0KSAyXHVjODEwIChBbGljZSlcdWFjMDAgXHViNDE4XHVjNWI0IFx1YzgxMFx1YzIxOFx1Yzc1OCBcdWNjMjhcdWM3NzRcdWFjMDAgMlx1YWMwMCBcdWI0MWNcdWIyZTQuPFwvbGk+XHJcblx0XHQ8bGk+XHVhYzAwXHVjN2E1IFx1YzZiMFx1Y2UyMVx1Yzc1OCBCXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyOCBcdWFjYmRcdWM2YjA6IDBcdWM4MTBcdWM3NDQgXHVjNWJiXHVhY2UwLCAmcXVvdDtDQyZxdW90O1x1YWMwMCBcdWIwYThcdWIyOTRcdWIyZTQuIEFsYmVydFx1YjI5NCBcdWFjMDBcdWM3YTUgXHVjNmIwXHVjZTIxXHVjNzU4IENcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI0XHVhY2UwLCBBbGljZVx1YWMwMCBcdWI5YzhcdWM5YzBcdWI5YzkgXHViMGE4XHVjNzQwIENcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjQwIFx1YjQ1MCBcdWMwYWNcdWI3OGNcdWM3NTggXHVjODEwXHVjMjE4XHViMjk0IDJcdWM4MTAgKEFsYmVydCkgMVx1YzgxMCAoQWxpY2UpXHVhYzAwIFx1YjQxOFx1YzViNCBcdWM4MTBcdWMyMThcdWM3NTggXHVjYzI4XHVjNzc0XHVhYzAwIDFcdWM3NzQgXHViNDFjXHViMmU0LjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5cdWM3NzQgXHVjNjA4XHVjODFjXHVjNzU4IFx1YWNiZFx1YzZiMCwgQWxpY2VcdWFjMDAgXHVjZDVjXHVjMTIwXHVjNzQ0IFx1YjJlNFx1ZDU3NCBBbGJlcnRcdWFjMDAgXHVjNzc0XHVhZTMwXHViNDE4IFx1YzgxMFx1YzIxOCBcdWNjMjhcdWM3NzRcdWI5N2MgXHVjZDVjXHVjMThjXHVkNjU0IFx1ZDU1Y1x1YjJlNFx1YmE3NCAxXHVjODEwIFx1Y2MyOFx1Yjg1YyBcdWM1NDRcdWMyYWNcdWM1NDRcdWMyYWNcdWQ1NThcdWFjOGMgXHVjOWM4IFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViMmU0XHViOTc4IFx1YzYwOFx1Yjg1YywgbiA9IDRcdWM3NzRcdWFjZTAgXHViYzE0XHViMmU1XHVjNWQwIFx1YjE5M1x1Yzc3OCBcdWNlNzRcdWI0ZGNcdWFjMDAgJnF1b3Q7Q0xDRCZxdW90O1x1Yjc3YyBcdWQ1NThcdWM3OTAuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+MVx1ZDEzNDogQWxiZXJ0XHViMjk0IFx1YzcwNCBcdWFkZGNcdWNlNTlcdWM1ZDAgXHViNTMwXHViNzdjIFx1YWMwMFx1YzdhNSBcdWM2YjBcdWNlMjFcdWM1ZDAgXHViMTkzXHVjNzc4IFx1Y2U3NFx1YjRkYyAmcXVvdDtEJnF1b3Q7XHViOTdjIFx1YWMwMFx1YzgzOFx1YzY0MCAwXHVjODEwXHVjNzQ0IFx1YzViYlx1YjI5NFx1YjJlNC4gXHViMGE4XHVjNzQwIFx1Y2U3NFx1YjRkY1x1YjI5NCAmcXVvdDtDTEMmcXVvdDsgXHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT4yXHVkMTM0OiBBbGljZVx1YjI5NCBcdWM4OGNcdWNlMjEgXHVkNjM5XHVjNzQwIFx1YzZiMFx1Y2UyMVx1Yzc1OCBDXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNzg4XHViMmU0LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5cdWFjMDBcdWM3YTUgXHVjODhjXHVjZTIxXHVjNzU4IENcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI4IFx1YWNiZFx1YzZiMDogMVx1YzgxMFx1Yzc0NCBcdWM1YmJcdWFjZTAgJnF1b3Q7TEMmcXVvdDtcdWFjMDAgXHViMGE4XHViMjk0XHViMmU0LiBBbGJlcnRcdWIyOTQgXHVhZGRjXHVjZTU5XHViMzAwXHViODVjIFx1Yzg4Y1x1Y2UyMVx1Yzc1OCBMXHVjNzQ0Jm5ic3A7XHVhYzAwXHVjODM4XHVjNjI0XHVhY2UwICgyXHVjODEwKSwgQWxpY2VcdWFjMDAgXHViOWM4XHVjOWMwXHViOWM5IFx1YjBhOFx1Yzc0MCBDXHViOTdjJm5ic3A7XHVhYzAwXHVjODM4XHVjNjQwIFx1YjNkOVx1YzgxMFx1YzczY1x1Yjg1YyBcdWFjOGNcdWM3ODRcdWM3NzQgXHViMDVkXHViMDljXHViMmU0LjxcL2xpPlxyXG5cdFx0PGxpPlx1YWMwMFx1YzdhNSBcdWM2YjBcdWNlMjFcdWM3NTggQ1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2MjggXHVhY2JkXHVjNmIwOiAxXHVjODEwXHVjNzQ0IFx1YzViYlx1YWNlMCAmcXVvdDtDTCZxdW90O1x1Yzc3NCZuYnNwO1x1YjBhOFx1YjI5NFx1YjJlNC4gQWxiZXJ0XHViMjk0IFx1YWRkY1x1Y2U1OVx1YjMwMFx1Yjg1YyBcdWM2YjBcdWNlMjFcdWM3NTggTFx1Yzc0NCZuYnNwO1x1YWMwMFx1YzgzOFx1YzYyNFx1YWNlMCAoMlx1YzgxMCksIEFsaWNlXHVhYzAwIFx1YjljOFx1YzljMFx1YjljOSBcdWIwYThcdWM3NDAgQ1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2NDAgXHViM2Q5XHVjODEwXHVjNzNjXHViODVjIFx1YWM4Y1x1Yzc4NFx1Yzc3NCBcdWIwNWRcdWIwOWNcdWIyZTQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPlx1Yzc3NCBcdWM2MDhcdWM4MWNcdWM3NTggXHVhY2JkXHVjNmIwLCBcdWI5Y2NcdWM1N2QgQWxiZXJ0XHVhYzAwIFx1Y2M5OFx1Yzc0Y1x1YzVkMCBcdWFjMDBcdWM3YTUgXHVjODhjXHVjZTIxXHVjNWQwIFx1YjE5M1x1Yzc3OCBDXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyOFx1YjJlNFx1YmE3NCwgQWxpY2VcdWFjMDAgXHVhZGY4IFx1YjJlNFx1Yzc0YyBcdWQxMzRcdWM1ZDAgXHVjNmIwXHVjZTIxXHVjNWQwIFx1YjE5M1x1Yzc3OCBEXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyNFx1YWNlMCwgQWxiZXJ0XHVhYzAwIExcdWM3NDQgXHVhYzAwXHVjODM4XHVjNjQwIDJcdWM4MTBcdWM3NDQgXHVjNWJiXHVhY2UwIEFsaWNlXHVhYzAwIFx1YjljOFx1YzljMFx1YjljOSBcdWIwYThcdWM3NDAgQ1x1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2NDBcdWMxMWMgMVx1YzgxMFx1Y2MyOFx1Yjg1YyBcdWM1NDRcdWMyYWNcdWM1NDRcdWMyYWNcdWQ1NThcdWFjOGMgXHVjODM4XHVjOTA0IFx1YzIxOCBcdWM3ODhcdWM5YzBcdWI5Y2MsIEFsYmVydFx1YjI5NCBcdWM4MTBcdWMyMThcdWI5N2MgXHVjNWJiXHVjOWMwIFx1YmFiYlx1ZDU1OFx1YjI5NCBcdWMwYzFcdWQ2NjlcdWM1ZDBcdWMxMWNcdWIyOTQgXHVkNTZkXHVjMGMxIFx1YzZiMFx1Y2UyMVx1Yzc1OCBcdWNlNzRcdWI0ZGNcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBBbGljZVx1YWMwMCBcdWM4MzhcdWM5MDQgXHViYzI5XHViYzk1XHVjNzc0IFx1YzVjNlx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjODhjXHVjZTIxXHVjNWQwXHVjMTFjIFx1YzZiMFx1Y2UyMVx1YzczY1x1Yjg1YyBcdWIwOThcdWM1ZjRcdWI0MWMgblx1YzdhNVx1Yzc1OCBcdWNlNzRcdWI0ZGNcdWM1ZDAgXHVjODAxXHVkNzhjIFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBBbGljZVx1YWMwMCBcdWNkNWNcdWMxOGNcdWQ1NWNcdWM3NTggXHVjODEwXHVjMjE4XHVjYzI4XHViODVjIFx1YzgzOFx1YzkwNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc0NCBcdWNjM2VcdWM1NDRcdWJjZjRcdWM3OTAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWIgXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjMjE4IFRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjI5NCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWM2MDFcdWJiMzggXHViMzAwXHViYjM4XHVjNzkwXHViODVjXHViOWNjIFx1YWQ2Y1x1YzEzMVx1YjQxYyBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNWM2XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzQgQWxpY2VcdWFjMDAgXHVjZDVjXHVjMThjXHVjNzU4Jm5ic3A7XHVjODEwXHVjMjE4XHVjYzI4XHViODVjIEFsYmVydFx1YzVkMFx1YWM4YyBcdWM4MzhcdWM5MDQgXHViNTRjIFx1Yzc3NCBcdWM4MTBcdWMyMTggXHVjYzI4XHVjNzc0XHVhYzAwIFx1YmIzNFx1YzVjN1x1Yzc3OFx1YzljMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljY1x1YzU3ZCBcdWM4MzhcdWM5MDQgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjNWM2XHVjNzQ0IFx1YWNiZFx1YzZiMCAtMVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPjEgJmxlOyBUICZsZTsgMzA8XC9saT5cclxuXHQ8bGk+MSAmbGU7IG4gJmxlOyAxNTAgKG46IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWFlMzhcdWM3NzQpJm5ic3A7PFwvbGk+XHJcblx0PGxpPlx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIFx1YzYwMVx1YmIzOCBcdWIzMDBcdWJiMzhcdWM3OTAgKEEtWilcdWI4NWNcdWI5Y2MgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0XHVjNzg4XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPlx1YzYwOFx1YzgxYyAxOiBBbGJlcnRcdWFjMDAgXHVhYzAwXHVjN2E1IFx1Yzg4Y1x1Y2UyMVx1Yzc1OCBBXHViOTdjIFx1YWMwMFx1YzgzOFx1YzYyNFx1YWNlMCAoKzJcdWM4MTApLCBBbGljZVx1YjI5NCBcdWFjMDBcdWM3YTUgXHVjNmIwXHVjZTIxXHVjNzU4IEFcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjI4IFx1ZDZjNCAoKzFcdWM4MTApLCBBbGJlcnQgXHVhYzAwIFx1YjljOFx1YzljMFx1YjljOSBcdWNlNzRcdWI0ZGNcdWM3NzggQlx1Yjk3YyBcdWFjMDBcdWM4MzhcdWM2NDAgKCsyXHVjODEwKSZuYnNwO1x1YzgxMFx1YzIxOCBcdWNjMjhcdWM3NzRcdWIyOTQgM1x1Yzc3NCBcdWI0MWNcdWIyZTQuIDJcdWM4MTAgXHVjNzc0XHVkNTU4XHViODVjIFx1YzgzOFx1YzhmY1x1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NDAgXHVjNWM2XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgMjogQWxpY2VcdWFjMDAgXHViNGRkXHVjODEwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYzI5XHViYzk1XHVjNzQwIFx1YzVjNlx1YWNlMCwgQWxiZXJ0XHVhYzAwIDRcdWM4MTBcdWM3NDQgXHVjNWJiXHVjNWI0IFx1YzgxMFx1YzIxOFx1Y2MyOFx1Yzc3NFx1YWMwMCA0XHVhYzAwIFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHVjODFjIDMtNDombmJzcDtcdWJjZjhcdWJiMzhcdWM1ZDBcdWMxMWMgXHViMmU0XHViOGU4XHVjNWM4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgNTogXHViNDUwIFx1YzBhY1x1Yjc4Y1x1Yzc3NCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjYzk4XHVjNzRjIDRcdWQxMzQgXHViM2Q5XHVjNTQ4IEEsIEwsIEIsIEVcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjQwXHVjMTFjIEFsYmVydFx1YWMwMCA0XHVjODEwLCBBbGljZVx1YWMwMCAyXHVjODEwXHVjNzQ0IFx1YzViYlx1Yzc0MCBcdWQ2YzQgXHViMGE4XHVjNzQwIFx1Y2U3NFx1YjRkY1x1YjI5NCAmcXVvdDtSVCZxdW90O1x1YWMwMCBcdWI0MWNcdWIyZTQuIEFsYmVydFx1YjI5NCBSXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyNFx1YWNlMCAoXHVjZDFkIDZcdWM4MTApIEFsaWNlXHVhYzAwIFRcdWI5N2MgXHVhYzAwXHVjODM4XHVjNjQwIFx1YzgxMFx1YzIxOCBcdWNjMjhcdWM3NzRcdWIyOTQgNFx1YzgxMFx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMjEzOTgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJMb3NpbmcgdG8gTGl0dGxlIEJyb3RoZXIiLCJkZXNjcmlwdGlvbiI6IjxwPkFsaWNlIGFuZCBBbGJlcnQgb2Z0ZW4gcGxheSBjYXJkIGdhbWVzLCBhbmQgQWxpY2UgZGVsaWJlcmF0ZWx5IGxvc2VzIHRvIEFsYmVydCBzaW5jZSBoZXIgbGl0dGxlIGJyb3RoZXIsIEFsYmVydCwgZ2V0cyB0b28gc2FkIHdoZW4gaGUgbG9zZXMuPFwvcD5cclxuXHJcbjxwPlRoZSBnYW1lIHRoYXQgdGhlc2UgdHdvIGtpZHMgcGxheSB1c2VzIG4gY2FyZHMsIGVhY2ggb2Ygd2hpY2ggaGFzIG9uZSB1cHBlcmNhc2UgRW5nbGlzaCBsZXR0ZXIgKEEtWikgd3JpdHRlbiBvbiBpdC48YnIgXC8+XHJcblRoZXkgcGxheSB0aGUgZ2FtZSBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlcywgYW5kIEFsaWNlIGtub3cgZXhhY3RseSBob3cgQWxiZXJ0IHdpbGwgcGxheSAoc2luY2UgaGUgaXMgdG9vIGxpdHRsZSEpLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkZpcnN0LCB0aGUgdHdvIGtpZHMgd2lsbCBwdXQgbiBjYXJkcyBvbiB0aGUgZmxvb3IgZnJvbSBsZWZ0IHRvIHJpZ2h0IGluIGFyYml0cmFyeSBvcmRlci48XC9saT5cclxuXHQ8bGk+VGhleSB0YWtlIG9uZSBjYXJkIGVhY2ggaW4gdHVybiwgYW5kIGEgcGxheWVyIGNhbiBvbmx5IHRha2UgdGhlIGxlZnRtb3N0IGNhcmQgb3IgdGhlIHJpZ2h0bW9zdCBjYXJkLjxcL2xpPlxyXG5cdDxsaT5BbGJlcnQgZ29lcyBmaXJzdCwgYW5kIHRoZW4gdGhleSB0YWtlIHR1cm5zLlxyXG5cdDx1bD5cclxuXHRcdDxsaT5EdXJpbmcgQWxiZXJ0JiMzOTtzIHR1cm4sIGlmIEFsYmVydCB0YWtlcyBhbnkgY2FyZCB0aGF0IGhhcyBvbmUgb2YgdGhlIHNpeCBsZXR0ZXJzIGluICZxdW90O0FMQkVSVCZxdW90OywgdGhlbiBBbGJlcnQgc2NvcmVzIDIgcG9pbnRzLjxcL2xpPlxyXG5cdFx0PGxpPkR1cmluZyBBbGljZSYjMzk7cyB0dXJuLCBpZiBBbGljZSB0YWtlcyBhbnkgY2FyZCB0aGF0IGhhcyBvbmUgb2YgdGhlIGZpdmUgbGV0dGVycyBpbiAmcXVvdDtBTElDRSZxdW90OywgdGhlbiBBbGljZSBzY29yZXMgMSBwb2ludC48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuXHQ8bGk+QWxiZXJ0IGFsd2F5cyB0YWtlcyBhIGNhcmQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgcGF0dGVybjpcclxuXHQ8dWw+XHJcblx0XHQ8bGk+SWYgYm90aCBsZWZ0bW9zdCBjYXJkIGFuZCByaWdodG1vc3QgY2FyZCBjYW4gZ2l2ZSBoaW0mbmJzcDtwb2ludHMsIEFsYmVydCBhbHdheXMgdGFrZXMgdGhlIGxlZnRtb3N0IGNhcmQuPFwvbGk+XHJcblx0XHQ8bGk+SWYgbmVpdGhlciBvZiB0aGUgdHdvIGNhcmRzIGNhbiBnaXZlIGhpbSBwb2ludHMsIEFsYmVydCBhbHdheXMgdGFrZXMgdGhlIHJpZ2h0bW9zdCBjYXJkLjxcL2xpPlxyXG5cdFx0PGxpPklmIG9ubHkgb25lIG9mIHRoZSB0d28gY2FyZHMgY2FuIGdpdmUgaGltIHBvaW50cywgQWxiZXJ0IGFsd2F5cyB0YWtlcyB0aGUgY2FyZCB0aGF0IGNhbiBnaXZlIGhpbSBwb2ludHMuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+QWxpY2Ugd2FudHMgdG8gbG9zZSB0byBBbGJlcnQsIGJ1dCBzaGUgd2FudHMgdG8gbWluaW1pemUgdGhlIHNjb3JlIGRpZmZlcmVuY2UsJm5ic3A7KEFsYmVydCYjMzk7cyBzY29yZSAtIEFsaWNlJiMzOTtzIHNjb3JlKS48XC9wPlxyXG5cclxuPHA+Rm9yIGluc3RhbmNlLCBzdXBwb3NlIHRoYXQgbiA9IDQgYW5kIHRoZSBjYXJkcyBvbiB0aGUgZmxvb3IgYXJlICZxdW90O0JDQ0ImcXVvdDsuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+VHVybiAxOiBBbGJlcnQgd2lsbCB0YWtlIHRoZSBsZWZ0bW9zdCBjYXJkICZxdW90O0ImcXVvdDssIGFuZCBzY29yZXMgMiBwb2ludHMuIFRoZSByZW1haW5pbmcgY2FyZHMgYXJlICZxdW90O0NDQiZxdW90Oy48XC9saT5cclxuXHQ8bGk+VHVybiAyOiBBbGljZSBjYW4gdGFrZSBlaXRoZXIgdGhlIGxlZnRtb3N0ICZxdW90O0MmcXVvdDsgb3IgdGhlIHJpZ2h0bW9zdCAmcXVvdDtCJnF1b3Q7LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5JZiBzaGUgdGFrZXMgdGhlIGxlZnRtb3N0ICZxdW90O0MmcXVvdDs6IFNoZSBzY29yZXMgMSBwb2ludCwgYW5kICZxdW90O0NCJnF1b3Q7IHJlbWFpbi4gQWxiZXJ0IHRha2VzIHRoZSByaWdodG1vc3QgJnF1b3Q7QiZxdW90OywgYW5kIEFsaWNlIHRha2VzIHRoZSBmaW5hbCAmcXVvdDtDJnF1b3Q7LiBBbGJlcnQmIzM5O3Mgc2NvcmUgaXMgNCBhbmQgQWxpY2UmIzM5O3Mgc2NvcmUgaXMgMiAodGhlIGRpZmZlcmVuY2UgaXMgMikuPFwvbGk+XHJcblx0XHQ8bGk+SWYgc2hlIHRha2VzIHRoZSByaWdodG1vc3QgJnF1b3Q7QiZxdW90OzogU2hlIGRvZXNuJiMzOTt0IHNjb3JlIGFueSBwb2ludHMsIGFuZCAmcXVvdDtDQyZxdW90OyByZW1haW4uIEFsYmVydCB0YWtlcyB0aGUgcmlnaHRtb3N0ICZxdW90O0MmcXVvdDssIGFuZCBBbGljZSB0YWtlcyB0aGUgZmluYWwgJnF1b3Q7QyZxdW90Oy4gQWxiZXJ0JiMzOTtzIHNjb3JlIGlzIDIgYW5kIEFsaWNlJiMzOTtzIHNjb3JlIGlzIDEgKHRoZSBkaWZmZXJlbmNlIGlzIDEpLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5JbiB0aGlzIGV4YW1wbGUsIGlmIEFsaWNlIHRyaWVzIGhlciBiZXN0IHRvIGxvc2UgdG8gQWxiZXJ0IHdpdGggc21hbGxlc3Qgc2NvcmUgZGlmZmVyZW5jZSwgdGhlbiBzaGUgY2FuIGJhcmVseSBsb3NlIHdpdGggdGhlIGRpZmZlcmVuY2Ugb2YgMSBwb2ludC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5JbiBhbm90aGVyIGV4YW1wbGUsIHN1cHBvc2UgdGhhdCBuID0gNCBhbmQgdGhlIGNhcmRzIG9uIHRoZSBmbG9vciBhcmUgJnF1b3Q7Q0xDRCZxdW90Oy48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5UdXJuIDE6IEFsYmVydCB3aWxsIHRha2UgdGhlIHJpZ2h0bW9zdCBjYXJkICZxdW90O0QmcXVvdDssIGFuZCBzY29yZXMgMCBwb2ludHMuIFRoZSByZW1haW5pbmcgY2FyZHMgYXJlICZxdW90O0NMQyZxdW90Oy48XC9saT5cclxuXHQ8bGk+VHVybiAyOiBBbGljZSBjYW4gdGFrZSBlaXRoZXIgdGhlIGxlZnRtb3N0ICZxdW90O0MmcXVvdDsgb3IgdGhlIHJpZ2h0bW9zdCAmcXVvdDtDJnF1b3Q7LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5JZiBzaGUgdGFrZXMgdGhlIGxlZnRtb3N0ICZxdW90O0MmcXVvdDs6IFNoZSBzY29yZXMgMSBwb2ludCwgYW5kICZxdW90O0xDJnF1b3Q7IHJlbWFpbi4gQWxiZXJ0IHRha2VzIHRoZSBsZWZ0bW9zdCAmcXVvdDtMJnF1b3Q7IChhbmQgc2NvcmVzIDIpIGFuZCBBbGljZSB0YWtlcyB0aGUgZmluYWwgJnF1b3Q7QyZxdW90Oy4gSXQmIzM5O3MgYSBkcmF3IGFzIGJvdGggcGxheWVycyBzY29yZSAyIHBvaW50cy48XC9saT5cclxuXHRcdDxsaT5JZiBzaGUgdGFrZXMgdGhlIHJpZ2h0bW9zdCAmcXVvdDtDJnF1b3Q7OiBTaGUgc2NvcmVzIDEgcG9pbnQsIGFuZCAmcXVvdDtDTCZxdW90OyByZW1haW4uIEFsYmVydCB0YWtlcyB0aGUgcmlnaHRtb3N0ICZxdW90O0wmcXVvdDsgKGFuZCBzY29yZXMgMiksIGFuZCBBbGljZSB0YWtlcyB0aGUgZmluYWwgJnF1b3Q7QyZxdW90Oy4gSXQmIzM5O3MgYSBkcmF3IGFzIGJvdGggcGxheWVycyBzY29yZSAyIHBvaW50cy48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuXHQ8bGk+SW4gdGhpcyBleGFtcGxlLCBpZiBBbGJlcnQgd2VyZSB0byB0YWtlIHRoZSBsZWZ0bW9zdCAmcXVvdDtDJnF1b3Q7IGluIHR1cm4gMSwgdGhlbiBBbGljZSBjb3VsZCBoYXZlIHRha2VuIHRoZSByaWdodG1vc3QgJnF1b3Q7RCZxdW90OywgZm9sbG93ZWQgYnkgQWxiZXJ0IHRha2luZyB0aGUgcmlnaHRtb3N0ICZxdW90O0QmcXVvdDsgYW5kIEFsaWNlIHRha2luZyB0aGUgZmluYWwgJnF1b3Q7TCZxdW90Oywgd2hpY2ggd291bGQgaGF2ZSByZXN1bHRlZCBpbiBBbGljZSBsb3NpbmcgYnkgMSBwb2ludC4gSG93ZXZlciwgQWxiZXJ0IGFsd2F5cyB0YWtlcyB0aGUgcmlnaHRtb3N0IGNhcmQgd2hlbiBuZWl0aGVyIGNhcmRzIGdpdmUgaGltIHBvaW50cywgYW5kIHRoZXJlZm9yZSBBbGljZSBjYW5ub3QgbG9zZSB0byBBbGJlcnQgaW4gdGhpcyBleGFtcGxlLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkdpdmVuIG4gY2FyZHMgb24gdGhlIGZsb29yIChmcm9tIGxlZnQgdG8gcmlnaHQpLCBjYWxjdWxhdGUgdGhlIHNtYWxsZXN0IHNjb3JlIGRpZmZlcmVuY2UgYnkgd2hpY2ggQWxpY2UgY2FuIGxvc2UgdG8gQWxiZXJ0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgd2lsbCBjb250YWluIHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcywgVC48XC9wPlxyXG5cclxuPHA+RWFjaCB0ZXN0IGNhc2Ugd2lsbCBiZSBnaXZlbiBpbiBhIHNpbmdsZSBsaW5lIHRoYXQgY29udGFpbnMgYSBzdHJpbmcgY29uc2lzdGluZyBvbmx5IG9mIHVwcGVyY2FzZSBFbmdsaXNoIGxldHRlcnMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlLCBvdXRwdXQgdGhlIHNtYWxsZXN0IHNjb3JlIGRpZmZlcmVuY2Ugd2hlbiBBbGljZSBkZWxpYmVyYXRlbHkgbG9zZXMgdG8gQWxiZXJ0LjxcL3A+XHJcblxyXG48cD5JZiB0aGVyZSBpcyBubyB3YXkgQWxpY2UgY2FuIGxvc2UgdG8gQWxiZXJ0LCBvdXRwdXQgLTEuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4xICZsZTsgVCAmbGU7IDMwPFwvbGk+XHJcblx0PGxpPjEgJmxlOyBuICZsZTsgMTUwIChuOiB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcpPFwvbGk+XHJcblx0PGxpPklucHV0IHN0cmluZ3Mgd2lsbCBvbmx5IGNvbnNpc3Qgb2YgdXBwZXJjYXNlIEVuZ2xpc2ggYWxwaGFiZXRzIChBLVopLjxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPkNhc2UgMTogQWxiZXJ0IHRha2VzIHRoZSBsZWZ0bW9zdCBBICgrMiksIEFsaWNlIHRha2VzIHRoZSByaWdodG1vc3QgQSZuYnNwOygrMVx1YzgxMCksIGFuZCBBbGJlcnQgdGFrZXMgdGhlIHJlbWFpbmluZyBCICgrMlx1YzgxMCksIHdoaWNoIG1ha2VzIHRoZSBzY29yZSBkaWZmZXJlbmNlIDMuIFRoZXJlIGlzIG5vIHdheSB0byBsb3NlIHdpdGggc2NvcmUgZGlmZmVyZW5jZSBsZXNzIHRoYW4gMy48XC9wPlxyXG5cclxuPHA+Q2FzZSAyOiBBbGljZSBjYW5ub3Qgc2NvcmUgYXQgYWxsLCBhbmQgQWxiZXJ0IHdpbGwgc2NvcmUgNCBwb2ludHMuPFwvcD5cclxuXHJcbjxwPkNhc2VzIDMtNDombmJzcDtVc2VkIGluIHRoZSBwcm9ibGVtIHN0YXRlbWVudC48XC9wPlxyXG5cclxuPHA+Q2FzZSA1OiBUaGUgdHdvIGtpZHMgd2lsbCB0YWtlIEEsIEwsIEIsIGFuZCBFIGluIHRoaXMgb3JkZXIgKGR1cmluZyB0aGUgZmlyc3QgZm91ciB0dXJucykgc28gdGhhdCBBbGJlcnQmIzM5O3Mgc2NvcmUgaXMgNCBhbmQgQWxpY2UmIzM5O3Mgc2NvcmUgaXMgMi48YnIgXC8+XHJcblRoZW4sIEFsYmVydCB3b3VsZCB0YWtlIFIgKGhpcyBmaW5hbCBzY29yZSBpcyA2KSBhbmQgQWxpY2UgVCAoaGVyIGZpbmFsIHNjb3JlIGlzIDIpLCBhbmQgdGhlIHNjb3JlIGRpZmZlcmVuY2UgaXMgNC48XC9wPlxyXG4ifV0=

시간 제한

  • Java 8: 1.5 초
  • PyPy3: 6.5 초
  • Java 8 (OpenJDK): 1.5 초
  • Java 11: 1.5 초
  • Kotlin (JVM): 1.5 초
  • Java 15: 1.5 초