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

문제

아이잔은 N개의 정수 S[0], S[1], ..., S[N-1]로 이루어진 수열 S를 가지고 있다. 수열은 0부터 N-1까지 서로 다른 N개의 정수로 이루어져있다. 아이잔은 두 수의 위치를 바꾸며 이 수열을 오름차순으로 정렬하려고 한다. 아이잔의 오랜 친구인 에르맥도 수열에서 두 수를 바꾸는데, 아이잔과는 다르게 정렬하려는 목적 없이 아무렇게나 바꾼다.

아이잔과 에르맥은 라운드를 거치며 수열을 조작한다. 각 라운드마다, 에르맥이 먼저 위치 바꾸기를 하고 그 다음 아이잔이 위치 바꾸기를 한다. 위치 바꾸기에 대해서 좀 더 자세히 말하자면, 바꿀 두 위치를 정하고 그 위치에 있는 값을 맞바꾼다. 이때 정하는 두 위치가 다를 필요는 없다. 만약 정한 두 위치가 같으면 수열에 아무런 변화가 없다.

아이잔은 에르맥이 수열 S를 정렬하려는 목적 없이 아무렇게나 바꾼다는 사실을 알고 있다. 더 나아가서 라운드를 시작하기 전부터 에르맥이 어떻게 위치 바꾸기를 할 건지 미리 다 알고 있다. 에르맥은 M 라운드에 대한 계획을 가지고 있다. 라운드의 번호를 순서대로 0 부터 M-1 까지 매겼을 때, i번 라운드에서 에르맥이 바꿀 두 위치는 X[i]와 Y[i]이다.

아이잔은 수열 S를 오름차순으로 정렬하길 원한다. 각 라운드를 시작하기 전에 만약 수열이 이미 정렬되어 있다면 라운드를 더 이상 진행하지 않고 멈출 수 있다. 처음 수열 S에 대한 정보와 에르맥이 M 라운드 동안 어떻게 위치 바꾸기를 할지에 대한 정보가 주어졌을 때, 아이잔이 어떻게 위치 바꾸기를 해야할지 구하시오. 추가적으로, 어떤 부분 문제에 대해서는 가능한 가장 적은 라운드 만에 정렬을 해야할 수도 있다. 언제나 M 라운드 안에 정렬이 가능하도록 입력이 주어진다.

만약 어떤 라운드에서 에르맥이 위치 바꾸기를 한 뒤 수열이 정렬되어 있다면, 아이잔은 같은 두 위치를 맞바꿔주면 된다 (예를 들어 0번 위치와 0번 위치). 그러면 이 라운드의 끝에서 수열 S는 정렬되고 아이잔은 멈출 수 있다. 또한 처음부터 수열 S가 정렬되어 있다면 필요한 라운드의 최소 수는 0 이다.

예제 1

  • 처음 수열 S = 4, 3, 2, 1, 0
  • 에르맥은 M = 6라운드를 진행하려 한다.
  • 에르맥이 바꿀 위치에 대한 정보 X와 Y는 X = 0, 1, 2, 3, 0, 1이며, Y = 1, 2, 3, 4, 1, 2 이다. 다르게 얘기하면 에르맥은 (0, 1), (1,2), (2,3), (3,4), (0, 1) 그리고 (1, 2) 순서대로 위치를 바꿀 계획이다.

이러한 상황에서 아이잔은 3 라운드 만에 수열 S를 0, 1, 2, 3, 4로 정렬할 수 있다. 아이잔은 (0, 4), (1, 3) 그리고 (3, 4) 순서대로 위치 바꾸기를 하면 된다.

아래 표는 각 위치 바꾸기마다 수열 S의 내용이 어떻게 바뀌는지 나타내고 있다.

라운드 사람 바꿀 두 위치 수열
초기     4, 3, 2, 1, 0
0 에르맥 (0, 1) 3, 4, 2, 1, 0
0 아이잔 (0, 4) 0, 4, 2, 1, 3
1 에르맥 (1, 2) 0, 2, 4, 1, 3
1 아이잔 (1, 3) 0, 1, 4, 2, 3
2 에르맥 (2, 3) 0, 1, 2, 4, 3
2 아이잔 (3, 4) 0, 1, 2, 3, 4

예제 2

  • 처음 수열 S = 3, 0, 4, 2, 1
  • 에르맥은 M = 5라운드를 진행하려 한다.
  • 에르맥은 (1, 1), (4, 0), (2, 3), (1, 4) 그리고 (0, 4) 순서대로 위치를 바꿀 계획이다.

이러한 상황에서 아이잔은 3 라운드 만에 수열 S를 정렬할 수 있다. 아이잔은 (1, 4), (4, 2) 그리고 (2, 2) 순서대로 위치 바꾸기를 하면 된다.

아래 표는 각 위치 바꾸기마다 수열 S의 내용이 어떻게 바뀌는지 나타내고 있다.

라운드 사람 바꿀 두 위치 수열
초기     3, 0, 4, 2, 1
0 에르맥 (1, 1) 3, 0, 4, 2, 1
0 아이잔 (1, 4) 3, 1, 4, 2, 0
1 에르맥 (4, 0) 0, 1, 4, 2, 3
1 아이잔 (4, 2) 0, 1, 3, 2, 4
2 에르맥 (2, 3) 0, 1, 2, 3, 4
2 아이잔 (2, 2) 0, 1, 2, 3, 4

수열 S와 정수 M, 그리고 X, Y가 주어진다.

아이잔이 수열 S를 정렬하기 위해 어떻게 위치를 바꿀지에 대해 계산하자. 정렬할 수 있는 가능한 가장 적은 라운드 안에 정렬 해야한다.

다음 함수 findSwapPairs를 구현해야 한다.

  • findSwapPairs(N, S, M, X, Y, P, Q) — 이 함수는 단 한 번 그레이더에 의해 호출된다.
    • N: 수열 S의 크기
    • S: 처음 수열 S에 대한 정보를 가지고 있는 정수 배열
    • M: 에르맥이 계획한 라운드 수
    • X, Y: 크기가 M인 정수 배열들. 0 ≤ i ≤ M-1 인 i에 대해 i번 라운드에서 에르맥은 두 위치 X[i], Y[i]에 있는 수를 맞바꾼다.
    • P, Q: 정수 배열들. 아이잔이 바꿀 위치에 대한 정보를 위해 필요한 배열이다. R이 여러분이 구한 정렬하기 위해 필요한 라운드 수라고 하자. 0과 R-1 사이의 i에 대해서 i번 라운드에 아이잔이 고른 맞바꿀 두 위치를 P[i]와 Q[i]에 저장한다. 배열 P와 Q는 이미 크기 M으로 메모리가 잡혀있다.
    • 이 함수는 위에 정의된 R 값을 리턴해야 한다.

