시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 (하단 참고) 256 MB 7 6 3 75.000%

문제

"괄호 문자열"은 우리가 흔히 사용하는 여섯 개의 괄호 기호들 ("(", ")", "[", "]", "{", "}")로만 구성된 문자열을 일컫는다.

그 중 "균형잡힌" 괄호 문자열은 아래 조건에 따라 정의된다.

  1. "()" "[]" "{}" 이 셋은 균형잡힌 괄호 문자열이다.
  2. 문자열 "X"와 "Y"가 균형잡힌 괄호 문자열이라면 "XY" 와 "YX"도 균형잡힌 괄호 문자열이다.
  3. 문자열 "Z"가 균형잡힌 괄호 문자열이라면 앞/뒤로 "("과")" 혹은 "{"과"}" 혹은 "["과"]"을 붙인 문자열 "(Z)" 혹은 "{Z}" 혹은 "[Z]"도 균형잡힌 문자열이다.
  4. 마지막으로, 편의상 길이가 0인 "" 문자열도 균형잡힌 괄호 문자열이다. (예제 참고)

예를 들어 "[](){}", "[[()]]", "{}[()]" 은 균형잡힌 괄호 문자열이고, "[][[", "()(}", "{]" 은 균형잡힌 괄호 문자열이 아니다.

우리가 다룰 문자열은 와일드카드 ("*")를 포함할 수 있는데, 각 와일드카드는 여섯 개의 괄호 기호 중 하나로 대체될 수 있다. 예를들어 S = "[**)" 라는 문자열을 생각해보자. 첫 번째 와일드카드를 "]"로 대체하고 두 번째 와일드카드를 "("로 대체하면 S' = "[]()" 라는 새로운 문자열을 얻을 수 있고, 이는 균형잡힌 괄호 문자열이다. 만약 첫 번째 와일드카드를 "("로 대체하고 두 번째 와일드카드를 "]"로 대체하면 바뀐 문자열은 S'' = "[(])"가 되고 이는 균형잡힌 괄호 문자열이 아니다.

상기한 괄호 기호와 와일드카드로만 구성된 문자열이 입력으로 주어졌을 때, 당신은 이 문자열을 (가능한 길이가 가장 긴) 균형잡힌 괄호 문자열로 바꾸고 싶다. 이를 위해 일부 문자는 지워야 할 수 있고, 각 와일드카드는 당신이 임의로 여섯 개의 괄호 기호 중 하나로 바꿀 수 있다 (혹은 필요 없다면 지울 수 있다). 예를 들어 입력 문자열이 A = "***" 인 경우를 생각해보자. 균형잡힌 괄호 문자열의 길이가 홀수일 수 없으므로 세 글자 중 한 글자를 지우고, 남은 두 개의 와일드카드는 "()" 혹은 "[]" 혹은 "{}"로 대체하여 길이가 2인 균형잡힌 괄호 문자열을 만들 수 있다.  다른 예로 B = "[{([" 인 경우 상기한 4번 조건에 해당하는 길이가 0인 균형잡힌 괄호 문자열을 얻을 수 있지만, 길이가 더 긴 균형잡힌 괄호 문자열을 얻는 것은 불가능하다. 마지막으로 C = "(]{}){([)}" 인 경우, 대괄호 기호 두 개 ("]"와 "[")를 제거하면 길이가 6인 균형잡힌 괄호 문자열 "({}){()}"을 얻을 수 있다. 

위와 같이 와일드카드와 여섯 개의 괄호 기호들로만 구성된 문자열이 입력으로 주어졌을 때, 가장 긴 균형잡힌 괄호 문자열을 얻기 위해 지워야 하는 문자의 (최소) 개수를 출력하는 프로그램을 작성하시오.

입력

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

각 줄에 문자열이 하나씩 주어진다.

출력

각 테스트 케이스에 대하여 최소 몇 개의 문자를 지워 균형잡힌 괄호 문자열을 얻을 수 있는지 출력한다.

제한

  • 1 ≤ T ≤ 10
  • 1 ≤ 문자열 길이 ≤ 500

서브태스크 1 (6점)

  • 입력으로 주어지는 문자열은 문제에 언급된 여섯 종류의 괄호 기호 중 한 종류만을 포함하며 와일드카드는 주어지지 않는다. (즉 "[]" 혹은 "()" 혹은 "{}" 쌍만 포함된 문자열만 주어진다.)

서브태스크 2 (16점)

  • 입력으로 주어지는 문자열은 문제에 언급된 여섯 종류의 괄호 기호와 와일드카드만 포함한다.

예제 입력 1

