시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB20000.000%

문제

육각형 타일로 이루어진 칸들이 무한하게 놓여 있고, 재현이는 이 중 "시작 칸"이라고 부르는 칸 위에 서 있다. 두 칸은 모서리를 공유하면 이웃하고 있다고 하자. 재현이는 매번 다음 그림과 같이, 1부터 6까지 번호가 붙은 방향 을 따라서 이웃한 칸 중 하나로 이동할 수 있다.

재현이가 총 $N$번 움직였을 때 만드는 칸들로 이루어지는 경로는 영역을 형성한다. $i$번째 움직일 때는 $D[i]$ 방향으로 $L[i]$ 칸을 이동한다. 이 경로는 다음과 같은 특징이 있다.

  • 이 경로는 닫혀있는데, 마지막에 도착하는 칸은 시작 칸과 동일하다는 뜻이다.
  • 이 경로는 단순한데, 맨 처음 시작한 칸만 빼고 모든 칸은 최대 한 번 방문한다는 뜻이다. 맨 처음 시작한 칸은 맨 마지막까지 합쳐서 정확하게 두 번 방문한다.
  • 이 경로는 드러나 있는데, 경로에 포함되는 모든 칸은 최소한 한 개의 경로에 포함되지 않으면서 내부에 있지 않는 칸과 이웃한다.
    • 만약 어떤 칸이 경로에 포함되지 않으면서, 경로에 포함되는 칸을 지나지 않고 방문할 수 있는 칸의 개수가 유한하다면 이 칸은 내부에 있다고 한다.

다음은 재현이가 갈 수 있는 경로 중 하나의 예이다.

  • 1번 칸 (핑크색)이 시작 (그리고 마지막) 칸이다.
  • 옅은 파란색 칸들은 경로에 포함되는 칸들이며, 방문 순서가 칸 안에 쓰여 있다.
  • x표시가 되어 있는 짙은 파란색 칸들은 내부에 있는 칸들이다.

형성된 영역은 경로에 포함되거나, 내부에 있는 모든 칸들로 이루어진다. 영역 안의 칸 $c$의 거리는 영역 안의 칸들 만 방문해서 시작 칸부터 칸 $c$에 도착할 때까지 필요한 움직임의 최소값이다. 영역 안의 칸에 대한 점수는 $A + d \times B$인데, $A$와 $B$ 는 재현이가 미리 정한 상수값이며, $d$는 이 칸의 거리이다. 다음은 위 예제의 경로에 의 해 형성된 영역 안의 각 칸들의 거리를 보여준다.

재현이가 $N$번 움직일 때 만드는 칸들로 이루어진 경로에 의해 형성된 영역의 모든 칸의 점수의 총합을 구하는 프로그램을 작성하시오. 점수의 총합은 매우 큰 값일 수 있으므로, 이 값을 $10^9 + 7$으로 나눈 나머지를 구하시오.

상세 구현

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

int draw_territory(int N, int A, int B, int[] D, int[] L)
  • $N$: 움직임의 수.
  • $A$, $B$: 점수 계산에 필요한 상수
  • $D$: 길이 $N$인 배열로, $D[i]$는 $i$번째 움직임의 방향
  • $L$:길이 $N$인 배열로, $L[i]$는 $i$번째 움직임에서 이동한 칸 수
  • 이 함수는 경로에 의해 형성된 영역의 모든 칸의 점수의 총합을 $10^9 + 7$로 나눈 나머지를 리턴한다.
  • 이 함수는 정확하게 한 번 호출된다.

예제

다음 호출을 생각해보자.

draw_territory(17, 2, 3,
               [1, 2, 3, 4, 5, 4, 3, 2, 1, 6, 2, 3, 4, 5, 6, 6, 1],
               [1, 2, 2, 1, 1, 1, 1, 2, 3, 2, 3, 1, 6, 3, 3, 2, 1])

이는 위 예제에서 설명한 것과 동일하다. 다음 표는 영역에서 가능한 거리마다 각 칸의 점수를 보여준다.

거리 칸 수 각 칸의 점수 총 점수
$0$ $1$ $2 + 0 \times 3 = 2$ $1 \times 2 = 2$
$1$ $4$ $2 + 1 \times 3 = 5$ $4 \times 5 = 20$
$2$ $5$ $2 + 2 \times 3 = 8$ $5 \times 8 = 40$
$3$ $6$ $2 + 3 \times 3 = 11$ $6 \times 11 = 66$
$4$ $4$ $2 + 4 \times 3 = 14$ $4 \times 14 = 56$
$5$ $3$ $2 + 5 \times 3 = 17$ $3 \times 17 = 51$
$6$ $4$ $2 + 6 \times 3 = 20$ $4 \times 20 = 80$
$7$ $4$ $2 + 7 \times 3 = 23$ $4 \times 23 = 92$
$8$ $5$ $2 + 8 \times 3 = 26$ $5 \times 26 = 130$
$9$ $3$ $2 + 9 \times 3 = 29$ $3 \times 29 = 87$
$10$ $4$ $2 + 10 \times 3 = 32$ $4 \times 32 = 128$
$11$ $5$ $2 + 11 \times 3 = 35$ $5 \times 35 = 175$
$12$ $2$ $2 + 12 \times 3 = 38$ $2 \times 38 = 76$

점수의 총합은 $2 + 20 + 40 + 66 + 56 + 51 + 80 + 92 + 130 + 87 + 128 + 175 + 76 = 1003$이다. 따라서, draw_territory 함수의 리턴값은 $1003$이어야 한다.

제한

  • $3 \le N ≤ 200 000$
  • $0 \le A,B \le 10$
  • $1 \le D[i] \le 6$ (모든 $0 \le i \le N - 1$)
  • $1 \le L[i]$ (모든 $0 \le i \le N - 1$)
  • $L$의 모든 원소의 합은 $10^9$ 을 넘지 않는다.

서브태스크

번호배점제한
13

$N = 3$, $B = 0$

26

$N = 3$

311

$L$의 모든 원소의 합은 2000을 넘지 않는다.

412

$B = 0$이고 $L$의 모든 원소의 합은 200 000을 넘지 않는다.

515

$B = 0$

619

$L$의 모든 원소의 합은 200 000을 넘지 않는다.

718

$L[i] = L[i + 1]$ (모든 $0 \le i \le N - 2$)

816