M라운드 혹은 보다 더 일찍 정렬 가능하도록 입력이 주어진다.

입력

  • 1번 줄: N
  • 2번 줄: S[0] … S[N - 1]
  • 3번 줄: M
  • 4 ~ M + 3번 줄: X[i] Y[i]

출력

findSwapPairs가 리턴한 값을 출력한다.

다음 양식에 따라 출력한다:

  • 1번 줄: findSwapPairs의 리턴값 R
  • 2+i번 줄 (0 ≤ i < R): P[i] Q[i]

서브태스크

번호 배점 제한
1 20

6 ≤ N ≤ 2,000, M = 3N, R은 가능한 작은 값이어야 한다.

2 26

6 ≤ N ≤ 200,000, M = 3N, R은 가능한 작은 값이어야 한다.

예제 입력 1

5
4 3 2 1 0
6
0 1
1 2
2 3
3 4
0 1
1 2

예제 출력 1

3
0 4
1 3
3 4
W3sicHJvYmxlbV9pZCI6IjEwOTI0IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjODE1XHViODJjXHVkNTU4XHVhZTMwIDIiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc0MCBOXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCBTWzBdLCBTWzFdLCAuLi4sIFNbTi0xXVx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHVjMjE4XHVjNWY0IFNcdWI5N2MgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHVjMjE4XHVjNWY0XHVjNzQwIDBcdWJkODBcdWQxMzAgTi0xXHVhZTRjXHVjOWMwIFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggTlx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMThcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4XHVjNzg4XHViMmU0LiBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NDAgXHViNDUwIFx1YzIxOFx1Yzc1OCBcdWM3MDRcdWNlNThcdWI5N2MgXHViYzE0XHVhZmI4XHViYTcwIFx1Yzc3NCBcdWMyMThcdWM1ZjRcdWM3NDQgXHVjNjI0XHViOTg0XHVjYzI4XHVjMjFjXHVjNzNjXHViODVjIFx1YzgxNVx1YjgyY1x1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc1OCBcdWM2MjRcdWI3OWMgXHVjZTVjXHVhZDZjXHVjNzc4IFx1YzVkMFx1Yjk3NFx1YjllNVx1YjNjNCBcdWMyMThcdWM1ZjRcdWM1ZDBcdWMxMWMgXHViNDUwIFx1YzIxOFx1Yjk3YyBcdWJjMTRcdWFmYjhcdWIyOTRcdWIzNzAsIFx1YzU0NFx1Yzc3NFx1Yzc5NFx1YWNmY1x1YjI5NCBcdWIyZTRcdWI5NzRcdWFjOGMgXHVjODE1XHViODJjXHVkNTU4XHViODI0XHViMjk0IFx1YmFhOVx1YzgwMSBcdWM1YzZcdWM3NzQgXHVjNTQ0XHViYjM0XHViODA3XHVhYzhjXHViMDk4IFx1YmMxNFx1YWZiY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTQ0XHVjNzc0XHVjNzk0XHVhY2ZjIFx1YzVkMFx1Yjk3NFx1YjllNVx1Yzc0MCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWI5N2MgXHVhYzcwXHVjZTU4XHViYTcwIFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWM4NzBcdWM3OTFcdWQ1NWNcdWIyZTQuIFx1YWMwMSBcdWI3N2NcdWM2YjRcdWI0ZGNcdWI5YzhcdWIyZTQsIFx1YzVkMFx1Yjk3NFx1YjllNVx1Yzc3NCBcdWJhM2NcdWM4MDAgXHVjNzA0XHVjZTU4IFx1YmMxNFx1YWZiOFx1YWUzMFx1Yjk3YyBcdWQ1NThcdWFjZTAgXHVhZGY4IFx1YjJlNFx1Yzc0YyBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NzQgXHVjNzA0XHVjZTU4IFx1YmMxNFx1YWZiOFx1YWUzMFx1Yjk3YyBcdWQ1NWNcdWIyZTQuIFx1YzcwNFx1Y2U1OCBcdWJjMTRcdWFmYjhcdWFlMzBcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjIFx1Yzg4MCBcdWIzNTQgXHVjNzkwXHVjMTM4XHVkNzg4IFx1YjlkMFx1ZDU1OFx1Yzc5MFx1YmE3NCwgXHViYzE0XHVhZmMwIFx1YjQ1MCBcdWM3MDRcdWNlNThcdWI5N2MgXHVjODE1XHVkNTU4XHVhY2UwIFx1YWRmOCBcdWM3MDRcdWNlNThcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWMxMlx1Yzc0NCBcdWI5ZGVcdWJjMTRcdWFmYmNcdWIyZTQuIFx1Yzc3NFx1YjU0YyBcdWM4MTVcdWQ1NThcdWIyOTQgXHViNDUwIFx1YzcwNFx1Y2U1OFx1YWMwMCBcdWIyZTRcdWI5N2MgXHVkNTQ0XHVjNjk0XHViMjk0IFx1YzVjNlx1YjJlNC4gXHViOWNjXHVjNTdkIFx1YzgxNVx1ZDU1YyBcdWI0NTAgXHVjNzA0XHVjZTU4XHVhYzAwIFx1YWMxOVx1YzczY1x1YmE3NCBcdWMyMThcdWM1ZjRcdWM1ZDAgXHVjNTQ0XHViYjM0XHViN2YwIFx1YmNjMFx1ZDY1NFx1YWMwMCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc0MCBcdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NzQgXHVjMjE4XHVjNWY0IFNcdWI5N2MgXHVjODE1XHViODJjXHVkNTU4XHViODI0XHViMjk0IFx1YmFhOVx1YzgwMSBcdWM1YzZcdWM3NzQgXHVjNTQ0XHViYjM0XHViODA3XHVhYzhjXHViMDk4IFx1YmMxNFx1YWZiY1x1YjJlNFx1YjI5NCBcdWMwYWNcdWMyZTRcdWM3NDQgXHVjNTRjXHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHViMzU0IFx1YjA5OFx1YzU0NFx1YWMwMFx1YzExYyBcdWI3N2NcdWM2YjRcdWI0ZGNcdWI5N2MgXHVjMmRjXHVjNzkxXHVkNTU4XHVhZTMwIFx1YzgwNFx1YmQ4MFx1ZDEzMCBcdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NzQgXHVjNWI0XHViNWJiXHVhYzhjIFx1YzcwNFx1Y2U1OCBcdWJjMTRcdWFmYjhcdWFlMzBcdWI5N2MgXHVkNTYwIFx1YWM3NFx1YzljMCBcdWJiZjhcdWI5YWMgXHViMmU0IFx1YzU0Y1x1YWNlMCBcdWM3ODhcdWIyZTQuIFx1YzVkMFx1Yjk3NFx1YjllNVx1Yzc0MCBNIFx1Yjc3Y1x1YzZiNFx1YjRkY1x1YzVkMCBcdWIzMDBcdWQ1NWMgXHVhY2M0XHVkNjhkXHVjNzQ0IFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWIyZTQuIFx1Yjc3Y1x1YzZiNFx1YjRkY1x1Yzc1OCBcdWJjODhcdWQ2MzhcdWI5N2MgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIDAgXHViZDgwXHVkMTMwIE0tMSBcdWFlNGNcdWM5YzAgXHViOWU0XHVhY2JjXHVjNzQ0IFx1YjU0YywgaVx1YmM4OCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM1ZDBcdWMxMWMgXHVjNWQwXHViOTc0XHViOWU1XHVjNzc0IFx1YmMxNFx1YWZjMCBcdWI0NTAgXHVjNzA0XHVjZTU4XHViMjk0IFhbaV1cdWM2NDAgWVtpXVx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTQ0XHVjNzc0XHVjNzk0XHVjNzQwIFx1YzIxOFx1YzVmNCBTXHViOTdjIFx1YzYyNFx1Yjk4NFx1Y2MyOFx1YzIxY1x1YzczY1x1Yjg1YyBcdWM4MTVcdWI4MmNcdWQ1NThcdWFlMzggXHVjNmQwXHVkNTVjXHViMmU0LiBcdWFjMDEgXHViNzdjXHVjNmI0XHViNGRjXHViOTdjIFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YWUzMCBcdWM4MDRcdWM1ZDAgXHViOWNjXHVjNTdkIFx1YzIxOFx1YzVmNFx1Yzc3NCBcdWM3NzRcdWJiZjggXHVjODE1XHViODJjXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNFx1YmE3NCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWI5N2MgXHViMzU0IFx1Yzc3NFx1YzBjMSBcdWM5YzRcdWQ1ODlcdWQ1NThcdWM5YzAgXHVjNTRhXHVhY2UwIFx1YmE0OFx1Y2Q5YyBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWNjOThcdWM3NGMgXHVjMjE4XHVjNWY0IFNcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzgxNVx1YmNmNFx1YzY0MCBcdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NzQgTSBcdWI3N2NcdWM2YjRcdWI0ZGMgXHViM2Q5XHVjNTQ4IFx1YzViNFx1YjViYlx1YWM4YyBcdWM3MDRcdWNlNTggXHViYzE0XHVhZmI4XHVhZTMwXHViOTdjIFx1ZDU2MFx1YzljMFx1YzVkMCBcdWIzMDBcdWQ1NWMgXHVjODE1XHViY2Y0XHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc3NCBcdWM1YjRcdWI1YmJcdWFjOGMgXHVjNzA0XHVjZTU4IFx1YmMxNFx1YWZiOFx1YWUzMFx1Yjk3YyBcdWQ1NzRcdWM1N2NcdWQ1NjBcdWM5YzAgXHVhZDZjXHVkNTU4XHVjMmRjXHVjNjI0LiBcdWNkOTRcdWFjMDBcdWM4MDFcdWM3M2NcdWI4NWMsIFx1YzViNFx1YjVhNCBcdWJkODBcdWJkODQgXHViYjM4XHVjODFjXHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExY1x1YjI5NCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVhYzAwXHVjN2E1IFx1YzgwMVx1Yzc0MCBcdWI3N2NcdWM2YjRcdWI0ZGMgXHViOWNjXHVjNWQwIFx1YzgxNVx1YjgyY1x1Yzc0NCBcdWQ1NzRcdWM1N2NcdWQ1NjAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHVjNWI4XHVjODFjXHViMDk4IE0gXHViNzdjXHVjNmI0XHViNGRjIFx1YzU0OFx1YzVkMCBcdWM4MTVcdWI4MmNcdWM3NzQgXHVhYzAwXHViMmE1XHVkNTU4XHViM2M0XHViODVkIFx1Yzc4NVx1YjgyNVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljY1x1YzU3ZCBcdWM1YjRcdWI1YTQgXHViNzdjXHVjNmI0XHViNGRjXHVjNWQwXHVjMTFjIFx1YzVkMFx1Yjk3NFx1YjllNVx1Yzc3NCBcdWM3MDRcdWNlNTggXHViYzE0XHVhZmI4XHVhZTMwXHViOTdjIFx1ZDU1YyBcdWI0YTQgXHVjMjE4XHVjNWY0XHVjNzc0IFx1YzgxNVx1YjgyY1x1YjQxOFx1YzViNCBcdWM3ODhcdWIyZTRcdWJhNzQsIFx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc0MCBcdWFjMTlcdWM3NDAgXHViNDUwIFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWI5ZGVcdWJjMTRcdWFmZDRcdWM4ZmNcdWJhNzQgXHViNDFjXHViMmU0IChcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0IDBcdWJjODggXHVjNzA0XHVjZTU4XHVjNjQwIDBcdWJjODggXHVjNzA0XHVjZTU4KS4gXHVhZGY4XHViN2VjXHViYTc0IFx1Yzc3NCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM3NTggXHViMDVkXHVjNWQwXHVjMTFjIFx1YzIxOFx1YzVmNCBTXHViMjk0IFx1YzgxNVx1YjgyY1x1YjQxOFx1YWNlMCBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NDAgXHViYTQ4XHVjZDljIFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1YjYxMFx1ZDU1YyBcdWNjOThcdWM3NGNcdWJkODBcdWQxMzAgXHVjMjE4XHVjNWY0IFNcdWFjMDAgXHVjODE1XHViODJjXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNFx1YmE3NCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHViNzdjXHVjNmI0XHViNGRjXHVjNzU4IFx1Y2Q1Y1x1YzE4YyBcdWMyMThcdWIyOTQgMCBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1YzgxYyAxPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHVjYzk4XHVjNzRjIFx1YzIxOFx1YzVmNCBTID0gNCwgMywgMiwgMSwgMDxcL2xpPlxyXG5cdDxsaT5cdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NDAgTSA9IDZcdWI3N2NcdWM2YjRcdWI0ZGNcdWI5N2MgXHVjOWM0XHVkNTg5XHVkNTU4XHViODI0IFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjNWQwXHViOTc0XHViOWU1XHVjNzc0IFx1YmMxNFx1YWZjMCBcdWM3MDRcdWNlNThcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzgxNVx1YmNmNCBYXHVjNjQwIFlcdWIyOTQgWCA9IDAsIDEsIDIsIDMsIDAsIDFcdWM3NzRcdWJhNzAsIFkgPSAxLCAyLCAzLCA0LCAxLCAyIFx1Yzc3NFx1YjJlNC4gXHViMmU0XHViOTc0XHVhYzhjIFx1YzU5OFx1YWUzMFx1ZDU1OFx1YmE3NCBcdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NDAgKDAsIDEpLCAoMSwyKSwgKDIsMyksICgzLDQpLCAoMCwgMSkgXHVhZGY4XHViOWFjXHVhY2UwICgxLCAyKSBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjNzA0XHVjZTU4XHViOTdjIFx1YmMxNFx1YWZjMCBcdWFjYzRcdWQ2OGRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVjNzc0XHViN2VjXHVkNTVjIFx1YzBjMVx1ZDY2OVx1YzVkMFx1YzExYyBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NDAgMyBcdWI3N2NcdWM2YjRcdWI0ZGMgXHViOWNjXHVjNWQwIFx1YzIxOFx1YzVmNCBTXHViOTdjIDAsIDEsIDIsIDMsIDRcdWI4NWMgXHVjODE1XHViODJjXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1YzU0NFx1Yzc3NFx1Yzc5NFx1Yzc0MCAoMCwgNCksICgxLCAzKSBcdWFkZjhcdWI5YWNcdWFjZTAgKDMsIDQpIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWM3MDRcdWNlNTggXHViYzE0XHVhZmI4XHVhZTMwXHViOTdjIFx1ZDU1OFx1YmE3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzU0NFx1Yjc5OCBcdWQ0NWNcdWIyOTQgXHVhYzAxIFx1YzcwNFx1Y2U1OCBcdWJjMTRcdWFmYjhcdWFlMzBcdWI5YzhcdWIyZTQgXHVjMjE4XHVjNWY0IFNcdWM3NTggXHViMGI0XHVjNmE5XHVjNzc0IFx1YzViNFx1YjViYlx1YWM4YyBcdWJjMTRcdWIwMGNcdWIyOTRcdWM5YzAgXHViMDk4XHVkMGMwXHViMGI0XHVhY2UwIFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWRcIiBzdHlsZT1cIndpZHRoOjMwJVwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoPlx1Yjc3Y1x1YzZiNFx1YjRkYzxcL3RoPlxyXG5cdFx0XHQ8dGg+XHVjMGFjXHViNzhjPFwvdGg+XHJcblx0XHRcdDx0aD5cdWJjMTRcdWFmYzAgXHViNDUwIFx1YzcwNFx1Y2U1ODxcL3RoPlxyXG5cdFx0XHQ8dGg+XHVjMjE4XHVjNWY0PFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD5cdWNkMDhcdWFlMzA8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0XHQ8dGQ+Jm5ic3A7PFwvdGQ+XHJcblx0XHRcdDx0ZD40LCAzLCAyLCAxLCAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzVkMFx1Yjk3NFx1YjllNTxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDAsIDEpPFwvdGQ+XHJcblx0XHRcdDx0ZD4zLCA0LCAyLCAxLCAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzU0NFx1Yzc3NFx1Yzc5NDxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDAsIDQpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCA0LCAyLCAxLCAzPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjE8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzVkMFx1Yjk3NFx1YjllNTxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDEsIDIpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAyLCA0LCAxLCAzPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjE8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzU0NFx1Yzc3NFx1Yzc5NDxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDEsIDMpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAxLCA0LCAyLCAzPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjI8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzVkMFx1Yjk3NFx1YjllNTxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDIsIDMpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAxLCAyLCA0LCAzPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjI8XC90ZD5cclxuXHRcdFx0PHRkPlx1YzU0NFx1Yzc3NFx1Yzc5NDxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDMsIDQpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAxLCAyLCAzLCA0PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgMjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1Y2M5OFx1Yzc0YyBcdWMyMThcdWM1ZjQgUyA9IDMsIDAsIDQsIDIsIDE8XC9saT5cclxuXHQ8bGk+XHVjNWQwXHViOTc0XHViOWU1XHVjNzQwIE0gPSA1XHViNzdjXHVjNmI0XHViNGRjXHViOTdjIFx1YzljNFx1ZDU4OVx1ZDU1OFx1YjgyNCBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzVkMFx1Yjk3NFx1YjllNVx1Yzc0MCAoMSwgMSksICg0LCAwKSwgKDIsIDMpLCAoMSwgNCkgXHVhZGY4XHViOWFjXHVhY2UwICgwLCA0KSBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjNzA0XHVjZTU4XHViOTdjIFx1YmMxNFx1YWZjMCBcdWFjYzRcdWQ2OGRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVjNzc0XHViN2VjXHVkNTVjIFx1YzBjMVx1ZDY2OVx1YzVkMFx1YzExYyBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NDAgMyBcdWI3N2NcdWM2YjRcdWI0ZGMgXHViOWNjXHVjNWQwIFx1YzIxOFx1YzVmNCBTXHViOTdjIFx1YzgxNVx1YjgyY1x1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NDAgKDEsIDQpLCAoNCwgMikgXHVhZGY4XHViOWFjXHVhY2UwICgyLCAyKSBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjNzA0XHVjZTU4IFx1YmMxNFx1YWZiOFx1YWUzMFx1Yjk3YyBcdWQ1NThcdWJhNzQgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM1NDRcdWI3OTggXHVkNDVjXHViMjk0IFx1YWMwMSBcdWM3MDRcdWNlNTggXHViYzE0XHVhZmI4XHVhZTMwXHViOWM4XHViMmU0IFx1YzIxOFx1YzVmNCBTXHVjNzU4IFx1YjBiNFx1YzZhOVx1Yzc3NCBcdWM1YjRcdWI1YmJcdWFjOGMgXHViYzE0XHViMDBjXHViMjk0XHVjOWMwIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YWNlMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkXCIgc3R5bGU9XCJ3aWR0aDozMCVcIj5cclxuXHQ8dGhlYWQ+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0aD5cdWI3N2NcdWM2YjRcdWI0ZGM8XC90aD5cclxuXHRcdFx0PHRoPlx1YzBhY1x1Yjc4YzxcL3RoPlxyXG5cdFx0XHQ8dGg+XHViYzE0XHVhZmMwIFx1YjQ1MCBcdWM3MDRcdWNlNTg8XC90aD5cclxuXHRcdFx0PHRoPlx1YzIxOFx1YzVmNDxcL3RoPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGhlYWQ+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+XHVjZDA4XHVhZTMwPFwvdGQ+XHJcblx0XHRcdDx0ZD4mbmJzcDs8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0XHQ8dGQ+MywgMCwgNCwgMiwgMTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1ZDBcdWI5NzRcdWI5ZTU8XC90ZD5cclxuXHRcdFx0PHRkPigxLCAxKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MywgMCwgNCwgMiwgMTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1NDRcdWM3NzRcdWM3OTQ8XC90ZD5cclxuXHRcdFx0PHRkPigxLCA0KTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MywgMSwgNCwgMiwgMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1ZDBcdWI5NzRcdWI5ZTU8XC90ZD5cclxuXHRcdFx0PHRkPig0LCAwKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgNCwgMiwgMzxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1NDRcdWM3NzRcdWM3OTQ8XC90ZD5cclxuXHRcdFx0PHRkPig0LCAyKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMywgMiwgNDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1ZDBcdWI5NzRcdWI5ZTU8XC90ZD5cclxuXHRcdFx0PHRkPigyLCAzKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMiwgMywgNDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yPFwvdGQ+XHJcblx0XHRcdDx0ZD5cdWM1NDRcdWM3NzRcdWM3OTQ8XC90ZD5cclxuXHRcdFx0PHRkPigyLCAyKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMiwgMywgNDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+XHVjMjE4XHVjNWY0IFNcdWM2NDAgXHVjODE1XHVjMjE4IE0sIFx1YWRmOFx1YjlhY1x1YWNlMCBYLCBZXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNTQ0XHVjNzc0XHVjNzk0XHVjNzc0IFx1YzIxOFx1YzVmNCBTXHViOTdjIFx1YzgxNVx1YjgyY1x1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjNWI0XHViNWJiXHVhYzhjIFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWJjMTRcdWFmYzBcdWM5YzBcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YWNjNFx1YzBiMFx1ZDU1OFx1Yzc5MC4mbmJzcDtcdWM4MTVcdWI4MmNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVhYzAwXHVjN2E1IFx1YzgwMVx1Yzc0MCBcdWI3N2NcdWM2YjRcdWI0ZGMgXHVjNTQ4XHVjNWQwIFx1YzgxNVx1YjgyYyBcdWQ1NzRcdWM1N2NcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBcdWQ1NjhcdWMyMTggZmluZFN3YXBQYWlyc1x1Yjk3YyBcdWFkNmNcdWQ2MDRcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPmZpbmRTd2FwUGFpcnMoTiwgUywgTSwgWCwgWSwgUCwgUSkgJm1kYXNoOyBcdWM3NzQgXHVkNTY4XHVjMjE4XHViMjk0IFx1YjJlOCBcdWQ1NWMgXHViYzg4IFx1YWRmOFx1YjgwOFx1Yzc3NFx1YjM1NFx1YzVkMCBcdWM3NThcdWQ1NzQgXHVkNjM4XHVjZDljXHViNDFjXHViMmU0LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5OOiBcdWMyMThcdWM1ZjQgU1x1Yzc1OCBcdWQwNmNcdWFlMzA8XC9saT5cclxuXHRcdDxsaT5TOiBcdWNjOThcdWM3NGMgXHVjMjE4XHVjNWY0IFNcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzgxNVx1YmNmNFx1Yjk3YyBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHViMjk0IFx1YzgxNVx1YzIxOCBcdWJjMzBcdWM1ZjQ8XC9saT5cclxuXHRcdDxsaT5NOiBcdWM1ZDBcdWI5NzRcdWI5ZTVcdWM3NzQgXHVhY2M0XHVkNjhkXHVkNTVjIFx1Yjc3Y1x1YzZiNFx1YjRkYyBcdWMyMTg8XC9saT5cclxuXHRcdDxsaT5YLCBZOiBcdWQwNmNcdWFlMzBcdWFjMDAgTVx1Yzc3OCBcdWM4MTVcdWMyMTggXHViYzMwXHVjNWY0XHViNGU0LiAwICZsZTsgaSAmbGU7IE0tMSBcdWM3NzggaVx1YzVkMCBcdWIzMDBcdWQ1NzQgaVx1YmM4OCBcdWI3N2NcdWM2YjRcdWI0ZGNcdWM1ZDBcdWMxMWMgXHVjNWQwXHViOTc0XHViOWU1XHVjNzQwIFx1YjQ1MCBcdWM3MDRcdWNlNTggWFtpXSwgWVtpXVx1YzVkMCBcdWM3ODhcdWIyOTQgXHVjMjE4XHViOTdjIFx1YjlkZVx1YmMxNFx1YWZiY1x1YjJlNC48XC9saT5cclxuXHRcdDxsaT5QLCBROiBcdWM4MTVcdWMyMTggXHViYzMwXHVjNWY0XHViNGU0LiBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NzQgXHViYzE0XHVhZmMwIFx1YzcwNFx1Y2U1OFx1YzVkMCBcdWIzMDBcdWQ1NWMgXHVjODE1XHViY2Y0XHViOTdjIFx1YzcwNFx1ZDU3NCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHViYzMwXHVjNWY0XHVjNzc0XHViMmU0LiBSXHVjNzc0IFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc3NCBcdWFkNmNcdWQ1NWMgXHVjODE1XHViODJjXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHViNzdjXHVjNmI0XHViNGRjIFx1YzIxOFx1Yjc3Y1x1YWNlMCBcdWQ1NThcdWM3OTAuIDBcdWFjZmMgUi0xIFx1YzBhY1x1Yzc3NFx1Yzc1OCBpXHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBpXHViYzg4IFx1Yjc3Y1x1YzZiNFx1YjRkY1x1YzVkMCBcdWM1NDRcdWM3NzRcdWM3OTRcdWM3NzQgXHVhY2UwXHViOTc4IFx1YjlkZVx1YmMxNFx1YWZjMCBcdWI0NTAgXHVjNzA0XHVjZTU4XHViOTdjIFBbaV1cdWM2NDAgUVtpXVx1YzVkMCBcdWM4MDBcdWM3YTVcdWQ1NWNcdWIyZTQuIFx1YmMzMFx1YzVmNCBQXHVjNjQwIFFcdWIyOTQgXHVjNzc0XHViYmY4IFx1ZDA2Y1x1YWUzMCBNXHVjNzNjXHViODVjIFx1YmE1NFx1YmFhOFx1YjlhY1x1YWMwMCBcdWM3YTFcdWQ2MDBcdWM3ODhcdWIyZTQuPFwvbGk+XHJcblx0XHQ8bGk+XHVjNzc0IFx1ZDU2OFx1YzIxOFx1YjI5NCBcdWM3MDRcdWM1ZDAgXHVjODE1XHVjNzU4XHViNDFjIFIgXHVhYzEyXHVjNzQ0IFx1YjlhY1x1ZDEzNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+TVx1Yjc3Y1x1YzZiNFx1YjRkYyBcdWQ2MzlcdWM3NDAgXHViY2Y0XHViMmU0IFx1YjM1NCBcdWM3N2NcdWNjMGQgXHVjODE1XHViODJjIFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjNjNFx1Yjg1ZCBcdWM3ODVcdWI4MjVcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHVsPlxyXG5cdDxsaT4xXHViYzg4IFx1YzkwNDogTjxcL2xpPlxyXG5cdDxsaT4yXHViYzg4IFx1YzkwNDogU1swXSAmaGVsbGlwOyBTW04gLSAxXTxcL2xpPlxyXG5cdDxsaT4zXHViYzg4IFx1YzkwNDogTTxcL2xpPlxyXG5cdDxsaT40IH4gTSArIDNcdWJjODggXHVjOTA0OiBYW2ldIFlbaV08XC9saT5cclxuPFwvdWw+XHJcbiIsIm91dHB1dCI6IjxwPmZpbmRTd2FwUGFpcnNcdWFjMDAgXHViOWFjXHVkMTM0XHVkNTVjIFx1YWMxMlx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBcdWM1OTFcdWMyZGRcdWM1ZDAgXHViNTMwXHViNzdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT4xXHViYzg4IFx1YzkwNDogZmluZFN3YXBQYWlyc1x1Yzc1OCBcdWI5YWNcdWQxMzRcdWFjMTIgUjxcL2xpPlxyXG5cdDxsaT4yK2lcdWJjODggXHVjOTA0ICgwICZsZTsgaSAmbHQ7IFIpOiBQW2ldIFFbaV08XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsInN1YnRhc2sxIjoiPHA+NiAmbGU7IE4gJmxlOyAyLDAwMCwgTSA9IDNOLCBSXHVjNzQwIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWM3OTFcdWM3NDAgXHVhYzEyXHVjNzc0XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJzdWJ0YXNrMiI6IjxwPjYgJmxlOyBOICZsZTsgMjAwLDAwMCwgTSA9IDNOLCBSXHVjNzQwIFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWM3OTFcdWM3NDAgXHVhYzEyXHVjNzc0XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4ifSx7InByb2JsZW1faWQiOiIxMDkyNCIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlNvcnRpbmcgMiIsImRlc2NyaXB0aW9uIjoiPHA+QWl6aGFuIGhhcyBhIHNlcXVlbmNlIG9mIE4gaW50ZWdlcnMgU1swXSwgU1sxXSwgLi4uLCBTW04tMV0uIFRoZSBzZXF1ZW5jZSBjb25zaXN0cyBvZiBkaXN0aW5jdCBudW1iZXJzIGZyb20gMCB0byBOLTEuIFNoZSBpcyB0cnlpbmcgdG8gc29ydCB0aGlzIHNlcXVlbmNlIGluIGFzY2VuZGluZyBvcmRlciBieSBzd2FwcGluZyBzb21lIHBhaXJzIG9mIGVsZW1lbnRzLiBIZXIgZnJpZW5kIEVybWVrIGlzIGFsc28gZ29pbmcgdG8gc3dhcCBzb21lIHBhaXJzIG9mIGVsZW1lbnRzICZtZGFzaDsgbm90IG5lY2Vzc2FyaWx5IGluIGEgaGVscGZ1bCB3YXkuPFwvcD5cclxuXHJcbjxwPkVybWVrIGFuZCBBaXpoYW4gYXJlIGdvaW5nIHRvIG1vZGlmeSB0aGUgc2VxdWVuY2UgaW4gYSBzZXJpZXMgb2Ygcm91bmRzLiBJbiBlYWNoIHJvdW5kLCBmaXJzdCBFcm1layBtYWtlcyBhIHN3YXAgYW5kIHRoZW4gQWl6aGFuIG1ha2VzIGFub3RoZXIgc3dhcC4gTW9yZSBwcmVjaXNlbHksIHRoZSBwZXJzb24gbWFraW5nIGEgc3dhcCBjaG9vc2VzIHR3byB2YWxpZCBpbmRpY2VzIGFuZCBzd2FwcyB0aGUgZWxlbWVudHMgYXQgdGhvc2UgaW5kaWNlcy4gTm90ZSB0aGF0IHRoZSB0d28gaW5kaWNlcyBkbyBub3QgaGF2ZSB0byBiZSBkaXN0aW5jdC4gSWYgdGhleSBhcmUgZXF1YWwsIHRoZSBjdXJyZW50IHBlcnNvbiBzd2FwcyBhbiBlbGVtZW50IHdpdGggaXRzZWxmLCB3aGljaCBkb2VzIG5vdCBjaGFuZ2UgdGhlIHNlcXVlbmNlLjxcL3A+XHJcblxyXG48cD5BaXpoYW4ga25vd3MgdGhhdCBFcm1layBkb2VzIG5vdCBhY3R1YWxseSBjYXJlIGFib3V0IHNvcnRpbmcgdGhlIHNlcXVlbmNlIFMuIFNoZSBhbHNvIGtub3dzIHRoZSBleGFjdCBpbmRpY2VzIEVybWVrIGlzIGdvaW5nIHRvIGNob29zZS4gRXJtZWsgcGxhbnMgdG8gdGFrZSBwYXJ0IGluIE0gcm91bmRzIG9mIHN3YXBwaW5nLiBXZSBudW1iZXIgdGhlc2Ugcm91bmRzIGZyb20gMCB0byBNLTEuIEZvciBlYWNoIGJldHdlZW4gMCBhbmQgTS0xIGluY2x1c2l2ZSwgRXJtZWsgd2lsbCBjaG9vc2UgdGhlIGluZGljZXMgWFtpXSBhbmQgWVtpXSBpbiByb3VuZCBpLjxcL3A+XHJcblxyXG48cD5BaXpoYW4gd2FudHMgdG8gc29ydCB0aGUgc2VxdWVuY2UgUy4gQmVmb3JlIGVhY2ggcm91bmQsIGlmIEFpemhhbiBzZWVzIHRoYXQgdGhlIHNlcXVlbmNlIGlzIGFscmVhZHkgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciwgc2hlIHdpbGwgdGVybWluYXRlIHRoZSBlbnRpcmUgcHJvY2Vzcy4gR2l2ZW4gdGhlIG9yaWdpbmFsIHNlcXVlbmNlIFMgYW5kIHRoZSBpbmRpY2VzIEVybWVrIGlzIGdvaW5nIHRvIGNob29zZSwgeW91ciB0YXNrIGlzIHRvIGZpbmQgYSBzZXF1ZW5jZSBvZiBzd2Fwcywgd2hpY2ggQWl6aGFuIGNhbiB1c2UgdG8gc29ydCB0aGUgc2VxdWVuY2UgUy4gSW4gYWRkaXRpb24sIGluIHNvbWUgc3VidGFza3MgeW91IGFyZSByZXF1aXJlZCB0byBmaW5kIGEgc2VxdWVuY2Ugb2Ygc3dhcHMgdGhhdCBpcyBhcyBzaG9ydCBhcyBwb3NzaWJsZS4gWW91IG1heSBhc3N1bWUgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBzb3J0IHRoZSBzZXF1ZW5jZSBTIGluIE0gb3IgZmV3ZXIgcm91bmRzLjxcL3A+XHJcblxyXG48cD5Ob3RlIHRoYXQgaWYgQWl6aGFuIHNlZXMgdGhhdCB0aGUgc2VxdWVuY2UgUyBpcyBzb3J0ZWQgYWZ0ZXIgRXJtZWsmcnNxdW87cyBzd2FwLCBzaGUgY2FuIGNob29zZSB0byBzd2FwIHR3byBlcXVhbCBpbmRpY2VzIChlLmcuLCAwIGFuZCAwKS4gQXMgYSByZXN1bHQgdGhlIHNlcXVlbmNlIFMgaXMgYWxzbyBzb3J0ZWQgYWZ0ZXIgdGhlIGVudGlyZSByb3VuZCwgc28gQWl6aGFuIHJlYWNoZXMgaGVyIGdvYWwuIEFsc28gbm90ZSB0aGF0IGlmIHRoZSBpbml0aWFsc2VxdWVuY2UgUyBpcyBhbHJlYWR5IHNvcnRlZCwgdGhlIG1pbmltYWwgbnVtYmVyIG9mIHJvdW5kcyBuZWVkZWQgdG8gc29ydCBpdCBpcyAwLjxcL3A+XHJcblxyXG48cD5FeGFtcGxlIDE8XC9wPlxyXG5cclxuPHA+U3VwcG9zZSB0aGF0OjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlRoZSBpbml0aWFsc2VxdWVuY2UgaXMgUyA9IDQsIDMsIDIsIDEsIDAuPFwvbGk+XHJcblx0PGxpPkVybWVrIGlzIHdpbGxpbmcgdG8gbWFrZSBNID0gNiBzd2Fwcy48XC9saT5cclxuXHQ8bGk+VGhlIHNlcXVlbmNlcyBhbmQgdGhhdCBkZXNjcmliZSB0aGUgaW5kaWNlcyBFcm1layBpcyBnb2luZyB0byBjaG9vc2UgYXJlIFggPSAwLCAxLCAyLCAzLCAwLCAxIGFuZCBZID0gMSwgMiwgMywgNCwgMSwgMi4gSW4gb3RoZXIgd29yZHMsIHRoZSBwYWlycyBvZiBpbmRpY2VzIHRoYXQgRXJtZWsgcGxhbnMgdG8gY2hvb3NlIGFyZSAoMCwgMSksICgxLCAyKSwgKDIsIDMpLCAoMywgNCksICgwLCAxKSwgYW5kICgxLCAyKS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5JbiB0aGlzIHNldHRpbmcgQWl6aGFuIGNhbiBzb3J0IHRoZSBzZXF1ZW5jZSBTIGludG8gdGhlIG9yZGVyIDAsIDEsIDIsIDMsIDQgaW4gdGhyZWUgcm91bmRzLiBTaGUgY2FuIGRvIHNvIGJ5IGNob29zaW5nIHRoZSBpbmRpY2VzICgwLCA0KSwgKDEsIDMpLCBhbmQgdGhlbiAoMywgNCkuPFwvcD5cclxuXHJcbjxwPlRoZSBmb2xsb3dpbmcgdGFibGUgc2hvd3MgaG93IEVybWVrIGFuZCBBaXpoYW4gbW9kaWZ5IHRoZSBzZXF1ZW5jZS48XC9wPlxyXG5cclxuPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWRcIiBzdHlsZT1cIndpZHRoOjMwJVwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoPlJvdW5kPFwvdGg+XHJcblx0XHRcdDx0aD5QbGF5ZXI8XC90aD5cclxuXHRcdFx0PHRoPlBpYXIgb2Ygc3dhcHBlZCBpbmRpY2VzPFwvdGg+XHJcblx0XHRcdDx0aD5TZXF1ZW5jZTxcL3RoPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGhlYWQ+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+YmVnaW5uaW5nPFwvdGQ+XHJcblx0XHRcdDx0ZD4mbmJzcDs8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0XHQ8dGQ+NCwgMywgMiwgMSwgMDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5Fcm1lazxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDAsIDEpPFwvdGQ+XHJcblx0XHRcdDx0ZD4zLCA0LCAyLCAxLCAwPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPkFpemhhbjxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDAsIDQpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCA0LCAyLCAxLCAzPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjE8XC90ZD5cclxuXHRcdFx0PHRkPkVybWVrPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMSwgMik8XC90ZD5cclxuXHRcdFx0PHRkPjAsIDIsIDQsIDEsIDM8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MTxcL3RkPlxyXG5cdFx0XHQ8dGQ+QWl6aGFuPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMSwgMyk8XC90ZD5cclxuXHRcdFx0PHRkPjAsIDEsIDQsIDIsIDM8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MjxcL3RkPlxyXG5cdFx0XHQ8dGQ+RXJtZWs8XC90ZD5cclxuXHRcdFx0PHRkPigyLCAzKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMiwgNCwgMzxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yPFwvdGQ+XHJcblx0XHRcdDx0ZD5BaXpoYW48XC90ZD5cclxuXHRcdFx0PHRkPigzLCA0KTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMiwgMywgNDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+RXhhbXBsZSAyPFwvcD5cclxuXHJcbjxwPlN1cHBvc2UgdGhhdDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5UaGUgaW5pdGlhbHNlcXVlbmNlIGlzIFMgPSAzLCAwLCA0LCAyLCAxLjxcL2xpPlxyXG5cdDxsaT5Fcm1layBpcyB3aWxsaW5nIHRvIG1ha2UgTSA9IDUgc3dhcHMuPFwvbGk+XHJcblx0PGxpPlRoZSBwYWlycyBvZiBpbmRpY2VzIHRoYXQgRXJtZWsgcGxhbnMgdG8gY2hvb3NlIGFyZSAoMSwgMSksICg0LCAwKSwgKDIsIDMpLCAoMSwgNCksIGFuZCAoMCwgNCkuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+SW4gdGhpcyBzZXR0aW5nIEFpemhhbiBjYW4gc29ydCB0aGUgc2VxdWVuY2UgU2luIHRocmVlIHJvdW5kcywgZm9yIGV4YW1wbGUgYnkgY2hvb3NpbmcgdGhlIHBhaXJzIG9mIGluZGljZXMgKDEsIDQpLCAoNCwgMiksIGFuZCB0aGVuICgyLCAyKS4gVGhlIGZvbGxvd2luZyB0YWJsZSBzaG93cyBob3cgRXJtZWsgYW5kIEFpemhhbiBtb2RpZnkgdGhlIHNlcXVlbmNlLjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6MzAlXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGg+Um91bmQ8XC90aD5cclxuXHRcdFx0PHRoPlBsYXllcjxcL3RoPlxyXG5cdFx0XHQ8dGg+UGFpciBvZiBzd2FwcGVkIGluZGljZXM8XC90aD5cclxuXHRcdFx0PHRoPlNlcXVlbmNlPFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD5cdWNkMDhcdWFlMzA8XC90ZD5cclxuXHRcdFx0PHRkPiZuYnNwOzxcL3RkPlxyXG5cdFx0XHQ8dGQ+Jm5ic3A7PFwvdGQ+XHJcblx0XHRcdDx0ZD4zLCAwLCA0LCAyLCAxPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPkVybWVrPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMSwgMSk8XC90ZD5cclxuXHRcdFx0PHRkPjMsIDAsIDQsIDIsIDE8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MDxcL3RkPlxyXG5cdFx0XHQ8dGQ+QWl6aGFuPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMSwgNCk8XC90ZD5cclxuXHRcdFx0PHRkPjMsIDEsIDQsIDIsIDA8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MTxcL3RkPlxyXG5cdFx0XHQ8dGQ+RXJtZWs8XC90ZD5cclxuXHRcdFx0PHRkPig0LCAwKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgNCwgMiwgMzxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xPFwvdGQ+XHJcblx0XHRcdDx0ZD5BaXpoYW48XC90ZD5cclxuXHRcdFx0PHRkPig0LCAyKTxcL3RkPlxyXG5cdFx0XHQ8dGQ+MCwgMSwgMywgMiwgNDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yPFwvdGQ+XHJcblx0XHRcdDx0ZD5Fcm1lazxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDIsIDMpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAxLCAyLCAzLCA0PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjI8XC90ZD5cclxuXHRcdFx0PHRkPkFpemhhbjxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDIsIDIpPFwvdGQ+XHJcblx0XHRcdDx0ZD4wLCAxLCAyLCAzLCA0PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5Zb3UgYXJlIGdpdmVuIHRoZSBzZXF1ZW5jZSBTLCB0aGUgbnVtYmVyIE0sIGFuZCB0aGUgc2VxdWVuY2VzIG9mIGluZGljZXMgWCBhbmQgWS4gQ29tcHV0ZSBhIHNlcXVlbmNlIG9mIHN3YXBzLCB3aGljaCBBaXpoYW4gY2FuIHVzZSB0byBzb3J0IHRoZSBzZXF1ZW5jZSBTLiZuYnNwO1RoZSBzZXF1ZW5jZSBvZiBzd2FwcyB5b3UgZmluZCBoYXMgdG8gYmUgdGhlIHNob3J0ZXN0IHBvc3NpYmxlLjxcL3A+XHJcblxyXG48cD5Zb3UgbmVlZCB0byBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9uIGZpbmRTd2FwUGFpcnM6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+ZmluZFN3YXBQYWlycyhOLCBTLCBNLCBYLCBZLCBQLCBRKSAmbWRhc2g7IFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYnkgdGhlIGdyYWRlciBleGFjdGx5IG9uY2UuXHJcblx0PHVsPlxyXG5cdFx0PGxpPk46IHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlIFMuPFwvbGk+XHJcblx0XHQ8bGk+UzogYW4gYXJyYXkgb2YgaW50ZWdlcnMgY29udGFpbmluZyB0aGUgaW5pdGlhbCBzZXF1ZW5jZSBTLjxcL2xpPlxyXG5cdFx0PGxpPk06IHRoZSBudW1iZXIgb2Ygc3dhcHMgRXJtZWsgcGxhbnMgdG8gbWFrZS48XC9saT5cclxuXHRcdDxsaT5YLCBZOiBhcnJheXMgb2YgaW50ZWdlcnMgb2YgbGVuZ3RoIE0uIEZvciAwICZsZTsgaSAmbGU7IE0tMSwgaW4gcm91bmQgaSBFcm1layBwbGFucyB0byBzd2FwIG51bWJlcnMgYXQgaW5kaWNlcyBYW2ldIGFuZCBZW2ldLjxcL2xpPlxyXG5cdFx0PGxpPlAsIFE6IGFycmF5cyBvZiBpbnRlZ2Vycy4gVXNlIHRoZXNlIGFycmF5cyB0byByZXBvcnQgb25lIHBvc3NpYmxlIHNlcXVlbmNlIG9mIHN3YXBzIEFpemhhbiBjYW4gbWFrZSB0byBzb3J0IHRoZSBzZXF1ZW5jZSBTLiBEZW5vdGUgYnkgUiB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSBvZiBzd2FwcyB0aGF0IHlvdXIgcHJvZ3JhbSBoYXMgZm91bmQuIEZvciBlYWNoIGkgYmV0d2VlbiAwIGFuZCBSLTEgaW5jbHVzaXZlLCB0aGUgaW5kaWNlcyBBaXpoYW4gc2hvdWxkIGNob29zZSBpbiByb3VuZCBpIHNob3VsZCBiZSBzdG9yZWQgaW50byBQW2ldIGFuZCBRW2ldLiBZb3UgbWF5IGFzc3VtZSB0aGF0IHRoZSBhcnJheXMgUCBhbmQgUSBoYXZlIGFscmVhZHkgYmVlbiBhbGxvY2F0ZWQgdG8gTSBlbGVtZW50cyBlYWNoLjxcL2xpPlxyXG5cdFx0PGxpPlRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgb2YgUiAoZGVmaW5lZCBhYm92ZSkuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJpbnB1dCI6Ijx1bD5cclxuXHQ8bGk+bGluZSAxOiBOPFwvbGk+XHJcblx0PGxpPmxpbmUgMjogU1swXSAmaGVsbGlwOyBTW04gLSAxXTxcL2xpPlxyXG5cdDxsaT5saW5lIDM6IE08XC9saT5cclxuXHQ8bGk+bGluZXMgNCwgJmhlbGxpcDssIE0gKyAzOiBYW2ldIFlbaV08XC9saT5cclxuPFwvdWw+XHJcbiIsIm91dHB1dCI6IjxwPlRoZSBzYW1wbGUgZ3JhZGVyIHByaW50cyB0aGUgZm9sbG93aW5nIG91dHB1dDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5saW5lIDE6IHRoZSByZXR1cm4gdmFsdWUgUiBvZiBmaW5kU3dhcFBhaXJzPFwvbGk+XHJcblx0PGxpPmxpbmUgMitpLCBmb3IgMCAmbGU7IGkgJmx0OyBSOiBQW2ldIFFbaV08XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJzdWJ0YXNrMSI6IjxwPjYgJmxlOyBOICZsZTsgMiwwMDAsIE0gPSAzTiwgcmVxdWlyZW1lbnQgb24gUjombmJzcDttaW5pbXVtIHBvc3NpYmxlLjxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+NiAmbGU7IE4gJmxlOyAyMDAsMDAwLCBNID0gM04sIHJlcXVpcmVtZW50IG9uIFI6Jm5ic3A7bWluaW11bSBwb3NzaWJsZS48XC9wPlxyXG4ifV0=

채점 및 기타 정보

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