6
***
[{([
(]{}){([)}
**(][)
(*]*[)
[]

예제 출력 1

1
4
2
2
2
0
  • 테스트 케이스 1, 2, 3: 문제에서 다룬 예시이다.
  • 테스트 케이스 4: 와일드카드를 임의의 괄호 한 쌍으로 대체하고 (가령 "{}") 이후에 등장하는 대괄호 "][" 두 글자를 지우면 길이가 4인 균형잡힌 괄호 문자열을 얻을 수 있다.
  • 테스트 케이스 5: 다양한 방법이 존재하는데, 대괄호 두 글자를 지우고 와일드 카드를 활용하여 "()()" 를 얻을 수 있다. 다른 방법으로 첫 번째 와일드 카드를 "["로 대체하고, 두 번째 와일드 카드와 그 직후에 나오는 "["를 지워 "([])"를 얻을 수도 있다. 길이가 6인 균형잡힌 괄호 문자열을 얻을 수 있는 방법이 없으므로 이 방법이 최적이다.
  • 테스트 케이스 6: 입력 문자열이 이미 균형잡힌 괄호 문자열인 경우 0개의 글자를 지우는 것이 최선이므로 0을 출력한다.
W3sicHJvYmxlbV9pZCI6IjE5MjQ0IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNCIsImRlc2NyaXB0aW9uIjoiPHA+JnF1b3Q7XHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNCZxdW90O1x1Yzc0MCBcdWM2YjBcdWI5YWNcdWFjMDAgXHVkNzU0XHVkNzg4IFx1YzBhY1x1YzZhOVx1ZDU1OFx1YjI5NCBcdWM1ZWNcdWMxMmYgXHVhYzFjXHVjNzU4IFx1YWQwNFx1ZDYzOCBcdWFlMzBcdWQ2MzhcdWI0ZTQgKCZxdW90OygmcXVvdDssICZxdW90OykmcXVvdDssICZxdW90O1smcXVvdDssICZxdW90O10mcXVvdDssICZxdW90O3smcXVvdDssICZxdW90O30mcXVvdDspXHViODVjXHViOWNjIFx1YWQ2Y1x1YzEzMVx1YjQxYyBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjNzdjXHVjZWViXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFkZjggXHVjOTExICZxdW90O1x1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyZxdW90OyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIFx1YzU0NFx1Yjc5OCBcdWM4NzBcdWFjNzRcdWM1ZDAgXHViNTMwXHViNzdjIFx1YzgxNVx1Yzc1OFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT4mcXVvdDsoKSZxdW90OyAmcXVvdDtbXSZxdW90OyAmcXVvdDt7fSZxdW90OyBcdWM3NzQgXHVjMTRiXHVjNzQwIFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWJiMzhcdWM3OTBcdWM1ZjQgJnF1b3Q7WCZxdW90O1x1YzY0MCAmcXVvdDtZJnF1b3Q7XHVhYzAwIFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0XHViNzdjXHViYTc0ICZxdW90O1hZJnF1b3Q7IFx1YzY0MCAmcXVvdDtZWCZxdW90O1x1YjNjNCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViYjM4XHVjNzkwXHVjNWY0ICZxdW90O1omcXVvdDtcdWFjMDAgXHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzRcdWI3N2NcdWJhNzQgXHVjNTVlXC9cdWI0YTRcdWI4NWMgJnF1b3Q7KCZxdW90O1x1YWNmYyZxdW90OykmcXVvdDsgXHVkNjM5XHVjNzQwICZxdW90O3smcXVvdDtcdWFjZmMmcXVvdDt9JnF1b3Q7IFx1ZDYzOVx1Yzc0MCAmcXVvdDtbJnF1b3Q7XHVhY2ZjJnF1b3Q7XSZxdW90O1x1Yzc0NCBcdWJkOTlcdWM3NzggXHViYjM4XHVjNzkwXHVjNWY0ICZxdW90OyhaKSZxdW90OyBcdWQ2MzlcdWM3NDAgJnF1b3Q7e1p9JnF1b3Q7IFx1ZDYzOVx1Yzc0MCAmcXVvdDtbWl0mcXVvdDtcdWIzYzQgXHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViOWM4XHVjOWMwXHViOWM5XHVjNzNjXHViODVjLCBcdWQzYjhcdWM3NThcdWMwYzEgXHVhZTM4XHVjNzc0XHVhYzAwIDBcdWM3NzggJnF1b3Q7JnF1b3Q7IFx1YmIzOFx1Yzc5MFx1YzVmNFx1YjNjNCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC4gKFx1YzYwOFx1YzgxYyBcdWNjMzhcdWFjZTApPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCAmcXVvdDtbXSgpe30mcXVvdDssICZxdW90O1tbKCldXSZxdW90OywgJnF1b3Q7e31bKCldJnF1b3Q7IFx1Yzc0MCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YWNlMCwgJnF1b3Q7W11bWyZxdW90OywgJnF1b3Q7KCkofSZxdW90OywgJnF1b3Q7e10mcXVvdDsgXHVjNzQwIFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1YzU0NFx1YjJjOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNmIwXHViOWFjXHVhYzAwIFx1YjJlNFx1YjhmMCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDAgXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjICgmcXVvdDsqJnF1b3Q7KVx1Yjk3YyBcdWQzZWNcdWQ1NjhcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NFx1YjM3MCwgXHVhYzAxIFx1YzY0MFx1Yzc3Y1x1YjRkY1x1Y2U3NFx1YjRkY1x1YjI5NCBcdWM1ZWNcdWMxMmYgXHVhYzFjXHVjNzU4IFx1YWQwNFx1ZDYzOCBcdWFlMzBcdWQ2MzggXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yjg1YyBcdWIzMDBcdWNjYjRcdWI0MjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHVjNjA4XHViOTdjXHViNGU0XHVjNWI0Jm5ic3A7UyA9ICZxdW90O1sqKikmcXVvdDsgXHViNzdjXHViMjk0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWMwZGRcdWFjMDFcdWQ1NzRcdWJjZjRcdWM3OTAuIFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViOTdjICZxdW90O10mcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHVhY2UwIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViOTdjICZxdW90OygmcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHViYTc0IFMmIzM5OyA9ICZxdW90O1tdKCkmcXVvdDsgXHViNzdjXHViMjk0IFx1YzBjOFx1Yjg1Y1x1YzZiNCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjNWJiXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWFjZTAsIFx1Yzc3NFx1YjI5NCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC4gXHViOWNjXHVjNTdkIFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViOTdjICZxdW90OygmcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHVhY2UwIFx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViOTdjICZxdW90O10mcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHViYTc0IFx1YmMxNFx1YjAxMCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDAgUyYjMzk7JiMzOTsgPSAmcXVvdDtbKF0pJnF1b3Q7XHVhYzAwIFx1YjQxOFx1YWNlMCBcdWM3NzRcdWIyOTQgXHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjNTQ0XHViMmM4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMwYzFcdWFlMzBcdWQ1NWMgXHVhZDA0XHVkNjM4IFx1YWUzMFx1ZDYzOFx1YzY0MCBcdWM2NDBcdWM3N2NcdWI0ZGNcdWNlNzRcdWI0ZGNcdWI4NWNcdWI5Y2MgXHVhZDZjXHVjMTMxXHViNDFjIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHViMmY5XHVjMmUwXHVjNzQwIFx1Yzc3NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgKFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWFlMzhcdWM3NzRcdWFjMDAgXHVhYzAwXHVjN2E1IFx1YWUzNCkmbmJzcDtcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yjg1YyBcdWJjMTRcdWFmYjhcdWFjZTAgXHVjMmY2XHViMmU0LiBcdWM3NzRcdWI5N2MgXHVjNzA0XHVkNTc0IFx1Yzc3Y1x1YmQ4MCBcdWJiMzhcdWM3OTBcdWIyOTQgXHVjOWMwXHVjNmNjXHVjNTdjIFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwLCBcdWFjMDEgXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViMjk0IFx1YjJmOVx1YzJlMFx1Yzc3NCBcdWM3ODRcdWM3NThcdWI4NWMgXHVjNWVjXHVjMTJmIFx1YWMxY1x1Yzc1OCBcdWFkMDRcdWQ2MzggXHVhZTMwXHVkNjM4IFx1YzkxMSBcdWQ1NThcdWIwOThcdWI4NWMgXHViYzE0XHVhZmMwIFx1YzIxOCBcdWM3ODhcdWIyZTQgKFx1ZDYzOVx1Yzc0MCBcdWQ1NDRcdWM2OTQgXHVjNWM2XHViMmU0XHViYTc0IFx1YzljMFx1YzZiOCBcdWMyMTggXHVjNzg4XHViMmU0KS4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCBcdWM3ODVcdWI4MjUgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IEEgPSAmcXVvdDsqKiomcXVvdDsgXHVjNzc4IFx1YWNiZFx1YzZiMFx1Yjk3YyBcdWMwZGRcdWFjMDFcdWQ1NzRcdWJjZjRcdWM3OTAuIFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzU4IFx1YWUzOFx1Yzc3NFx1YWMwMCBcdWQ2NDBcdWMyMThcdWM3N2MgXHVjMjE4IFx1YzVjNlx1YzczY1x1YmJjMFx1Yjg1YyBcdWMxMzggXHVhZTAwXHVjNzkwIFx1YzkxMSBcdWQ1NWMgXHVhZTAwXHVjNzkwXHViOTdjIFx1YzljMFx1YzZiMFx1YWNlMCwgXHViMGE4XHVjNzQwIFx1YjQ1MCBcdWFjMWNcdWM3NTggXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViMjk0ICZxdW90OygpJnF1b3Q7IFx1ZDYzOVx1Yzc0MCAmcXVvdDtbXSZxdW90OyBcdWQ2MzlcdWM3NDAgJnF1b3Q7e30mcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHVjNWVjIFx1YWUzOFx1Yzc3NFx1YWMwMCAyXHVjNzc4IFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQ0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHViMmU0LiZuYnNwOyBcdWIyZTRcdWI5NzggXHVjNjA4XHViODVjIEIgPSAmcXVvdDtbeyhbJnF1b3Q7IFx1Yzc3OCBcdWFjYmRcdWM2YjAgXHVjMGMxXHVhZTMwXHVkNTVjIDRcdWJjODggXHVjODcwXHVhYzc0XHVjNWQwIFx1ZDU3NFx1YjJmOVx1ZDU1OFx1YjI5NCBcdWFlMzhcdWM3NzRcdWFjMDAgMFx1Yzc3OCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWM1YmJcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YzljMFx1YjljYywgXHVhZTM4XHVjNzc0XHVhYzAwIFx1YjM1NCBcdWFlMzQgXHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjNWJiXHViMjk0IFx1YWM4M1x1Yzc0MCBcdWJkODhcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTQuIFx1YjljOFx1YzljMFx1YjljOVx1YzczY1x1Yjg1YyBDID0gJnF1b3Q7KF17fSl7KFspfSZxdW90OyBcdWM3NzggXHVhY2JkXHVjNmIwLCBcdWIzMDBcdWFkMDRcdWQ2MzggXHVhZTMwXHVkNjM4IFx1YjQ1MCBcdWFjMWMgKCZxdW90O10mcXVvdDtcdWM2NDAgJnF1b3Q7WyZxdW90OylcdWI5N2MgXHVjODFjXHVhYzcwXHVkNTU4XHViYTc0IFx1YWUzOFx1Yzc3NFx1YWMwMCA2XHVjNzc4IFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0ICZxdW90Oyh7fSl7KCl9JnF1b3Q7XHVjNzQ0IFx1YzViYlx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cdWM3MDRcdWM2NDAgXHVhYzE5XHVjNzc0IFx1YzY0MFx1Yzc3Y1x1YjRkY1x1Y2U3NFx1YjRkY1x1YzY0MCBcdWM1ZWNcdWMxMmYgXHVhYzFjXHVjNzU4IFx1YWQwNFx1ZDYzOCBcdWFlMzBcdWQ2MzhcdWI0ZTRcdWI4NWNcdWI5Y2MgXHVhZDZjXHVjMTMxXHViNDFjIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMmbmJzcDtcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWFjMDBcdWM3YTUgXHVhZTM0Jm5ic3A7XHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjNWJiXHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWM5YzBcdWM2Y2NcdWM1N2MgXHVkNTU4XHViMjk0IFx1YmIzOFx1Yzc5MFx1Yzc1OCAoXHVjZDVjXHVjMThjKSBcdWFjMWNcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWIgXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjMjE4IFRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVjOTA0XHVjNWQwIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWQ1NThcdWIwOThcdWM1MjkgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU1OFx1YzVlYyBcdWNkNWNcdWMxOGMgXHViYTg3IFx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3OTBcdWI5N2MgXHVjOWMwXHVjNmNjIFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQ0IFx1YzViYlx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0XHVjOWMwIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+MSAmbGU7IFQgJmxlOyAxMDxcL2xpPlxyXG5cdDxsaT4xICZsZTsgXHViYjM4XHVjNzkwXHVjNWY0IFx1YWUzOFx1Yzc3NCAmbGU7IDUwMDxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazEiOiI8dWw+XHJcblx0PGxpPlx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIFx1YmIzOFx1YzgxY1x1YzVkMCBcdWM1YjhcdWFlMDlcdWI0MWMgXHVjNWVjXHVjMTJmIFx1Yzg4NVx1Yjk1OFx1Yzc1OCBcdWFkMDRcdWQ2MzggXHVhZTMwXHVkNjM4IFx1YzkxMSBcdWQ1NWMgXHVjODg1XHViOTU4XHViOWNjXHVjNzQ0IFx1ZDNlY1x1ZDU2OFx1ZDU1OFx1YmE3MCBcdWM2NDBcdWM3N2NcdWI0ZGNcdWNlNzRcdWI0ZGNcdWIyOTQgXHVjOGZjXHVjNWI0XHVjOWMwXHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4gKFx1Yzk4OSAmcXVvdDtbXSZxdW90OyBcdWQ2MzlcdWM3NDAgJnF1b3Q7KCkmcXVvdDsgXHVkNjM5XHVjNzQwICZxdW90O3t9JnF1b3Q7IFx1YzMwZFx1YjljYyBcdWQzZWNcdWQ1NjhcdWI0MWMgXHViYjM4XHVjNzkwXHVjNWY0XHViOWNjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4pPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMiI6Ijx1bD5cclxuXHQ8bGk+XHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDAgXHViYjM4XHVjODFjXHVjNWQwIFx1YzViOFx1YWUwOVx1YjQxYyBcdWM1ZWNcdWMxMmYgXHVjODg1XHViOTU4XHVjNzU4IFx1YWQwNFx1ZDYzOCBcdWFlMzBcdWQ2MzhcdWM2NDAgXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViOWNjIFx1ZDNlY1x1ZDU2OFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiIsInNhbXBsZV9leHBsYWluXzEiOiI8dWw+XHJcblx0PGxpPlx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTQgMSwgMiwgMzogXHViYjM4XHVjODFjXHVjNWQwXHVjMTFjIFx1YjJlNFx1YjhlYyBcdWM2MDhcdWMyZGNcdWM3NzRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTQgNDombmJzcDtcdWM2NDBcdWM3N2NcdWI0ZGNcdWNlNzRcdWI0ZGNcdWI5N2MgXHVjNzg0XHVjNzU4XHVjNzU4IFx1YWQwNFx1ZDYzOCBcdWQ1NWMgXHVjMzBkXHVjNzNjXHViODVjIFx1YjMwMFx1Y2NiNFx1ZDU1OFx1YWNlMCAoXHVhYzAwXHViODM5ICZxdW90O3t9JnF1b3Q7KSBcdWM3NzRcdWQ2YzRcdWM1ZDAgXHViNGYxXHVjN2E1XHVkNTU4XHViMjk0IFx1YjMwMFx1YWQwNFx1ZDYzOCAmcXVvdDtdWyZxdW90OyBcdWI0NTAgXHVhZTAwXHVjNzkwXHViOTdjIFx1YzljMFx1YzZiMFx1YmE3NCBcdWFlMzhcdWM3NzRcdWFjMDAgNFx1Yzc3OCBcdWFkZTBcdWQ2MTVcdWM3YTFcdWQ3OGMgXHVhZDA0XHVkNjM4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWM1YmJcdWM3NDQgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNCA1OiZuYnNwO1x1YjJlNFx1YzU5MVx1ZDU1YyBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTU4XHViMjk0XHViMzcwLCBcdWIzMDBcdWFkMDRcdWQ2MzggXHViNDUwIFx1YWUwMFx1Yzc5MFx1Yjk3YyBcdWM5YzBcdWM2YjBcdWFjZTAgXHVjNjQwXHVjNzdjXHViNGRjIFx1Y2U3NFx1YjRkY1x1Yjk3YyBcdWQ2NWNcdWM2YTlcdWQ1NThcdWM1ZWMgJnF1b3Q7KCkoKSZxdW90OyBcdWI5N2MgXHVjNWJiXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1YjJlNFx1Yjk3OCBcdWJjMjlcdWJjOTVcdWM3M2NcdWI4NWMgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM2NDBcdWM3N2NcdWI0ZGMgXHVjZTc0XHViNGRjXHViOTdjICZxdW90O1smcXVvdDtcdWI4NWMgXHViMzAwXHVjY2I0XHVkNTU4XHVhY2UwLCBcdWI0NTAgXHViYzg4XHVjOWY4IFx1YzY0MFx1Yzc3Y1x1YjRkYyBcdWNlNzRcdWI0ZGNcdWM2NDAgXHVhZGY4IFx1YzljMVx1ZDZjNFx1YzVkMCBcdWIwOThcdWM2MjRcdWIyOTQgJnF1b3Q7WyZxdW90O1x1Yjk3YyBcdWM5YzBcdWM2Y2MgJnF1b3Q7KFtdKSZxdW90O1x1Yjk3YyBcdWM1YmJcdWM3NDQgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHVhZTM4XHVjNzc0XHVhYzAwIDZcdWM3NzggXHVhZGUwXHVkNjE1XHVjN2ExXHVkNzhjIFx1YWQwNFx1ZDYzOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDQgXHVjNWJiXHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYzI5XHViYzk1XHVjNzc0IFx1YzVjNlx1YzczY1x1YmJjMFx1Yjg1YyBcdWM3NzQgXHViYzI5XHViYzk1XHVjNzc0IFx1Y2Q1Y1x1YzgwMVx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNCA2OiZuYnNwO1x1Yzc4NVx1YjgyNSBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjNzc0XHViYmY4IFx1YWRlMFx1ZDYxNVx1YzdhMVx1ZDc4YyBcdWFkMDRcdWQ2MzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc4IFx1YWNiZFx1YzZiMCAwXHVhYzFjXHVjNzU4IFx1YWUwMFx1Yzc5MFx1Yjk3YyBcdWM5YzBcdWM2YjBcdWIyOTQgXHVhYzgzXHVjNzc0IFx1Y2Q1Y1x1YzEyMFx1Yzc3NFx1YmJjMFx1Yjg1YyAwXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjE5MjQ0IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQmFsYW5jZWQgQnJhY2tldCBTZXF1ZW5jZSIsImRlc2NyaXB0aW9uIjoiPHA+QSAmcXVvdDticmFja2V0IHNlcXVlbmNlJnF1b3Q7IGlzIGEgc3RyaW5nIHRoYXQgY29uc2lzdHMgb25seSBvZiBzaXggYnJhY2tldCBjaGFyYWN0ZXJzOiZuYnNwOyZxdW90OygmcXVvdDssICZxdW90OykmcXVvdDssICZxdW90O1smcXVvdDssICZxdW90O10mcXVvdDssICZxdW90O3smcXVvdDssICZxdW90O30mcXVvdDsuPFwvcD5cclxuXHJcbjxwPiZxdW90O0JhbGFuY2VkJnF1b3Q7IGJyYWNrZXQgc2VxdWVuY2VzIGFyZSBkZWZpbmVkIGFzIGZvbGxvd3M6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+VGhlIGZvbGxvd2luZyB0aHJlZSBicmFja2V0IHNlcXVlbmNlcyBhcmUgYmFsYW5jZWQ6ICZxdW90OygpJnF1b3Q7ICZxdW90O1tdJnF1b3Q7ICZxdW90O3t9JnF1b3Q7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPklmIHR3byBzdHJpbmdzICZxdW90O1gmcXVvdDsgYW5kICZxdW90O1kmcXVvdDsgYXJlIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2VzLCB0aGVuIHRoZSBzdHJpbmdzICZxdW90O1hZJnF1b3Q7IGFuZCAmcXVvdDtZWCZxdW90OyBhcmUgYWxzbyBiYWxhbmNlZCBicmFja2V0IHN0cmluZ3MuPFwvbGk+XHJcblx0PGxpPklmIGEgc3RyaW5nICZxdW90O1omcXVvdDsgaXMgYSBiYWxhbmNlZCBicmFja2V0IHNlcXVlbmNlLCB0aGVuIHRoZSBmb2xsb3dpbmcgYXJlIGFsc28gYmFsYW5jZWQgYnJhY2tldCBzZXF1ZW5jZXM6ICZxdW90OyhaKSZxdW90OywgJnF1b3Q7e1p9JnF1b3Q7LCAmcXVvdDtbWl0mcXVvdDsuPFwvbGk+XHJcblx0PGxpPkxhc3RseSwgZm9yIGNvbnZlbmllbmNlLCBhbiBlbXB0eSBzdHJpbmcgKCZxdW90OyZxdW90OykgaXMgYWxzbyBkZWZpbmVkIHRvIGJlIGEgYmFsYW5jZWQgYnJhY2tldCBzZXF1ZW5jZS48XC9saT5cclxuPFwvb2w+XHJcblxyXG48cD5Gb3IgaW5zdGFuY2UsICZxdW90O1tdKCl7fSZxdW90OywgJnF1b3Q7W1soKV1dJnF1b3Q7LCBhbmQgJnF1b3Q7e31bKCldJnF1b3Q7IGFyZSBiYWxhbmNlZCBicmFja2V0IHNlcXVlbmNlcywgd2hlcmVhcyAmcXVvdDtbXVtbJnF1b3Q7LCAmcXVvdDsoKSh9JnF1b3Q7LCBhbmQgJnF1b3Q7e10mcXVvdDsgYXJlIG5vdC48XC9wPlxyXG5cclxuPHA+SW4gdGhpcyBwcm9ibGVtLCB3ZSB3aWxsIGNvbnNpZGVyIHRoZSBzdHJpbmdzIHRoYXQgY29udGFpbiBicmFja2V0IGNoYXJhY3RlcnMgYW5kIGEgd2lsZGNhcmQgY2hhcmFjdGVyICgmcXVvdDsqJnF1b3Q7KS4gRWFjaCB3aWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHJlcGxhY2VkIGJ5IG9uZSBvZiB0aGUgc2l4IGJyYWNrZXQgY2hhcmFjdGVycy4gRm9yIGluc3RhbmNlLCBjb25zaWRlciB0aGUgc3RyaW5nIFMgPSAmcXVvdDtbKiopJnF1b3Q7LiBJZiB3ZSByZXBsYWNlIHRoZSBmaXJzdCB3aWxkY2FyZCBieSAmcXVvdDtdJnF1b3Q7IGFuZCB0aGUgc2Vjb25kIGJ5Jm5ic3A7JnF1b3Q7KCZxdW90OywgdGhlbiB3ZSB3b3VsZCBvYnRhaW4gYSBuZXcgc3RyaW5nIFMmIzM5OyA9ICZxdW90O1tdKCkmcXVvdDsgd2hpY2ggaXMgYSBiYWxhbmNlZCBicmFja2V0IHNlcXVlbmNlLiBJZiB0aGUgZmlyc3Qgd2lsZCBjYXJkIGlzIHJlcGxhY2VkIGJ5ICZxdW90OygmcXVvdDsgYW5kIHRoZSBzZWNvbmQgYnkgJnF1b3Q7XSZxdW90OywgdGhlbiB3ZSBvYnRhaW4gUyYjMzk7JiMzOTsgPSAmcXVvdDtbKF0pJnF1b3Q7IHdoaWNoIGlzIG5vdCBhIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2UuJm5ic3A7PFwvcD5cclxuXHJcbjxwPkdpdmVuIGEgc3RyaW5nIHRoYXQgb25seSBjb25zaXN0cyBvZiB0aGUgc2l4IGJyYWNrZXQgY2hhcmFjdGVycyBhbmQgd2lsZGNhcmRzLCB5b3Ugd2FudCB0byB0dXJuIGl0IGludG8gYSAobG9uZ2VzdCBwb3NzaWJsZSkgYmFsYW5jZWQgYnJhY2tldCBzZXF1ZW5jZS4gWW91IG1heSBuZWVkIHRvIHJlbW92ZSBzb21lIGNoYXJhY3RlcnMgYW5kXC9vciByZXBsYWNlIGVhY2ggd2lsZGNhcmQgYnkgb25lIG9mIHRoZSBzaXggYnJhY2tldCBjaGFyYWN0ZXJzLiBGb3IgaW5zdGFuY2UsIHN1cHBvc2UgYW4gaW5wdXQgc3RyaW5nIGlzJm5ic3A7QSA9ICZxdW90OyoqKiZxdW90Oy4gQSBiYWxhbmNlZCBicmFja2V0IHNlcXVlbmNlIGNhbm5vdCBjb250YWluIGFuIG9kZCBudW1iZXIgb2YgY2hhcmFjdGVycywgc28gd2UgbXVzdCByZW1vdmUgb25lIG9mIHRoZSB0aHJlZSBjaGFyYWN0ZXJzLCBhbmQgdGhlIHJlbWFpbmluZyB0d28gd2lsZGNhcmRzIG11c3QgYmUgcmVwbGFjZWQgYnkgJnF1b3Q7KCkmcXVvdDsgb3IgJnF1b3Q7W10mcXVvdDsgb3IgJnF1b3Q7e30mcXVvdDsuIEluIGFub3RoZXIgZXhhbXBsZSwgY29uc2lkZXIgQiA9ICZxdW90O1t7KFsmcXVvdDsgd2hlcmUgdGhlIGxvbmdlc3QgcG9zc2libGUgYmFsYW5jZWQgYnJhY2tldCBzZXF1ZW5jZSB3b3VsZCBiZSBhbiBlbXB0eSBzdHJpbmcgKHdoaWNoIHdlIGNhbiBvYnRhaW4gYWZ0ZXIgcmVtb3ZpbmcgYWxsIGNoYXJhY3RlcnMpLiBMYXN0bHksIGNvbnNpZGVyIEMgPSAmcXVvdDsoXXt9KXsoWyl9JnF1b3Q7IHdoZXJlIHdlIGNhbiByZW1vdmUgJnF1b3Q7XSZxdW90OyBhbmQmbmJzcDsmcXVvdDtbJnF1b3Q7IHRvIG9idGFpbiBhIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2Ugb2YgbGVuZ3RoIDYgKCZxdW90Oyh7fSl7KCl9JnF1b3Q7KS48XC9wPlxyXG5cclxuPHA+R2l2ZW4gYSBzdHJpbmcgdGhhdCBjb25zaXN0cyBvZiBicmFja2V0IGNoYXJhY3RlcnMgYW5kIHdpbGRjYXJkcywgY29tcHV0ZSB0aGUgbWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyB5b3UgbXVzdCByZW1vdmUgaW4gb3JkZXIgdG8gb2J0YWluIGEgKGxvbmdlc3QgcG9zc2libGUpIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2UuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzLCBULiZuYnNwOzxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBmb2xsb3dpbmcgVCBsaW5lcyB3aWxsIGNvbnRhaW4gYSBzdHJpbmcuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlLCBvdXRwdXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgeW91IG11c3QgcmVtb3ZlIGluIG9yZGVyIHRvIG9idGFpbiBhIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2UuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4xICZsZTsgVCAmbGU7IDEwPFwvbGk+XHJcblx0PGxpPjEgJmxlOyBMZW5ndGggb2YgYW4gaW5wdXQgc3RyaW5nJm5ic3A7JmxlOyA1MDA8XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2sxIjoiPHVsPlxyXG5cdDxsaT5FYWNoIGlucHV0IHN0cmluZyB3aWxsIG9ubHkgY29udGFpbiBvbmUgdHlwZSBvZiBicmFja2V0IGNoYXJhY3RlcnMgYW5kIG5vJm5ic3A7d2lsZGNhcmQgY2hhcmFjdGVycy4gVGhhdCBpcywgZWFjaCBpbnB1dCBzdHJpbmcgd2lsbCBlbnRpcmVseSBjb25zaXN0IG9mICZxdW90O1tdJnF1b3Q7cyBvciBvZiAmcXVvdDt7fSZxdW90O3Mgb3IgJnF1b3Q7KCkmcXVvdDtzIHdpdGggbm8gd2lsZGNhcmRzLjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazIiOiI8dWw+XHJcblx0PGxpPkVhY2ggaW5wdXQgc3RyaW5nIHdpbGwgb25seSBjb250YWluIHRoZSBzaXggYnJhY2tldCBjaGFyYWN0ZXJzIGFuZCB3aWxkY2FyZCBjaGFyYWN0ZXIuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzYW1wbGVfZXhwbGFpbl8xIjoiPHA+Q2FzZXMgMSwgMiwgYW5kIDMgYXJlIGRpc2N1c3NlZCBpbiB0aGUgcHJvYmxlbSBzdGF0ZW1lbnQuPFwvcD5cclxuXHJcbjxwPkNhc2UgNDo8XC9wPlxyXG5cclxuPHA+VGhlIHdpbGRjYXJkcyBjYW4gYmUgcmVwbGFjZWQgYnkgYSBwYWlyIG9mIGJyYWNrZXRzIChlLmcuLCAmcXVvdDt7fSZxdW90OyksIGFuZCB0aGUgc3F1YXJlIGJyYWNrZXQgcGFpciAmcXVvdDtdWyZxdW90OyBjYW4gYmUgcmVtb3ZlZC4gVGhpcyBnaXZlcyB1cyBhIGJhbGFuY2VkIGJyYWNrZXQgc2VxdWVuY2Ugb2YgbGVuZ3RoIDQuPFwvcD5cclxuXHJcbjxwPkNhc2UgNTo8XC9wPlxyXG5cclxuPHA+QW1vbmcgbWFueSBzb2x1dGlvbnMsIG9uZSBpcyB0byByZW1vdmUgdGhlIHR3byBzcXVhcmUgYnJhY2tldHMsIGFuZCB0byBvYnRhaW4gJnF1b3Q7KCkoKSZxdW90Oy4gQW5vdGhlciBpcyB0byByZXBsYWNlIHRoZSBmaXJzdCB3aWxkIGNhcmQgYnkgJnF1b3Q7WyZxdW90OywgYW5kIHJlbW92ZSB0aGUgc2Vjb25kIHdpbGQgY2FyZCBhbmQgdGhlIHN1YnNlcXVlbnQgY2hhcmFjdGVyICgmcXVvdDtbJnF1b3Q7KSB0byBvYnRhaW4gJnF1b3Q7KFtdKSZxdW90Oy48XC9wPlxyXG5cclxuPHA+Q2FzZSA2OjxcL3A+XHJcblxyXG48cD5JZiB0aGUgaW5wdXQgc3RyaW5nIGlzIGFscmVhZHkgYmFsYW5jZWQsIHRoZW4gd2UgZG8gbm90IGhhdmUgdG8gcmVtb3ZlIGFueSBjaGFyYWN0ZXJzLiZuYnNwOzxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG4ifV0=

시간 제한

  • Java 8: 1 초
  • Python 3: 4 초
  • PyPy3: 4 초
  • Java 8 (OpenJDK): 1 초
  • Java 11: 1 초
  • Python 2: 4 초
  • PyPy2: 4 초
  • Kotlin (JVM): 1 초
  • Java 15: 1 초

채점 및 기타 정보

  • 예제는 채점하지 않는다.