추가적인 제약 조건이 없다.

W3sicHJvYmxlbV9pZCI6IjIxODUxIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjNzIxXHVhYzAxXHVkNjE1IFx1YzYwMVx1YzVlZCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjNzIxXHVhYzAxXHVkNjE1IFx1ZDBjMFx1Yzc3Y1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHVjZTc4XHViNGU0XHVjNzc0IFx1YmIzNFx1ZDU1Y1x1ZDU1OFx1YWM4YyBcdWIxOTNcdWM1ZWMgXHVjNzg4XHVhY2UwLCBcdWM3YWNcdWQ2MDRcdWM3NzRcdWIyOTQgXHVjNzc0IFx1YzkxMSAmcXVvdDtcdWMyZGNcdWM3OTEgXHVjZTc4JnF1b3Q7XHVjNzc0XHViNzdjXHVhY2UwIFx1YmQ4MFx1Yjk3NFx1YjI5NCBcdWNlNzggXHVjNzA0XHVjNWQwIFx1YzExYyBcdWM3ODhcdWIyZTQuIFx1YjQ1MCBcdWNlNzhcdWM3NDAgXHViYWE4XHVjMTFjXHViOWFjXHViOTdjIFx1YWNmNVx1YzcyMFx1ZDU1OFx1YmE3NCBcdWM3NzRcdWM2YzNcdWQ1NThcdWFjZTAgXHVjNzg4XHViMmU0XHVhY2UwIFx1ZDU1OFx1Yzc5MC4gXHVjN2FjXHVkNjA0XHVjNzc0XHViMjk0IFx1YjllNFx1YmM4OCBcdWIyZTRcdWM3NGMgXHVhZGY4XHViOWJjXHVhY2ZjIFx1YWMxOVx1Yzc3NCwgMVx1YmQ4MFx1ZDEzMCA2XHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWJkOTlcdWM3NDAgXHViYzI5XHVkNWE1IFx1Yzc0NCBcdWI1MzBcdWI3N2NcdWMxMWMgXHVjNzc0XHVjNmMzXHVkNTVjIFx1Y2U3OCBcdWM5MTEgXHVkNTU4XHViMDk4XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzc2MzAwNWQ0LWM4YWMtNGRlNC1hYzQ2LTQ4MjFjNmZjZTE2ZlwvLVwvcHJldmlld1wvXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDYwNFx1Yzc3NFx1YWMwMCBcdWNkMWQgJE4kXHViYzg4IFx1YzZjMFx1YzljMVx1YzYwMFx1Yzc0NCBcdWI1NGMgXHViOWNjXHViNGRjXHViMjk0IFx1Y2U3OFx1YjRlNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzBcdWIyOTQgXHVhY2JkXHViODVjXHViMjk0IFx1YzYwMVx1YzVlZFx1Yzc0NCBcdWQ2MTVcdWMxMzFcdWQ1NWNcdWIyZTQuICRpJFx1YmM4OFx1YzlmOCBcdWM2YzBcdWM5YzFcdWM3N2MgXHViNTRjXHViMjk0ICREW2ldJCBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWMgJExbaV0kIFx1Y2U3OFx1Yzc0NCBcdWM3NzRcdWIzZDlcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWFjYmRcdWI4NWNcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWQyYjlcdWM5ZDVcdWM3NzQgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1Yzc3NCBcdWFjYmRcdWI4NWNcdWIyOTQgPGVtPlx1YjJlYlx1ZDYwMFx1Yzc4OFx1YjI5NFx1YjM3MDxcL2VtPiwgXHViOWM4XHVjOWMwXHViOWM5XHVjNWQwIFx1YjNjNFx1Y2MyOVx1ZDU1OFx1YjI5NCBcdWNlNzhcdWM3NDAgXHVjMmRjXHVjNzkxIFx1Y2U3OFx1YWNmYyBcdWIzZDlcdWM3N2NcdWQ1NThcdWIyZTRcdWIyOTQgXHViNzNiXHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM3NzQgXHVhY2JkXHViODVjXHViMjk0IDxlbT5cdWIyZThcdWMyMWNcdWQ1NWNcdWIzNzA8XC9lbT4sIFx1YjllOCBcdWNjOThcdWM3NGMgXHVjMmRjXHVjNzkxXHVkNTVjIFx1Y2U3OFx1YjljYyBcdWJlN2NcdWFjZTAgXHViYWE4XHViNGUwIFx1Y2U3OFx1Yzc0MCBcdWNkNWNcdWIzMDAgXHVkNTVjIFx1YmM4OCBcdWJjMjlcdWJiMzhcdWQ1NWNcdWIyZTRcdWIyOTQgXHViNzNiXHVjNzc0XHViMmU0LiBcdWI5ZTggXHVjYzk4XHVjNzRjIFx1YzJkY1x1Yzc5MVx1ZDU1YyBcdWNlNzhcdWM3NDAgXHViOWU4IFx1YjljOFx1YzljMFx1YjljOVx1YWU0Y1x1YzljMCBcdWQ1NjlcdWNjZDBcdWMxMWMgXHVjODE1XHVkNjU1XHVkNTU4XHVhYzhjIFx1YjQ1MCBcdWJjODggXHViYzI5XHViYjM4XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM3NzQgXHVhY2JkXHViODVjXHViMjk0IDxlbT5cdWI0ZGNcdWI3ZWNcdWIwOTggXHVjNzg4XHViMjk0XHViMzcwPFwvZW0+LCBcdWFjYmRcdWI4NWNcdWM1ZDAgXHVkM2VjXHVkNTY4XHViNDE4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWNlNzhcdWM3NDAgXHVjZDVjXHVjMThjXHVkNTVjIFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVhY2JkXHViODVjXHVjNWQwIFx1ZDNlY1x1ZDU2OFx1YjQxOFx1YzljMCBcdWM1NGFcdWM3M2NcdWJhNzRcdWMxMWMgPGVtPlx1YjBiNFx1YmQ4MDxcL2VtPlx1YzVkMCBcdWM3ODhcdWM5YzAgXHVjNTRhXHViMjk0IFx1Y2U3OFx1YWNmYyBcdWM3NzRcdWM2YzNcdWQ1NWNcdWIyZTQuXHJcblx0PHVsPlxyXG5cdFx0PGxpPlx1YjljY1x1YzU3ZCBcdWM1YjRcdWI1YTQgXHVjZTc4XHVjNzc0IFx1YWNiZFx1Yjg1Y1x1YzVkMCBcdWQzZWNcdWQ1NjhcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzNjXHViYTc0XHVjMTFjLCBcdWFjYmRcdWI4NWNcdWM1ZDAgXHVkM2VjXHVkNTY4XHViNDE4XHViMjk0IFx1Y2U3OFx1Yzc0NCBcdWM5YzBcdWIwOThcdWM5YzAgXHVjNTRhXHVhY2UwIFx1YmMyOVx1YmIzOFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0IFx1Y2U3OFx1Yzc1OCBcdWFjMWNcdWMyMThcdWFjMDAgXHVjNzIwXHVkNTVjXHVkNTU4XHViMmU0XHViYTc0IFx1Yzc3NCBcdWNlNzhcdWM3NDAgPGVtPlx1YjBiNFx1YmQ4MDxcL2VtPlx1YzVkMCBcdWM3ODhcdWIyZTRcdWFjZTAgXHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0Y1x1Yzc0MCBcdWM3YWNcdWQ2MDRcdWM3NzRcdWFjMDAgXHVhYzA4IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVhY2JkXHViODVjIFx1YzkxMSBcdWQ1NThcdWIwOThcdWM3NTggXHVjNjA4XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjFcdWJjODggXHVjZTc4IChcdWQ1NTFcdWQwNmNcdWMwYzkpXHVjNzc0IFx1YzJkY1x1Yzc5MSAoXHVhZGY4XHViOWFjXHVhY2UwIFx1YjljOFx1YzljMFx1YjljOSkgXHVjZTc4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM2MDVcdWM3NDAgXHVkMzBjXHViNzgwXHVjMGM5IFx1Y2U3OFx1YjRlNFx1Yzc0MCBcdWFjYmRcdWI4NWNcdWM1ZDAgXHVkM2VjXHVkNTY4XHViNDE4XHViMjk0IFx1Y2U3OFx1YjRlNFx1Yzc3NFx1YmE3MCwgXHViYzI5XHViYjM4IFx1YzIxY1x1YzExY1x1YWMwMCBcdWNlNzggXHVjNTQ4XHVjNWQwIFx1YzRmMFx1YzVlYyBcdWM3ODhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPnhcdWQ0NWNcdWMyZGNcdWFjMDAgXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjI5NCBcdWM5ZDlcdWM3NDAgXHVkMzBjXHViNzgwXHVjMGM5IFx1Y2U3OFx1YjRlNFx1Yzc0MCBcdWIwYjRcdWJkODBcdWM1ZDAgXHVjNzg4XHViMjk0IFx1Y2U3OFx1YjRlNFx1Yzc3NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2JiNjdiZGFiLTlkYjgtNDZhYS1iZjRkLTcxMDk2NDYwMzE3YVwvLVwvcHJldmlld1wvXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1ZDYxNVx1YzEzMVx1YjQxYyBcdWM2MDFcdWM1ZWRcdWM3NDAgXHVhY2JkXHViODVjXHVjNWQwIFx1ZDNlY1x1ZDU2OFx1YjQxOFx1YWM3MFx1YjA5OCwgXHViMGI0XHViZDgwXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWJhYThcdWI0ZTAgXHVjZTc4XHViNGU0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNFx1YjJlNC4gXHVjNjAxXHVjNWVkIFx1YzU0OFx1Yzc1OCBcdWNlNzggJGMkXHVjNzU4IFx1YWM3MFx1YjlhY1x1YjI5NCBcdWM2MDFcdWM1ZWQgXHVjNTQ4XHVjNzU4IFx1Y2U3OFx1YjRlNCBcdWI5Y2MgXHViYzI5XHViYjM4XHVkNTc0XHVjMTFjIFx1YzJkY1x1Yzc5MSBcdWNlNzhcdWJkODBcdWQxMzAgXHVjZTc4ICRjJFx1YzVkMCBcdWIzYzRcdWNjMjlcdWQ1NjAgXHViNTRjXHVhZTRjXHVjOWMwIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWM2YzBcdWM5YzFcdWM3ODRcdWM3NTggXHVjZDVjXHVjMThjXHVhYzEyXHVjNzc0XHViMmU0LiBcdWM2MDFcdWM1ZWQgXHVjNTQ4XHVjNzU4IFx1Y2U3OFx1YzVkMCBcdWIzMDBcdWQ1NWMgXHVjODEwXHVjMjE4XHViMjk0ICRBICsgZCBcXHRpbWVzIEIkXHVjNzc4XHViMzcwLCAkQSRcdWM2NDAgJEIkIFx1YjI5NCBcdWM3YWNcdWQ2MDRcdWM3NzRcdWFjMDAgXHViYmY4XHViOWFjIFx1YzgxNVx1ZDU1YyBcdWMwYzFcdWMyMThcdWFjMTJcdWM3NzRcdWJhNzAsICRkJFx1YjI5NCBcdWM3NzQgXHVjZTc4XHVjNzU4IFx1YWM3MFx1YjlhY1x1Yzc3NFx1YjJlNC4gXHViMmU0XHVjNzRjXHVjNzQwIFx1YzcwNCBcdWM2MDhcdWM4MWNcdWM3NTggXHVhY2JkXHViODVjXHVjNWQwIFx1Yzc1OCBcdWQ1NzQgXHVkNjE1XHVjMTMxXHViNDFjIFx1YzYwMVx1YzVlZCBcdWM1NDhcdWM3NTggXHVhYzAxIFx1Y2U3OFx1YjRlNFx1Yzc1OCBcdWFjNzBcdWI5YWNcdWI5N2MgXHViY2Y0XHVjNWVjXHVjOTAwXHViMmU0LjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzViNDM5NmRmLTZlMjktNGFhNC1hZjRkLTQ5YzE4NjZkODk1OVwvLVwvcHJldmlld1wvXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDYwNFx1Yzc3NFx1YWMwMCAkTiRcdWJjODggXHVjNmMwXHVjOWMxXHVjNzdjIFx1YjU0YyBcdWI5Y2NcdWI0ZGNcdWIyOTQgXHVjZTc4XHViNGU0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWFjYmRcdWI4NWNcdWM1ZDAgXHVjNzU4XHVkNTc0IFx1ZDYxNVx1YzEzMVx1YjQxYyBcdWM2MDFcdWM1ZWRcdWM3NTggXHViYWE4XHViNGUwIFx1Y2U3OFx1Yzc1OCBcdWM4MTBcdWMyMThcdWM3NTggXHVjZDFkXHVkNTY5XHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LiBcdWM4MTBcdWMyMThcdWM3NTggXHVjZDFkXHVkNTY5XHVjNzQwIFx1YjllNFx1YzZiMCBcdWQwNzAgXHVhYzEyXHVjNzdjIFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMsIFx1Yzc3NCBcdWFjMTJcdWM3NDQgJDEwXjkgKyA3JFx1YzczY1x1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IiIsIm91dHB1dCI6IiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsImxpbWl0IjoiPHVsPlxyXG5cdDxsaT4kMyBcXGxlIE4gJmxlOyAyMDAgMDAwJDxcL2xpPlxyXG5cdDxsaT4kMCBcXGxlIEEsQiBcXGxlIDEwJDxcL2xpPlxyXG5cdDxsaT4kMSBcXGxlIERbaV0gXFxsZSA2JCAoXHViYWE4XHViNGUwICQwIFxcbGUgaSBcXGxlIE4gLSAxJCk8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBMW2ldJCAoXHViYWE4XHViNGUwICQwIFxcbGUgaSBcXGxlIE4gLSAxJCk8XC9saT5cclxuXHQ8bGk+JEwkXHVjNzU4IFx1YmFhOFx1YjRlMCBcdWM2ZDBcdWMxOGNcdWM3NTggXHVkNTY5XHVjNzQwICQxMF45JCBcdWM3NDQgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2sxIjoiPHA+JE4gPSAzJCwgJEIgPSAwJDxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JE4gPSAzJDxcL3A+XHJcbiIsInN1YnRhc2szIjoiPHA+JEwkXHVjNzU4IFx1YmFhOFx1YjRlMCBcdWM2ZDBcdWMxOGNcdWM3NTggXHVkNTY5XHVjNzQwIDIwMDBcdWM3NDQgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG4iLCJzdWJ0YXNrNCI6IjxwPiRCID0gMCRcdWM3NzRcdWFjZTAgJEwkXHVjNzU4IFx1YmFhOFx1YjRlMCBcdWM2ZDBcdWMxOGNcdWM3NTggXHVkNTY5XHVjNzQwIDIwMCAwMDBcdWM3NDQgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG4iLCJzdWJ0YXNrNSI6IjxwPiRCID0gMCQ8XC9wPlxyXG4iLCJzdWJ0YXNrNiI6IjxwPiRMJFx1Yzc1OCBcdWJhYThcdWI0ZTAgXHVjNmQwXHVjMThjXHVjNzU4IFx1ZDU2OVx1Yzc0MCAyMDAgMDAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwic3VidGFzazciOiI8cD4kTFtpXSA9IExbaSArIDFdJCAoXHViYWE4XHViNGUwICQwIFxcbGUgaSBcXGxlIE4gLSAyJCk8XC9wPlxyXG4iLCJzdWJ0YXNrOCI6IjxwPlx1Y2Q5NFx1YWMwMFx1YzgwMVx1Yzc3OCBcdWM4MWNcdWM1N2QgXHVjODcwXHVhYzc0XHVjNzc0IFx1YzVjNlx1YjJlNC48XC9wPlxyXG4iLCJjdXN0b21faW1wbGVtZW50YXRpb24iOiI8cD5cdWIyZTRcdWM3NGMgXHVkNTY4XHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDYwNFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwcmU+XHJcbmludCBkcmF3X3RlcnJpdG9yeShpbnQgTiwgaW50IEEsIGludCBCLCBpbnRbXSBELCBpbnRbXSBMKTxcL3ByZT5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JE4kOiBcdWM2YzBcdWM5YzFcdWM3ODRcdWM3NTggXHVjMjE4LjxcL2xpPlxyXG5cdDxsaT4kQSQsICRCJDogXHVjODEwXHVjMjE4IFx1YWNjNFx1YzBiMFx1YzVkMCBcdWQ1NDRcdWM2OTRcdWQ1NWMgXHVjMGMxXHVjMjE4PFwvbGk+XHJcblx0PGxpPiREJDogXHVhZTM4XHVjNzc0ICROJFx1Yzc3OCBcdWJjMzBcdWM1ZjRcdWI4NWMsICREW2ldJFx1YjI5NCAkaSRcdWJjODhcdWM5ZjggXHVjNmMwXHVjOWMxXHVjNzg0XHVjNzU4IFx1YmMyOVx1ZDVhNTxcL2xpPlxyXG5cdDxsaT4kTCQ6XHVhZTM4XHVjNzc0ICROJFx1Yzc3OCBcdWJjMzBcdWM1ZjRcdWI4NWMsICRMW2ldJFx1YjI5NCAkaSRcdWJjODhcdWM5ZjggXHVjNmMwXHVjOWMxXHVjNzg0XHVjNWQwXHVjMTFjIFx1Yzc3NFx1YjNkOVx1ZDU1YyBcdWNlNzggXHVjMjE4PFwvbGk+XHJcblx0PGxpPlx1Yzc3NCBcdWQ1NjhcdWMyMThcdWIyOTQgXHVhY2JkXHViODVjXHVjNWQwIFx1Yzc1OFx1ZDU3NCBcdWQ2MTVcdWMxMzFcdWI0MWMgXHVjNjAxXHVjNWVkXHVjNzU4IFx1YmFhOFx1YjRlMCBcdWNlNzhcdWM3NTggXHVjODEwXHVjMjE4XHVjNzU4IFx1Y2QxZFx1ZDU2OVx1Yzc0NCAkMTBeOSArIDckXHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWI5N2MgXHViOWFjXHVkMTM0XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM3NzQgXHVkNTY4XHVjMjE4XHViMjk0IFx1YzgxNVx1ZDY1NVx1ZDU1OFx1YWM4YyBcdWQ1NWMgXHViYzg4IFx1ZDYzOFx1Y2Q5Y1x1YjQxY1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9zYW1wbGUiOiI8cD5cdWIyZTRcdWM3NGMgXHVkNjM4XHVjZDljXHVjNzQ0IFx1YzBkZFx1YWMwMVx1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG5cclxuPHByZT5cclxuZHJhd190ZXJyaXRvcnkoMTcsIDIsIDMsXHJcbiAgICAgICAgICAgICAgIFsxLCAyLCAzLCA0LCA1LCA0LCAzLCAyLCAxLCA2LCAyLCAzLCA0LCA1LCA2LCA2LCAxXSxcclxuICAgICAgICAgICAgICAgWzEsIDIsIDIsIDEsIDEsIDEsIDEsIDIsIDMsIDIsIDMsIDEsIDYsIDMsIDMsIDIsIDFdKTxcL3ByZT5cclxuXHJcbjxwPlx1Yzc3NFx1YjI5NCBcdWM3MDQgXHVjNjA4XHVjODFjXHVjNWQwXHVjMTFjIFx1YzEyNFx1YmE4NVx1ZDU1YyBcdWFjODNcdWFjZmMgXHViM2Q5XHVjNzdjXHVkNTU4XHViMmU0LiBcdWIyZTRcdWM3NGMgXHVkNDVjXHViMjk0IFx1YzYwMVx1YzVlZFx1YzVkMFx1YzExYyBcdWFjMDBcdWIyYTVcdWQ1NWMgXHVhYzcwXHViOWFjXHViOWM4XHViMmU0IFx1YWMwMSBcdWNlNzhcdWM3NTggXHVjODEwXHVjMjE4XHViOTdjIFx1YmNmNFx1YzVlY1x1YzkwMFx1YjJlNC48XC9wPlxyXG5cclxuPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtY2VudGVyLTQwXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGg+XHVhYzcwXHViOWFjPFwvdGg+XHJcblx0XHRcdDx0aD5cdWNlNzggXHVjMjE4PFwvdGg+XHJcblx0XHRcdDx0aD5cdWFjMDEgXHVjZTc4XHVjNzU4IFx1YzgxMFx1YzIxODxcL3RoPlxyXG5cdFx0XHQ8dGg+XHVjZDFkIFx1YzgxMFx1YzIxODxcL3RoPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGhlYWQ+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDAkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgMCBcXHRpbWVzIDMgPSAyJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDEgXFx0aW1lcyAyID0gMiQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDEkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgMSBcXHRpbWVzIDMgPSA1JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQgXFx0aW1lcyA1ID0gMjAkPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQyJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDUkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDIgXFx0aW1lcyAzID0gOCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1IFxcdGltZXMgOCA9IDQwJDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kMyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ2JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyAzIFxcdGltZXMgMyA9IDExJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDYgXFx0aW1lcyAxMSA9IDY2JDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyA0IFxcdGltZXMgMyA9IDE0JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQgXFx0aW1lcyAxNCA9IDU2JDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kNSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQzJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyA1IFxcdGltZXMgMyA9IDE3JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDMgXFx0aW1lcyAxNyA9IDUxJDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kNiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyA2IFxcdGltZXMgMyA9IDIwJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQgXFx0aW1lcyAyMCA9IDgwJDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kNyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyA3IFxcdGltZXMgMyA9IDIzJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQgXFx0aW1lcyAyMyA9IDkyJDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kOCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyA4IFxcdGltZXMgMyA9IDI2JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDUgXFx0aW1lcyAyNiA9IDEzMCQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDkkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgOSBcXHRpbWVzIDMgPSAyOSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQzIFxcdGltZXMgMjkgPSA4NyQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDEwJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDEwIFxcdGltZXMgMyA9IDMyJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQgXFx0aW1lcyAzMiA9IDEyOCQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDExJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDUkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDExIFxcdGltZXMgMyA9IDM1JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDUgXFx0aW1lcyAzNSA9IDE3NSQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDEyJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDEyIFxcdGltZXMgMyA9IDM4JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgXFx0aW1lcyAzOCA9IDc2JDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+XHVjODEwXHVjMjE4XHVjNzU4IFx1Y2QxZFx1ZDU2OVx1Yzc0MCAkMiArIDIwICsgNDAgKyA2NiArIDU2ICsgNTEgKyA4MCArIDkyICsgMTMwICsgODcgKyAxMjggKyAxNzUgKyA3NiA9IDEwMDMkXHVjNzc0XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIDxjb2RlPmRyYXdfdGVycml0b3J5PFwvY29kZT4gXHVkNTY4XHVjMjE4XHVjNzU4IFx1YjlhY1x1ZDEzNFx1YWMxMlx1Yzc0MCAkMTAwMyRcdWM3NzRcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImN1c3RvbV9ncmFkZXIiOiI8cD5cdWMwZDhcdWQ1MGMgXHVhZGY4XHViODA4XHVjNzc0XHViMzU0XHViMjk0IFx1YjJlNFx1Yzc0YyBcdWM1OTFcdWMyZGRcdWM3M2NcdWI4NWMgXHVjNzg1XHViODI1XHVjNzQ0IFx1Yzc3ZFx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5saW5lIDE6ICROJCAkQSQgJEIkPFwvbGk+XHJcblx0PGxpPmxpbmUgMiArICRpJCAoJDAgXFxsZSBpIFxcbGUgTiAtIDEkKTogJERbaV0kICRMW2ldJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YzBkOFx1ZDUwYyBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTRcdWIyOTQgXHViMmU0XHVjNzRjIFx1YzU5MVx1YzJkZFx1YzczY1x1Yjg1YyBcdWIyZjVcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPmxpbmUgMTogPGNvZGU+ZHJhd190ZXJyaXRvcnk8XC9jb2RlPlx1Yzc1OCBcdWI5YWNcdWQxMzRcdWFjMTI8XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9hdHRhY2htZW50IjoiPHVsPlxyXG5cdDxsaT48YSBocmVmPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNTA1MDBmZjctYWIwMi00NDFhLWI1OGEtODhiYzliZDYyM2Y4XC9cIj5oZXhhZ29uLnppcDxcL2E+PFwvbGk+XHJcbjxcL3VsPlxyXG4ifSx7InByb2JsZW1faWQiOiIyMTg1MSIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkhleGFnb25hbCBUZXJyaXRvcnkiLCJkZXNjcmlwdGlvbiI6IjxwPlBhayBEZW5na2xlayBpcyBzdGFuZGluZyBhdCBhIGNlbGwsIGNhbGxlZCB0aGUgaW5pdGlhbCBjZWxsLCBvbiBhbiBpbmZpbml0ZSBoZXhhZ29uYWwgdGlsaW5nLiBUd28gY2VsbHMgaW4gYSBoZXhhZ29uYWwgdGlsaW5nIGFyZSBzYWlkIHRvIGJlIG5laWdoYm91cmluZyBpZiB0aGV5IHNoYXJlIGEgY29tbW9uIHNpZGUuIEluIG9uZSBzdGVwLCBQYWsgRGVuZ2tsZWsgY2FuIG1vdmUgZnJvbSBvbmUgY2VsbCB0byBvbmUgb2YgaXRzIG5laWdoYm91cnMgYnkgbW92aW5nIHRvd2FyZHMgb25lIG9mIHRoZSBzaXggcG9zc2libGUgZGlyZWN0aW9ucywgbnVtYmVyZWQgZnJvbSAxIHRvIDYsIGFzIGlsbHVzdHJhdGVkIGJ5IHRoZSBmb2xsb3dpbmcgZmlndXJlLjxcL3A+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzc2MzAwNWQ0LWM4YWMtNGRlNC1hYzQ2LTQ4MjFjNmZjZTE2ZlwvLVwvcHJldmlld1wvXCIgXC8+PFwvcD5cclxuXHJcbjxwPlBhayBEZW5na2xlayB3aWxsIGZvcm0gYSB0ZXJyaXRvcnkgYnkgZm9sbG93aW5nIGEgcGF0aCB0aGF0IGNvbnNpc3RzIG9mIGEgc2VxdWVuY2Ugb2YgY2VsbHMgdGhhdCBhcmUgdmlzaXRlZCBieSBhIHNlcXVlbmNlIG9mICROJCBtb3Zlcy4gVGhlICRpJC10aCBtb3ZlIGlzIG1hZGUgYnkgY2hvb3NpbmcgYSBkaXJlY3Rpb24gJERbaV0kLCB0aGVuIHBlcmZvcm1pbmcgJExbaV0kIHN0ZXBzIGluIHRoZSBjaG9zZW4gZGlyZWN0aW9uLiBUaGUgcGF0aCBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlRoZSBwYXRoIGlzJm5ic3A7PGVtPmNsb3NlZDxcL2VtPiwgbWVhbmluZyB0aGF0IHRoZSBjZWxsIGF0IHRoZSBlbmQgb2YgdGhlIHNlcXVlbmNlIGlzIHRoZSBzYW1lIGFzIHRoZSBjZWxsIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlLjxcL2xpPlxyXG5cdDxsaT5UaGUgcGF0aCBpcyZuYnNwOzxlbT5zaW1wbGU8XC9lbT4sIG1lYW5pbmcgdGhhdCBldmVyeSBjZWxsIGNhbiBiZSB2aXNpdGVkIGF0IG1vc3Qgb25jZSwgZXhjZXB0IGZvciB0aGUgaW5pdGlhbCBjZWxsLCB3aGljaCBpcyB2aXNpdGVkIGV4YWN0bHkgdHdpY2UgKGF0IHRoZSBiZWdpbm5pbmcgYW5kIGF0IHRoZSBlbmQpLjxcL2xpPlxyXG5cdDxsaT5UaGUgcGF0aCBpcyZuYnNwOzxlbT5leHBvc2VkPFwvZW0+LCBtZWFuaW5nIHRoYXQgZWFjaCBjZWxsIGluIHRoZSBwYXRoIGlzIG5laWdoYm91cmluZyB3aXRoIGF0IGxlYXN0IG9uZSBjZWxsIHRoYXQgaXMgbm90IGluIHRoZSBwYXRoIGFuZCBpcyBub3QmbmJzcDs8ZW0+aW5zaWRlPFwvZW0+LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5BIGNlbGwgaXMgc2FpZCB0byBiZSZuYnNwOzxlbT5pbnNpZGU8XC9lbT4mbmJzcDtpZiBpdCBpcyBub3QgaW4gdGhlIHBhdGggYW5kIHlvdSBjYW4gb25seSB2aXNpdCBhIGZpbml0ZSBudW1iZXIgb2YgY2VsbHMgdXNpbmcgYW55IHNlcXVlbmNlIG9mIHN0ZXBzIHdpdGhvdXQgdmlzaXRpbmcgYW55IGNlbGwgaW4gdGhlIHBhdGguPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+VGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlIG9mIGEgcGF0aCB0aGF0IGNhbiBiZSBmb2xsb3dlZCBieSBQYWsgRGVuZ2tsZWsuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+VGhlIGNlbGwgbnVtYmVyZWQgJDEkIChzaGFkZWQgcGluaykgaXMgdGhlIGluaXRpYWwgKGFuZCBmaW5hbCkgY2VsbC48XC9saT5cclxuXHQ8bGk+Q2VsbHMgdGhhdCBhcmUgbnVtYmVyZWQgKHNoYWRlZCBsaWdodCBibHVlKSBhcmUgY2VsbHMgaW4gdGhlIHBhdGgsIG51bWJlcmVkIGluIHRoZSBvcmRlciB0aGV5IGFyZSB2aXNpdGVkLjxcL2xpPlxyXG5cdDxsaT5DZWxscyB0aGF0IGFyZSBjcm9zc2VkIChzaGFkZWQgZGFyayBibHVlKSBhcmUgY2VsbHMgdGhhdCBhcmUgaW5zaWRlLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvYmI2N2JkYWItOWRiOC00NmFhLWJmNGQtNzEwOTY0NjAzMTdhXC8tXC9wcmV2aWV3XC9cIiBcLz48XC9wPlxyXG5cclxuPHA+VGhlIGZvcm1lZCB0ZXJyaXRvcnkgd2lsbCBjb25zaXN0IG9mIGFsbCBjZWxscyB0aGF0IGFyZSBpbiB0aGUgcGF0aCBvciBhcmUgaW5zaWRlLiBUaGUgZGlzdGFuY2Ugb2YgYSBjZWxsICRjJCBpbiB0aGUgdGVycml0b3J5IGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzdGVwcyBuZWVkZWQgdG8gbW92ZSBmcm9tIHRoZSBpbml0aWFsIGNlbGwgdG8gdGhlIGNlbGwgJGMkIGJ5IHZpc2l0aW5nIG9ubHkgY2VsbHMgaW4gdGhlIHRlcnJpdG9yeS4gVGhlIHNjb3JlIG9mIGEgY2VsbCBpbiB0aGUgdGVycml0b3J5IGlzIGRlZmluZWQgYXMgJEEgKyBkIFxcdGltZXMgQiQsIHdoZXJlICRBJCBhbmQgJEIkIGFyZSBjb25zdGFudHMgcHJlZGV0ZXJtaW5lZCBieSBQYWsgRGVuZ2tsZWssIGFuZCAkZCQgaXMgdGhlIGRpc3RhbmNlIG9mIHRoZSBjZWxsIGluIHRoZSB0ZXJyaXRvcnkuIFRoZSBmb2xsb3dpbmcgaXMgdGhlIGlsbHVzdHJhdGlvbiBvZiB0aGUgZGlzdGFuY2Ugb2YgZWFjaCBjZWxsIGluIHRoZSB0ZXJyaXRvcnkgZm9ybWVkIHVzaW5nIHRoZSBwYXRoIGZyb20gdGhlIGV4YW1wbGUgYWJvdmUuPFwvcD5cclxuXHJcbjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvNWI0Mzk2ZGYtNmUyOS00YWE0LWFmNGQtNDljMTg2NmQ4OTU5XC8tXC9wcmV2aWV3XC9cIiBcLz48XC9wPlxyXG5cclxuPHA+SGVscCBQYWsgRGVuZ2tsZWsgdG8gY2FsY3VsYXRlIHRoZSB0b3RhbCBzY29yZSBvZiBhbGwgY2VsbHMgaW4gdGhlIHRlcnJpdG9yeSBmb3JtZWQgYnkgdGhlICROJCBtb3ZlcyB0aGF0IGhlIHdpbGwgbWFrZS4gQXMgdGhlIHRvdGFsIHNjb3JlIGNhbiBiZSBsYXJnZSwgY2FsY3VsYXRlIGl0IG1vZHVsbyAkMTBeOSZuYnNwOysgNyQuPFwvcD5cclxuIiwiaW5wdXQiOiIiLCJvdXRwdXQiOiIiLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQzIFxcbGUgTiBcXGxlIDIwMFxcLDAwMCQ8XC9saT5cclxuXHQ8bGk+JDAgXFxsZSBBLCBCIFxcbGUgMTBeOSQ8XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBEW2ldIFxcbGUgNiQgKGZvciBhbGwgJDAgXFxsZSBpIFxcbGUgTiAtIDEkKTxcL2xpPlxyXG5cdDxsaT4kMSBcXGxlIExbaV0kIChmb3IgYWxsICQwIFxcbGUgaSBcXGxlIE4gLSAxJCk8XC9saT5cclxuXHQ8bGk+VGhlIHN1bSBvZiBhbGwgZWxlbWVudHMgb2YgJEwkIGRvZXMgbm90IGV4Y2VlZCAkMTBeOSQuPFwvbGk+XHJcblx0PGxpPlRoZSBwYXRoIGlzIGNsb3NlZCwgc2ltcGxlLCBhbmQgZXhwb3NlZC48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2sxIjoiPHA+JE4gPSAzJCwgJEIgPSAwJDxcL3A+XHJcbiIsInN1YnRhc2syIjoiPHA+JE4gPSAzJDxcL3A+XHJcbiIsInN1YnRhc2szIjoiPHA+VGhlIHN1bSBvZiBhbGwgZWxlbWVudHMgb2YgJEwkIGRvZXMgbm90IGV4Y2VlZCAkMjAwMCQuPFwvcD5cclxuIiwic3VidGFzazQiOiI8cD4kQiA9IDAkLCB0aGUgc3VtIG9mIGFsbCBlbGVtZW50cyBvZiAkTCQgZG9lcyBub3QgZXhjZWVkICQyMDBcXCwwMDAkLjxcL3A+XHJcbiIsInN1YnRhc2s1IjoiPHA+JEIgPSAwJDxcL3A+XHJcbiIsInN1YnRhc2s2IjoiPHA+VGhlIHN1bSBvZiBhbGwgZWxlbWVudHMgb2YgJEwkIGRvZXMgbm90IGV4Y2VlZCAkMjAwXFwsMDAwJC48XC9wPlxyXG4iLCJzdWJ0YXNrNyI6IjxwPiRMW2ldID0gTFtpICsgMV0kIChmb3IgYWxsICQwIFxcbGUgaSBcXGxlIE4gLSAyJCk8XC9wPlxyXG4iLCJzdWJ0YXNrOCI6IjxwPk5vIGFkZGl0aW9uYWwgY29uc3RyYWludHMuPFwvcD5cclxuIiwiY3VzdG9tX2ltcGxlbWVudGF0aW9uIjoiPHA+WW91IHNob3VsZCBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBwcm9jZWR1cmUuPFwvcD5cclxuXHJcbjxwcmU+XHJcbjxjb2RlPmludCBkcmF3X3RlcnJpdG9yeShpbnQgTiwgaW50IEEsIGludCBCLCBpbnRbXSBELCBpbnRbXSBMKVxyXG48XC9jb2RlPjxcL3ByZT5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JE4kOiB0aGUgbnVtYmVyIG9mIG1vdmVzLjxcL2xpPlxyXG5cdDxsaT4kQSQsICRCJDogdGhlIGNvbnN0YW50cyBmb3IgdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBzY29yZXMuPFwvbGk+XHJcblx0PGxpPiREJDogYW4gYXJyYXkgb2YgbGVuZ3RoICROJCwgd2hlcmUgJERbaV0kIGlzIHRoZSBkaXJlY3Rpb24gb2YgdGhlICRpJC10aCBtb3ZlLjxcL2xpPlxyXG5cdDxsaT4kTCQ6IGFuIGFycmF5IG9mIGxlbmd0aCAkTiQsIHdoZXJlICRMW2ldJCBpcyB0aGUgbnVtYmVyIG9mIHN0ZXBzIG1hZGUgYnkgdGhlICRpJC10aCBtb3ZlLjxcL2xpPlxyXG5cdDxsaT5UaGlzIHByb2NlZHVyZSBzaG91bGQgcmV0dXJuIHRoZSB0b3RhbCBzY29yZSBvZiB0aGUgZHJhd24gdGVycml0b3J5IG1vZHVsbyAkMTBeOSZuYnNwOysgNyQuPFwvbGk+XHJcblx0PGxpPlRoaXMgcHJvY2VkdXJlIGlzIGNhbGxlZCBleGFjdGx5IG9uY2UuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fc2FtcGxlIjoiPHA+Q29uc2lkZXIgdGhlIGZvbGxvd2luZyBjYWxsOjxcL3A+XHJcblxyXG48cHJlPlxyXG48Y29kZT5kcmF3X3RlcnJpdG9yeSgxNywgMiwgMyxcclxuICAgICAgICAgICAgICAgWzEsIDIsIDMsIDQsIDUsIDQsIDMsIDIsIDEsIDYsIDIsIDMsIDQsIDUsIDYsIDYsIDFdLFxyXG4gICAgICAgICAgICAgICBbMSwgMiwgMiwgMSwgMSwgMSwgMSwgMiwgMywgMiwgMywgMSwgNiwgMywgMywgMiwgMV0pXHJcbjxcL2NvZGU+PFwvcHJlPlxyXG5cclxuPHA+VGhlIG1vdmVzIGFyZSBhY3R1YWxseSB0aGUgc2FtZSBhcyB3aGF0IGlzIGlsbHVzdHJhdGVkIGZyb20gdGhlIGRlc2NyaXB0aW9uLiBUaGUgZm9sbG93aW5nIHRhYmxlIGxpc3RzIHRoZSBzY29yZSBvZiBlYWNoIGNlbGwgZm9yIGV2ZXJ5IHBvc3NpYmxlIGRpc3RhbmNlIGluIHRoZSB0ZXJyaXRvcnkuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLWNlbnRlci00MFwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoPkRpc3RhbmNlPFwvdGg+XHJcblx0XHRcdDx0aD5OdW1iZXIgb2YgY2VsbHM8XC90aD5cclxuXHRcdFx0PHRoPlNjb3JlIG9mIGVhY2ggY2VsbDxcL3RoPlxyXG5cdFx0XHQ8dGg+VG90YWwgc2NvcmU8XC90aD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3RoZWFkPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQwJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDEkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDAgXFx0aW1lcyAzID0gMiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQxIFxcdGltZXMgMiA9IDIkPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQxJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDQkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDEgXFx0aW1lcyAzID0gNSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0IFxcdGltZXMgNSA9IDIwJDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4kMiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyAyIFxcdGltZXMgMyA9IDgkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNSBcXHRpbWVzIDggPSA0MCQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDMkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgMyBcXHRpbWVzIDMgPSAxMSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ2IFxcdGltZXMgMTEgPSA2NiQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDQkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgNCBcXHRpbWVzIDMgPSAxNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0IFxcdGltZXMgMTQgPSA1NiQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDUkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgNSBcXHRpbWVzIDMgPSAxNyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQzIFxcdGltZXMgMTcgPSA1MSQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDYkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgNiBcXHRpbWVzIDMgPSAyMCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0IFxcdGltZXMgMjAgPSA4MCQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDckPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgNyBcXHRpbWVzIDMgPSAyMyQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0IFxcdGltZXMgMjMgPSA5MiQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+JDgkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kNSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyICsgOCBcXHRpbWVzIDMgPSAyNiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1IFxcdGltZXMgMjYgPSAxMzAkPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQ5JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDMkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMiArIDkgXFx0aW1lcyAzID0gMjkkPFwvdGQ+XHJcblx0XHRcdDx0ZD4kMyBcXHRpbWVzIDI5ID0gODckPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQxMCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyAxMCBcXHRpbWVzIDMgPSAzMiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ0IFxcdGltZXMgMzIgPSAxMjgkPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQxMSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1JDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyAxMSBcXHRpbWVzIDMgPSAzNSQ8XC90ZD5cclxuXHRcdFx0PHRkPiQ1IFxcdGltZXMgMzUgPSAxNzUkPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPiQxMiQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyJDxcL3RkPlxyXG5cdFx0XHQ8dGQ+JDIgKyAxMiBcXHRpbWVzIDMgPSAzOCQ8XC90ZD5cclxuXHRcdFx0PHRkPiQyIFxcdGltZXMgMzggPSA3NiQ8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPlRoZSB0b3RhbCBzY29yZSBpcyAkMiArIDIwICsgNDAgKyA2NiArIDU2ICsgNTEgKyA4MCArIDkyICsgMTMwICsgODcgKyAxMjggKyAxNzUgKyA3NiA9IDEwMDMkLiBUaGVyZWZvcmUsIHRoZSBwcm9jZWR1cmUmbmJzcDs8Y29kZT5kcmF3X3RlcnJpdG9yeTxcL2NvZGU+Jm5ic3A7c2hvdWxkIHJldHVybiAkMTAwMyQuPFwvcD5cclxuIiwiY3VzdG9tX2dyYWRlciI6IjxwPlRoZSBzYW1wbGUgZ3JhZGVyIHJlYWRzIHRoZSBpbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5saW5lICQxJDogJE4gXFw7IEEgXFw7IEIkPFwvbGk+XHJcblx0PGxpPmxpbmUgJDIgKyBpJCAoJDAgXFxsZSBpIFxcbGUgTiAtIDEkKTogJERbaV0gXFw7IExbaV0kPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+VGhlIHNhbXBsZSBncmFkZXIgcHJpbnRzIHlvdXIgYW5zd2VyIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPmxpbmUgJDEkOiByZXR1cm4gdmFsdWUgb2YmbmJzcDs8Y29kZT5kcmF3X3RlcnJpdG9yeTxcL2NvZGU+PFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fYXR0YWNobWVudCI6Ijx1bD5cclxuXHQ8bGk+PGEgaHJlZj1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzUwNTAwZmY3LWFiMDItNDQxYS1iNThhLTg4YmM5YmQ2MjNmOFwvXCI+aGV4YWdvbi56aXA8XC9hPjxcL2xpPlxyXG48XC91bD5cclxuIn1d

샘플 그레이더

샘플 그레이더는 다음 양식으로 입력을 읽는다.

  • line 1: $N$ $A$ $B$
  • line 2 + $i$ ($0 \le i \le N - 1$): $D[i]$ $L[i]$

샘플 그레이더는 다음 양식으로 답을 출력한다.

  • line 1: draw_territory의 리턴값

첨부

제출할 수 있는 언어

C++17, C++14, C++20, C++14 (Clang), C++17 (Clang), C++20 (Clang)

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.