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

문제

Alice와 Bob은 함께 과일 케이크를 만들었다. 케이크는 $R \times C$ 크기의 직사각형 모양이고, 각 $1 \times 1$ 크기의 칸에는 딸기(S), 블루베리(B), 라즈베리(R) 중 딱 한 종류의 과일이 토핑으로 올라가 있거나 혹은 크림(.)만 발라져 있다.

아래 그림은 크기가 $2 \times 2$인 케이크이다.

  • 좌측 상단 $(1, 1)$에는 딸기가(S) 있고, 우측 상단 $(1, 2)$에는 과일은 없고 크림만(.) 있다.
  • 좌측 하단 $(2, 1)$에는 블루베리가(B) 있고 우측 하단 $(2, 2)$에는 라즈베리가(R) 있다.

Bob은 케이크를 총 $N-1$번 가로나 세로로 잘라서 총 $N$조각의 직사각형 모양의 크기가 더 작은 케이크를 만들어 친구들에게 나눠주고 싶다. 단, Bob이 케이크를 자를 때에는 아래 규칙에 따라 케이크를 $N-1$번 잘라야 한다.

  • $1$번째 부터 $N-1$번째 자르는 동안: Bob은 현재 자신이 가진 직사각형 모양의 케이크를 가로로 끝까지 자르거나 세로로 끝까지 잘라서 두 개의 직사각형 모양의 케이크 조각으로 만들어야 한다. 이때, 두 개의 케이크 조각은 크기가 최소한 $1 \times 1$ 이어야 한다.
    • 만약 $i$번째에 가로로 케이크를 잘랐다면, 두 케이크 조각 중 상단에 위치한 케이크 조각을 $i$번째 친구에게 주고, 하단에 위치한 케이크를 갖고 이어서 자르기를 진행한다.
    • 만약 $i$번째에 세로로 케이크를 잘랐다면, 두 케이크 조각 중 좌측에 위치한 케이크 조각을 $i$번째 친구에게 주고, 우측에 위치한 케이크를 갖고 이어서 자르기를 진행한다.
  • $N-1$번 자르고 난 후, $N-1$번째 친구에게 케이크를 주고 난 후 마지막에 남은 케이크는 그대로 $N$번째 친구에게 준다. 따라서 $R \times C$ 크기의 케이크는 한 칸도 남김없이 $N$명의 친구들에게 주게 된다.

Alice는 $N$명의 친구들이 좋아하는 과일이 무엇인지 알기 때문에, 각 친구가 받게 될 케이크에는 그 친구가 좋아하는 과일이 반드시 $1$개 이상 있도록 하고 싶다. 단, 위에 언급한 대로 케이크를 잘라 얻어진 조각은 반드시 $1$번 친구부터 $N$번 친구까지 순서대로 주어야 한다.

예를 들어 $N = 3$이고, 세 친구가 좋아하는 과일이 순서대로 딸기(S), 블루베리(B), 그리고 라즈베리(R)라 하자. 이때, 위의 $2 \times 2$ 케이크를 $3$조각으로 자르기 위해 Bob은 총 $2$번 케이크를 잘라야 하고, 위 규칙을 따르면 아래와 같이 두 가지 방법이 있다.

방법 1

1번째 자르기: 가로로 자르기

규칙대로 $1$번 친구에게 상단의 $1 \times 2$ 케이크 조각을 준다. 이 조각은 딸기를 하나 포함한다.

하단의 $1 \times 2$ 케이크를 $2$, $3$번 친구에게 준다.

2번째 자르기: 세로로 자르기

$1 \times 2$ 케이크를 세로로 잘라 좌측의 블루베리(B) 조각은 $2$번 친구에게 주고, 우측의 라즈베리(R) 조각은 $3$번 친구에게 준다.

방법 2

1번째 자르기: 세로로 자르기

규칙대로 $1$번 친구에게 좌측의 $2 \times 1$ 케이크 조각을 준다. 이 조각은 딸기 하나와 블루베리 하나를 포함한다.

우측의 $2 \times 1$ 케이크를 $2$, $3$번 친구에게 준다.

2번째 자르기: 가로로 자르기

$2 \times 1$ 케이크를 가로로 잘라 상단의 크림(.) 조각은 $2$번 친구에게 주고, 하단의 라즈베리(R) 조각은 $3$번 친구에게 준다.

위의 두 가지 방법 중 세 친구 모두가 자신의 좋아하는 과일을 포함한 조각을 얻는 방법은 첫 번째 방법뿐이다.

입력으로 케이크의 크기 및 과일이 올려진 형태, 그리고 친구들이 좋아하는 과일이 주어졌을 때, 몇 가지 다른 방법으로 케이크를 자를 수 있는지 구해보자.

입력

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

각 테스트 케이스의 첫 줄에는 $R$, $C$, $N$이 공백으로 구분되어 주어진다. 다음 $R$줄에 걸쳐 각 줄에 길이가 $C$인 문자열이 주어지는데, 이는 케이크의 토핑 과일이 무엇인지 (혹은 크림만 있는지) 알려준다. $R+2$번째 줄에는 길이 $N$인 문자열이 주어지는데, 이는 $N$명의 친구가 좋아하는 과일의 종류이다.

출력

본문에 기술된 규칙에 따라 Bob이 $N-1$번 케이크를 자를 때 $N$명의 친구가 모두 만족할 수 있도록 (즉, 각 친구가 원하는 과일이 케이크 조각에 최소 $1$개 이상 포함되도록) 자르는 방법의 수를 구해 출력한다. 단, 이 값이 매우 클 수 있으므로 $10^9+7$로 나눈 나머지를 출력한다.

제한

  • $1 ≤ T ≤ 10$
  • $1 ≤ R, C ≤ 100$
  • $1 ≤ N ≤ \min{(10, R + C - 1)}$
  • 케이크를 묘사하는 문자열은 길이가 $C$이며 각 글자는 반드시 'S', 'B', 'R', '.' 네 개중 하나이다.
  • $N$명의 친구가 좋아하는 과일을 나타내는 문자열은 각 글자는 반드시 'S', 'B', 'R' 세 개중 하나이다.

예제 입력 1

6
2 2 3
S.
BR
SBR
2 2 3
S.
BR
SRB
1 6 3
SBRSBR
SBR
3 4 4
S...
.SR.
...B
SSRB
3 3 2
SBS
BSB
SBS
SB
1 50 10
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSS

예제 출력 1

1
0
7
4
4
54455620

예제 1: 본문에서 다루었다.

예제 2: 예제 1과 같은 케이크이지만, 세 명의 친구가 원하는 과일의 종류가 다르다.

예제 6: 가짓수가 매우 커질 수 있으므로 $10^9+7$로 나눈 나머지를 출력해야함에 유의하자.

W3sicHJvYmxlbV9pZCI6IjI1MjE4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjZjAwXHVjNzc0XHVkMDZjIFx1Yzc5MFx1Yjk3NFx1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+QWxpY2VcdWM2NDAgQm9iXHVjNzQwIFx1ZDU2OFx1YWVkOCBcdWFjZmNcdWM3N2MgXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YjljY1x1YjRlNFx1YzVjOFx1YjJlNC4gXHVjZjAwXHVjNzc0XHVkMDZjXHViMjk0ICRSIFxcdGltZXMgQyQgXHVkMDZjXHVhZTMwXHVjNzU4IFx1YzljMVx1YzBhY1x1YWMwMVx1ZDYxNSBcdWJhYThcdWM1OTFcdWM3NzRcdWFjZTAsIFx1YWMwMSAkMSBcXHRpbWVzIDEkIFx1ZDA2Y1x1YWUzMFx1Yzc1OCBcdWNlNzhcdWM1ZDBcdWIyOTQgXHViNTM4XHVhZTMwKDxjb2RlPlM8XC9jb2RlPiksIFx1YmUxNFx1YjhlOFx1YmNhMFx1YjlhYyg8Y29kZT5CPFwvY29kZT4pLCBcdWI3N2NcdWM5ODhcdWJjYTBcdWI5YWMoPGNvZGU+UjxcL2NvZGU+KSBcdWM5MTEgXHViNTMxIFx1ZDU1YyBcdWM4ODVcdWI5NThcdWM3NTggXHVhY2ZjXHVjNzdjXHVjNzc0IFx1ZDFhMFx1ZDU1MVx1YzczY1x1Yjg1YyBcdWM2MmNcdWI3N2NcdWFjMDAgXHVjNzg4XHVhYzcwXHViMDk4IFx1ZDYzOVx1Yzc0MCBcdWQwNmNcdWI5YmMoPGNvZGU+LjxcL2NvZGU+KVx1YjljYyBcdWJjMWNcdWI3N2NcdWM4MzggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM1NDRcdWI3OTggXHVhZGY4XHViOWJjXHVjNzQwIFx1ZDA2Y1x1YWUzMFx1YWMwMCAkMiBcXHRpbWVzIDIkXHVjNzc4IFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWM4OGNcdWNlMjEgXHVjMGMxXHViMmU4ICQoMSwgMSkkXHVjNWQwXHViMjk0IFx1YjUzOFx1YWUzMFx1YWMwMCg8Y29kZT5TPFwvY29kZT4pIFx1Yzc4OFx1YWNlMCwgXHVjNmIwXHVjZTIxIFx1YzBjMVx1YjJlOCAkKDEsIDIpJFx1YzVkMFx1YjI5NCBcdWFjZmNcdWM3N2NcdWM3NDAgXHVjNWM2XHVhY2UwIFx1ZDA2Y1x1YjliY1x1YjljYyg8Y29kZT4uPFwvY29kZT4pIFx1Yzc4OFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjODhjXHVjZTIxIFx1ZDU1OFx1YjJlOCAkKDIsIDEpJFx1YzVkMFx1YjI5NCBcdWJlMTRcdWI4ZThcdWJjYTBcdWI5YWNcdWFjMDAoPGNvZGU+QjxcL2NvZGU+KSBcdWM3ODhcdWFjZTAgXHVjNmIwXHVjZTIxIFx1ZDU1OFx1YjJlOCAkKDIsIDIpJFx1YzVkMFx1YjI5NCBcdWI3N2NcdWM5ODhcdWJjYTBcdWI5YWNcdWFjMDAoPGNvZGU+UjxcL2NvZGU+KSBcdWM3ODhcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9mODNlNzMxYy03MjE5LTQ0NTktOTcwNC1mOGY0NWIwNjg4ZWNcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiA3OXB4OyB3aWR0aDogODBweDtcIiBcLz48XC9wPlxyXG5cclxuPHA+Qm9iXHVjNzQwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWNkMWQgJE4tMSRcdWJjODggXHVhYzAwXHViODVjXHViMDk4IFx1YzEzOFx1Yjg1Y1x1Yjg1YyBcdWM3OThcdWI3N2NcdWMxMWMgXHVjZDFkICROJFx1Yzg3MFx1YWMwMVx1Yzc1OCBcdWM5YzFcdWMwYWNcdWFjMDFcdWQ2MTUgXHViYWE4XHVjNTkxXHVjNzU4IFx1ZDA2Y1x1YWUzMFx1YWMwMCBcdWIzNTQgXHVjNzkxXHVjNzQwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWM1YjQgXHVjZTVjXHVhZDZjXHViNGU0XHVjNWQwXHVhYzhjIFx1YjA5OFx1YjIyMFx1YzhmY1x1YWNlMCBcdWMyZjZcdWIyZTQuIFx1YjJlOCwgQm9iXHVjNzc0IFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWM3OTBcdWI5N2MgXHViNTRjXHVjNWQwXHViMjk0IFx1YzU0NFx1Yjc5OCBcdWFkZGNcdWNlNTlcdWM1ZDAgXHViNTMwXHViNzdjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyAkTi0xJFx1YmM4OCBcdWM3OThcdWI3N2NcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPiQxJFx1YmM4OFx1YzlmOCBcdWJkODBcdWQxMzAgJE4tMSRcdWJjODhcdWM5ZjggXHVjNzkwXHViOTc0XHViMjk0IFx1YjNkOVx1YzU0ODogQm9iXHVjNzQwIFx1ZDYwNFx1YzdhYyBcdWM3OTBcdWMyZTBcdWM3NzQgXHVhYzAwXHVjOWM0IFx1YzljMVx1YzBhY1x1YWMwMVx1ZDYxNSBcdWJhYThcdWM1OTFcdWM3NTggXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YWMwMFx1Yjg1Y1x1Yjg1YyBcdWIwNWRcdWFlNGNcdWM5YzAgXHVjNzkwXHViOTc0XHVhYzcwXHViMDk4IFx1YzEzOFx1Yjg1Y1x1Yjg1YyBcdWIwNWRcdWFlNGNcdWM5YzAgXHVjNzk4XHViNzdjXHVjMTFjIFx1YjQ1MCBcdWFjMWNcdWM3NTggXHVjOWMxXHVjMGFjXHVhYzAxXHVkNjE1IFx1YmFhOFx1YzU5MVx1Yzc1OCBcdWNmMDBcdWM3NzRcdWQwNmMgXHVjODcwXHVhYzAxXHVjNzNjXHViODVjIFx1YjljY1x1YjRlNFx1YzViNFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1Yzc3NFx1YjU0YywgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWNmMDBcdWM3NzRcdWQwNmMgXHVjODcwXHVhYzAxXHVjNzQwIFx1ZDA2Y1x1YWUzMFx1YWMwMCBcdWNkNWNcdWMxOGNcdWQ1NWMgJDEgXFx0aW1lcyAxJCBcdWM3NzRcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LlxyXG5cdDx1bD5cclxuXHRcdDxsaT5cdWI5Y2NcdWM1N2QgJGkkXHViYzg4XHVjOWY4XHVjNWQwIFx1YWMwMFx1Yjg1Y1x1Yjg1YyBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHVjNzk4XHViNzkwXHViMmU0XHViYTc0LCBcdWI0NTAgXHVjZjAwXHVjNzc0XHVkMDZjIFx1Yzg3MFx1YWMwMSBcdWM5MTEgXHVjMGMxXHViMmU4XHVjNWQwIFx1YzcwNFx1Y2U1OFx1ZDU1YyBcdWNmMDBcdWM3NzRcdWQwNmMgXHVjODcwXHVhYzAxXHVjNzQ0ICRpJFx1YmM4OFx1YzlmOCBcdWNlNWNcdWFkNmNcdWM1ZDBcdWFjOGMgXHVjOGZjXHVhY2UwLCBcdWQ1NThcdWIyZThcdWM1ZDAgXHVjNzA0XHVjZTU4XHVkNTVjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWFjMTZcdWFjZTAgXHVjNzc0XHVjNWI0XHVjMTFjIFx1Yzc5MFx1Yjk3NFx1YWUzMFx1Yjk3YyBcdWM5YzRcdWQ1ODlcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0XHQ8bGk+XHViOWNjXHVjNTdkICRpJFx1YmM4OFx1YzlmOFx1YzVkMCBcdWMxMzhcdWI4NWNcdWI4NWMgXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1Yzc5OFx1Yjc5MFx1YjJlNFx1YmE3NCwgXHViNDUwIFx1Y2YwMFx1Yzc3NFx1ZDA2YyBcdWM4NzBcdWFjMDEgXHVjOTExIFx1Yzg4Y1x1Y2UyMVx1YzVkMCBcdWM3MDRcdWNlNThcdWQ1NWMgXHVjZjAwXHVjNzc0XHVkMDZjIFx1Yzg3MFx1YWMwMVx1Yzc0NCAkaSRcdWJjODhcdWM5ZjggXHVjZTVjXHVhZDZjXHVjNWQwXHVhYzhjIFx1YzhmY1x1YWNlMCwgXHVjNmIwXHVjZTIxXHVjNWQwIFx1YzcwNFx1Y2U1OFx1ZDU1YyBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHVhYzE2XHVhY2UwIFx1Yzc3NFx1YzViNFx1YzExYyBcdWM3OTBcdWI5NzRcdWFlMzBcdWI5N2MgXHVjOWM0XHVkNTg5XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT4kTi0xJFx1YmM4OCBcdWM3OTBcdWI5NzRcdWFjZTAgXHViMDljIFx1ZDZjNCwgJE4tMSRcdWJjODhcdWM5ZjggXHVjZTVjXHVhZDZjXHVjNWQwXHVhYzhjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWM4ZmNcdWFjZTAgXHViMDljIFx1ZDZjNCBcdWI5YzhcdWM5YzBcdWI5YzlcdWM1ZDAgXHViMGE4XHVjNzQwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1YjI5NCBcdWFkZjhcdWIzMDBcdWI4NWMgJE4kXHViYzg4XHVjOWY4IFx1Y2U1Y1x1YWQ2Y1x1YzVkMFx1YWM4YyBcdWM5MDBcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYyAkUiBcXHRpbWVzIEMkIFx1ZDA2Y1x1YWUzMFx1Yzc1OCBcdWNmMDBcdWM3NzRcdWQwNmNcdWIyOTQgXHVkNTVjIFx1Y2U3OFx1YjNjNCBcdWIwYThcdWFlNDBcdWM1YzZcdWM3NzQgJE4kXHViYTg1XHVjNzU4IFx1Y2U1Y1x1YWQ2Y1x1YjRlNFx1YzVkMFx1YWM4YyBcdWM4ZmNcdWFjOGMgXHViNDFjXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkFsaWNlXHViMjk0ICROJFx1YmE4NVx1Yzc1OCBcdWNlNWNcdWFkNmNcdWI0ZTRcdWM3NzQgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YWNmY1x1Yzc3Y1x1Yzc3NCBcdWJiMzRcdWM1YzdcdWM3NzhcdWM5YzAgXHVjNTRjXHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVhYzAxIFx1Y2U1Y1x1YWQ2Y1x1YWMwMCBcdWJjMWJcdWFjOGMgXHViNDIwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1YzVkMFx1YjI5NCBcdWFkZjggXHVjZTVjXHVhZDZjXHVhYzAwIFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NCBcdWFjZmNcdWM3N2NcdWM3NzQgXHViYzE4XHViNGRjXHVjMmRjICQxJFx1YWMxYyBcdWM3NzRcdWMwYzEgXHVjNzg4XHViM2M0XHViODVkIFx1ZDU1OFx1YWNlMCBcdWMyZjZcdWIyZTQuIDxlbT5cdWIyZTgsIFx1YzcwNFx1YzVkMCBcdWM1YjhcdWFlMDlcdWQ1NWMgXHViMzAwXHViODVjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWM3OThcdWI3N2MgXHVjNWJiXHVjNWI0XHVjOWM0IFx1Yzg3MFx1YWMwMVx1Yzc0MCBcdWJjMThcdWI0ZGNcdWMyZGMgJDEkXHViYzg4IFx1Y2U1Y1x1YWQ2Y1x1YmQ4MFx1ZDEzMCAkTiRcdWJjODggXHVjZTVjXHVhZDZjXHVhZTRjXHVjOWMwIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL2VtPjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0ICROID0gMyRcdWM3NzRcdWFjZTAsIFx1YzEzOCBcdWNlNWNcdWFkNmNcdWFjMDAgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YWNmY1x1Yzc3Y1x1Yzc3NCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHViNTM4XHVhZTMwKDxjb2RlPlM8XC9jb2RlPiksIFx1YmUxNFx1YjhlOFx1YmNhMFx1YjlhYyg8Y29kZT5CPFwvY29kZT4pLCBcdWFkZjhcdWI5YWNcdWFjZTAgXHViNzdjXHVjOTg4XHViY2EwXHViOWFjKDxjb2RlPlI8XC9jb2RlPilcdWI3N2MgXHVkNTU4XHVjNzkwLiBcdWM3NzRcdWI1NGMsIFx1YzcwNFx1Yzc1OCAkMiBcXHRpbWVzIDIkIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyAkMyRcdWM4NzBcdWFjMDFcdWM3M2NcdWI4NWMgXHVjNzkwXHViOTc0XHVhZTMwIFx1YzcwNFx1ZDU3NCBCb2JcdWM3NDAgXHVjZDFkICQyJFx1YmM4OCBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHVjNzk4XHViNzdjXHVjNTdjIFx1ZDU1OFx1YWNlMCwgXHVjNzA0IFx1YWRkY1x1Y2U1OVx1Yzc0NCBcdWI1MzBcdWI5NzRcdWJhNzQgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1YmMyOVx1YmM5NVx1Yzc3NCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkXCI+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+XHViYzI5XHViYzk1IDE8XC90ZD5cclxuXHRcdFx0PHRkPlxyXG5cdFx0XHQ8cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzM0Y2RhYTE4LTNkZTAtNGJlNC1hYmY0LTYzNTZjOTQ0NzRiY1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDEwN3B4OyB3aWR0aDogMTAwcHg7XCIgXC8+PFwvcD5cclxuXHJcblx0XHRcdDxwPjFcdWJjODhcdWM5ZjggXHVjNzkwXHViOTc0XHVhZTMwOiBcdWFjMDBcdWI4NWNcdWI4NWMgXHVjNzkwXHViOTc0XHVhZTMwPFwvcD5cclxuXHJcblx0XHRcdDxwPlx1YWRkY1x1Y2U1OVx1YjMwMFx1Yjg1YyAkMSRcdWJjODggXHVjZTVjXHVhZDZjXHVjNWQwXHVhYzhjIDxzdHJvbmc+XHVjMGMxXHViMmU4PFwvc3Ryb25nPlx1Yzc1OCAkMSBcXHRpbWVzIDIkIFx1Y2YwMFx1Yzc3NFx1ZDA2YyBcdWM4NzBcdWFjMDFcdWM3NDQgXHVjOTAwXHViMmU0LiBcdWM3NzQgXHVjODcwXHVhYzAxXHVjNzQwIFx1YjUzOFx1YWUzMFx1Yjk3YyBcdWQ1NThcdWIwOTggXHVkM2VjXHVkNTY4XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG5cdFx0XHQ8cD48c3Ryb25nPlx1ZDU1OFx1YjJlODxcL3N0cm9uZz5cdWM3NTggJDEgXFx0aW1lcyAyJCBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgJDIkLCAkMyRcdWJjODggXHVjZTVjXHVhZDZjXHVjNWQwXHVhYzhjIFx1YzkwMFx1YjJlNC48XC9wPlxyXG5cdFx0XHQ8XC90ZD5cclxuXHRcdFx0PHRkPlxyXG5cdFx0XHQ8cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzA2Mzk1ZDRjLWZkMzctNGIyMS1iM2Y2LTY4MTdhYzBiODVmNlwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDQ5cHg7IHdpZHRoOiAxMDBweDtcIiBcLz48XC9wPlxyXG5cclxuXHRcdFx0PHA+Mlx1YmM4OFx1YzlmOCBcdWM3OTBcdWI5NzRcdWFlMzA6IFx1YzEzOFx1Yjg1Y1x1Yjg1YyBcdWM3OTBcdWI5NzRcdWFlMzA8XC9wPlxyXG5cclxuXHRcdFx0PHA+JDEgXFx0aW1lcyAyJCBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHVjMTM4XHViODVjXHViODVjIFx1Yzc5OFx1Yjc3YyBcdWM4OGNcdWNlMjFcdWM3NTggXHViZTE0XHViOGU4XHViY2EwXHViOWFjKDxjb2RlPkI8XC9jb2RlPikgXHVjODcwXHVhYzAxXHVjNzQwICQyJFx1YmM4OCBcdWNlNWNcdWFkNmNcdWM1ZDBcdWFjOGMgXHVjOGZjXHVhY2UwLCBcdWM2YjBcdWNlMjFcdWM3NTggXHViNzdjXHVjOTg4XHViY2EwXHViOWFjKDxjb2RlPlI8XC9jb2RlPikgXHVjODcwXHVhYzAxXHVjNzQwICQzJFx1YmM4OCBcdWNlNWNcdWFkNmNcdWM1ZDBcdWFjOGMgXHVjOTAwXHViMmU0LjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD5cdWJjMjlcdWJjOTUgMjxcL3RkPlxyXG5cdFx0XHQ8dGQ+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC8wZTAxNWQyMi03N2NmLTQxNjQtYmM2Ni1mOGNmZTQ3OWI2MWVcLy1cL3ByZXZpZXdcL1wiIHN0eWxlPVwiaGVpZ2h0OiA4OHB4OyB3aWR0aDogMTAwcHg7XCIgXC8+XHJcblx0XHRcdDxwPjFcdWJjODhcdWM5ZjggXHVjNzkwXHViOTc0XHVhZTMwOiBcdWMxMzhcdWI4NWNcdWI4NWMgXHVjNzkwXHViOTc0XHVhZTMwPFwvcD5cclxuXHJcblx0XHRcdDxwPlx1YWRkY1x1Y2U1OVx1YjMwMFx1Yjg1YyAkMSRcdWJjODggXHVjZTVjXHVhZDZjXHVjNWQwXHVhYzhjIDxzdHJvbmc+XHVjODhjXHVjZTIxPFwvc3Ryb25nPlx1Yzc1OCAkMiBcXHRpbWVzIDEkIFx1Y2YwMFx1Yzc3NFx1ZDA2YyBcdWM4NzBcdWFjMDFcdWM3NDQgXHVjOTAwXHViMmU0LiBcdWM3NzQgXHVjODcwXHVhYzAxXHVjNzQwIFx1YjUzOFx1YWUzMCBcdWQ1NThcdWIwOThcdWM2NDAgXHViZTE0XHViOGU4XHViY2EwXHViOWFjIFx1ZDU1OFx1YjA5OFx1Yjk3YyBcdWQzZWNcdWQ1NjhcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcblx0XHRcdDxwPjxzdHJvbmc+XHVjNmIwXHVjZTIxPFwvc3Ryb25nPlx1Yzc1OCAkMiBcXHRpbWVzIDEkIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyAkMiQsICQzJFx1YmM4OCBcdWNlNWNcdWFkNmNcdWM1ZDBcdWFjOGMgXHVjOTAwXHViMmU0LjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0XHQ8dGQ+XHJcblx0XHRcdDxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvZWJhYjFkMWItMzRmNi00ZWZlLTg0ZTQtYmJmNjMwOWMyMjlkXC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogMTAxcHg7IHdpZHRoOiA1MHB4O1wiIFwvPjxcL3A+XHJcblxyXG5cdFx0XHQ8cD4yXHViYzg4XHVjOWY4IFx1Yzc5MFx1Yjk3NFx1YWUzMDogXHVhYzAwXHViODVjXHViODVjIFx1Yzc5MFx1Yjk3NFx1YWUzMDxcL3A+XHJcblxyXG5cdFx0XHQ8cD4kMiBcXHRpbWVzIDEkIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWFjMDBcdWI4NWNcdWI4NWMgXHVjNzk4XHViNzdjIFx1YzBjMVx1YjJlOFx1Yzc1OCBcdWQwNmNcdWI5YmMoPGNvZGU+LjxcL2NvZGU+KSBcdWM4NzBcdWFjMDFcdWM3NDAgJDIkXHViYzg4IFx1Y2U1Y1x1YWQ2Y1x1YzVkMFx1YWM4YyBcdWM4ZmNcdWFjZTAsIFx1ZDU1OFx1YjJlOFx1Yzc1OCBcdWI3N2NcdWM5ODhcdWJjYTBcdWI5YWMoPGNvZGU+UjxcL2NvZGU+KSBcdWM4NzBcdWFjMDFcdWM3NDAgJDMkXHViYzg4IFx1Y2U1Y1x1YWQ2Y1x1YzVkMFx1YWM4YyBcdWM5MDBcdWIyZTQuPFwvcD5cclxuXHRcdFx0PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5cdWM3MDRcdWM3NTggXHViNDUwIFx1YWMwMFx1YzljMCBcdWJjMjlcdWJjOTUgXHVjOTExIFx1YzEzOCBcdWNlNWNcdWFkNmMgXHViYWE4XHViNDUwXHVhYzAwIFx1Yzc5MFx1YzJlMFx1Yzc1OCBcdWM4OGJcdWM1NDRcdWQ1NThcdWIyOTQgXHVhY2ZjXHVjNzdjXHVjNzQ0IFx1ZDNlY1x1ZDU2OFx1ZDU1YyBcdWM4NzBcdWFjMDFcdWM3NDQgXHVjNWJiXHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YmMyOVx1YmM5NVx1YmZkMFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yzc1OCBcdWQwNmNcdWFlMzAgXHViYzBmIFx1YWNmY1x1Yzc3Y1x1Yzc3NCBcdWM2MmNcdWI4MjRcdWM5YzQgXHVkNjE1XHVkMGRjLCBcdWFkZjhcdWI5YWNcdWFjZTAgXHVjZTVjXHVhZDZjXHViNGU0XHVjNzc0IFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NCBcdWFjZmNcdWM3N2NcdWM3NzQgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHViYTg3IFx1YWMwMFx1YzljMCBcdWIyZTRcdWI5NzggXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWM3OTBcdWI5N2MgXHVjMjE4IFx1Yzc4OFx1YjI5NFx1YzljMCBcdWFkNmNcdWQ1NzRcdWJjZjRcdWM3OTAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjUgXHVjY2FiIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YzIxOCAkVCRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWNjYWIgXHVjOTA0XHVjNWQwXHViMjk0ICRSJCwgJEMkLCAkTiRcdWM3NzQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlNFx1Yzc0YyAkUiRcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwIFx1YWMwMSBcdWM5MDRcdWM1ZDAgXHVhZTM4XHVjNzc0XHVhYzAwICRDJFx1Yzc3OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0XHViMzcwLCBcdWM3NzRcdWIyOTQgXHVjZjAwXHVjNzc0XHVkMDZjXHVjNzU4IFx1ZDFhMFx1ZDU1MSBcdWFjZmNcdWM3N2NcdWM3NzQgXHViYjM0XHVjNWM3XHVjNzc4XHVjOWMwIChcdWQ2MzlcdWM3NDAgXHVkMDZjXHViOWJjXHViOWNjIFx1Yzc4OFx1YjI5NFx1YzljMCkgXHVjNTRjXHViODI0XHVjOTAwXHViMmU0LiAkUisyJFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhZTM4XHVjNzc0ICROJFx1Yzc3OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0XHViMzcwLCBcdWM3NzRcdWIyOTQgJE4kXHViYTg1XHVjNzU4IFx1Y2U1Y1x1YWQ2Y1x1YWMwMCBcdWM4OGJcdWM1NDRcdWQ1NThcdWIyOTQgXHVhY2ZjXHVjNzdjXHVjNzU4IFx1Yzg4NVx1Yjk1OFx1Yzc3NFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWJjZjhcdWJiMzhcdWM1ZDAgXHVhZTMwXHVjMjIwXHViNDFjIFx1YWRkY1x1Y2U1OVx1YzVkMCBcdWI1MzBcdWI3N2MgQm9iXHVjNzc0ICROLTEkXHViYzg4IFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWM3OTBcdWI5N2MgXHViNTRjICROJFx1YmE4NVx1Yzc1OCBcdWNlNWNcdWFkNmNcdWFjMDAgXHViYWE4XHViNDUwIFx1YjljY1x1Yzg3MVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViM2M0XHViODVkIChcdWM5ODksIFx1YWMwMSBcdWNlNWNcdWFkNmNcdWFjMDAgXHVjNmQwXHVkNTU4XHViMjk0IFx1YWNmY1x1Yzc3Y1x1Yzc3NCBcdWNmMDBcdWM3NzRcdWQwNmMgXHVjODcwXHVhYzAxXHVjNWQwIFx1Y2Q1Y1x1YzE4YyAkMSRcdWFjMWMgXHVjNzc0XHVjMGMxIFx1ZDNlY1x1ZDU2OFx1YjQxOFx1YjNjNFx1Yjg1ZCkgXHVjNzkwXHViOTc0XHViMjk0IFx1YmMyOVx1YmM5NVx1Yzc1OCBcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTc0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViMmU4LCBcdWM3NzQgXHVhYzEyXHVjNzc0IFx1YjllNFx1YzZiMCBcdWQwNzQgXHVjMjE4IFx1Yzc4OFx1YzczY1x1YmJjMFx1Yjg1YyAkMTBeOSs3JFx1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDEgJmxlOyBUICZsZTsgMTAkPFwvbGk+XHJcblx0PGxpPiQxICZsZTsgUiwgQyAmbGU7IDEwMCQ8XC9saT5cclxuXHQ8bGk+JDEgJmxlOyBOICZsZTsgXFxtaW57KDEwLCBSICsgQyAtIDEpfSQ8XC9saT5cclxuXHQ8bGk+XHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YmIxOFx1YzBhY1x1ZDU1OFx1YjI5NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NDAgXHVhZTM4XHVjNzc0XHVhYzAwICRDJFx1Yzc3NFx1YmE3MCBcdWFjMDEgXHVhZTAwXHVjNzkwXHViMjk0IFx1YmMxOFx1YjRkY1x1YzJkYyAmIzM5Ozxjb2RlPlM8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPkI8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPlI8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPi48XC9jb2RlPiYjMzk7IFx1YjEyNCBcdWFjMWNcdWM5MTEgXHVkNTU4XHViMDk4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT4kTiRcdWJhODVcdWM3NTggXHVjZTVjXHVhZDZjXHVhYzAwIFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NCBcdWFjZmNcdWM3N2NcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0MCBcdWFjMDEgXHVhZTAwXHVjNzkwXHViMjk0IFx1YmMxOFx1YjRkY1x1YzJkYyAmIzM5Ozxjb2RlPlM8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPkI8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPlI8XC9jb2RlPiYjMzk7IFx1YzEzOCBcdWFjMWNcdWM5MTEgXHVkNTU4XHViMDk4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPlx1YzYwOFx1YzgxYyAxOiBcdWJjZjhcdWJiMzhcdWM1ZDBcdWMxMWMgXHViMmU0XHViOGU4XHVjNWM4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgMjogXHVjNjA4XHVjODFjIDFcdWFjZmMgXHVhYzE5XHVjNzQwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yzc3NFx1YzljMFx1YjljYywgXHVjMTM4IFx1YmE4NVx1Yzc1OCBcdWNlNWNcdWFkNmNcdWFjMDAgXHVjNmQwXHVkNTU4XHViMjk0IFx1YWNmY1x1Yzc3Y1x1Yzc1OCBcdWM4ODVcdWI5NThcdWFjMDAgXHViMmU0XHViOTc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWM4MWMgNjogXHVhYzAwXHVjOWQzXHVjMjE4XHVhYzAwIFx1YjllNFx1YzZiMCBcdWNlZTRcdWM5YzggXHVjMjE4IFx1Yzc4OFx1YzczY1x1YmJjMFx1Yjg1YyAkMTBeOSs3JFx1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU3NFx1YzU3Y1x1ZDU2OFx1YzVkMCBcdWM3MjBcdWM3NThcdWQ1NThcdWM3OTAuPFwvcD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMjUyMTgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJDdXR0aW5nIENha2UiLCJkZXNjcmlwdGlvbiI6IjxwPkFsaWNlIGFuZCBCb2IgYmFrZWQgYSBmcnVpdCBjYWtlIHRvZ2V0aGVyLiBUaGUgY2FrZSBpcyBsaWtlIGEgcmVjdGFuZ2xlIG9mIHNpemUgJFIgXFx0aW1lcyBDJCB3aGVyZSBlYWNoICQxIFxcdGltZXMgMSQgYmxvY2sgZWl0aGVyJm5ic3A7Y29udGFpbnMgb25lIGZydWl0IHRvcHBpbmcgKG91dCBvZiBzdHJhd2JlcnJpZXMmbmJzcDsoPGNvZGU+UzxcL2NvZGU+KSwgYmx1ZWJlcnJpZXMgKDxjb2RlPkI8XC9jb2RlPiksIG9yIHJhc3BiZXJyaWVzICg8Y29kZT5SPFwvY29kZT4pKSBvciBpcyBjb3ZlcmVkIHdpdGggY3JlYW0gYnV0IG5vIHRvcHBpbmdzICg8Y29kZT4uPFwvY29kZT4pLjxcL3A+XHJcblxyXG48cD5Gb3IgaW5zdGFuY2UsIHRoZSBpbWFnZSBiZWxvdyBzaG93cyBhIGNha2Ugb2Ygc2l6ZSAkMiBcXHRpbWVzIDIkLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlRoZSB0b3AtbGVmdCBibG9jayBhdCAkKDEsIDEpJCBjb250YWlucyBzdHJhd2JlcnJpZXMgKDxjb2RlPlM8XC9jb2RlPiksIGFuZCB0aGUgdG9wLXJpZ2h0IGJsb2NrIGF0ICQoMSwgMikkIGhhcyBubyB0b3BwaW5ncyBidXQganVzdCBjcmVhbS48XC9saT5cclxuXHQ8bGk+VGhlIGJvdHRvbS1sZWZ0IGJsb2NrIGF0ICQoMiwgMSkkIGNvbnRhaW5zIGJsdWViZXJyaWVzICg8Y29kZT5CPFwvY29kZT4pLCBhbmQgdGhlIGJvdHRvbS1yaWdodCBhdCAkKDIsIDIpJCByYXNwYmVycmllcyAoPGNvZGU+UjxcL2NvZGU+KS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2Y4M2U3MzFjLTcyMTktNDQ1OS05NzA0LWY4ZjQ1YjA2ODhlY1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDc5cHg7IHdpZHRoOiA4MHB4O1wiIFwvPjxcL3A+XHJcblxyXG48cD5Cb2Igd2FudHMgdG8gY3V0IHRoaXMgY2FrZSAkTi0xJCB0aW1lcyAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGVhY2ggdGltZSkgdG8gb2J0YWluICROJCBzbWFsbGVyIHBpZWNlcyB3aGljaCBjYW4gYmUgZ2l2ZW4gdG8gdGhlaXIgZnJpZW5kcy4gQm9iIG11c3QgY3V0IHRoZSBjYWtlIGV4YWN0bHkgJE4tMSQgdGltZXMsIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHJ1bGVzOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPldoaWxlIGN1dHRpbmcgJE4tMSQgdGltZXM6IEJvYiBtdXN0IGN1dCB0aGUgY3VycmVudCAocmVjdGFuZ3VsYXIpIGNha2UgcGllY2UgZWl0aGVyIGhvcml6b250YWxseSAoZnJvbSBsZWZ0IHRvIHJpZ2h0KSBvciB2ZXJ0aWNhbGx5IChmcm9tIHRvcCB0byBib3R0b20pIGNvbXBsZXRlbHkgc28gdGhhdCBpdCByZXN1bHRzIGluIHR3byAocmVjdGFuZ3VsYXIpJm5ic3A7Y2FrZSBwaWVjZXMuIEVhY2ggY2FrZSBwaWVjZSBtdXN0IGJlIG9mIHNpemUgYXQgbGVhc3QgJDEgXFx0aW1lcyAxJC5cclxuXHQ8dWw+XHJcblx0XHQ8bGk+SWYgdGhlICRpJC10aCBjdXQgd2FzIGRvbmUgaG9yaXpvbnRhbGx5LCB0aGVuIHRoZSB1cHBlciBjYWtlIHBpZWNlIG11c3QgYmUgZ2l2ZW4gdG8gdGhlICRpJC10aCBmcmllbmQsIGFuZCB0aGUgbG93ZXIgY2FrZSBwaWVjZSBtdXN0IGJlIHVzZWQgaW4gdGhlIG5leHQgY3V0dGluZyBwaGFzZS48XC9saT5cclxuXHRcdDxsaT5JZiB0aGUgJGkkLXRoIGN1dCB3YXMgZG9uZSB2ZXJ0aWNhbGx5LCB0aGVuIHRoZSBsZWZ0IGNha2UgcGllY2UgbXVzdCBiZSBnaXZlbiB0byB0aGUgJGkkLXRoIGZyaWVuZCwgYW5kIHRoZSByaWdodCBjYWtlIHBpZWNlIG11c3QgYmUgdXNlZCBpbiB0aGUgbmV4dCBjdXR0aW5nIHBoYXNlLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5BZnRlciB0aGUgJE4tMSQgY3V0IGlzIG1hZGUsIHRoZSByZW1haW5pbmcgcGllY2UgbXVzdCBiZSBnaXZlbiB0byB0aGUgJE4kLXRoIGZyaWVuZCBhcy1pcy4gSGVuY2UsIHRoZSBvcmlnaW5hbCAkUiBcXHRpbWVzIEMkIGNha2UgbXVzdCBiZSBnaXZlbiB0byAkTiQgZnJpZW5kcyB3aXRoIG5vIGxlZnRvdmVycy48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5BbGljZSBrbm93cyB3aGljaCBmcnVpdCBpcyZuYnNwO2VhY2ggZnJpZW5kJiMzOTtzIGZhdm9yaXRlLCBzaGUgd2FudHMgdG8gZW5zdXJlIHRoYXQgZWFjaCBmcmllbmQgd291bGQgcmVjZWl2ZSBhIGNha2UgcGllY2Ugd2l0aCBhdCBsZWFzdCBvbmUgYmxvY2sgY29udGFpbmluZyB0aGVpciBmYXZvcml0ZSBmcnVpdCB0b3BwaW5ncy4mbmJzcDs8ZW0+Tm9uZXRoZWxlc3MsIHRoZSBjYWtlIHBpZWNlcyBtdXN0IGJlIGdpdmVuIHRvICROJCBmcmllbmRzIGluIHRoZSBleGFjdCBvcmRlciBhcyBzdGF0ZWQgYWJvdmUuPFwvZW0+PFwvcD5cclxuXHJcbjxwPkZvciBpbnN0YW5jZSwgc3VwcG9zZSAkTiA9IDMkIGFuZCB0aGUgdGhyZWUgZnJpZW5kcyBsaWtlIHN0cmF3YmVycmllcyAoPGNvZGU+UzxcL2NvZGU+KSwgYmx1ZWJlcnJpZXMgKDxjb2RlPkI8XC9jb2RlPiksIGFuZCByYXNwYmVycmllcyAoPGNvZGU+UjxcL2NvZGU+KSBpbiB0aGlzIG9yZGVyLiBJbiB0aGlzIGNhc2UsIEJvYiBtdXN0IGN1dCB0aGUgJDIgXFx0aW1lcyAyJCZuYnNwO2Nha2UgZnJvbSZuYnNwO2Fib3ZlIHR3aWNlICh0byBvYnRhaW4gdGhyZWUgcGllY2VzKSwgYW5kIHRoZXJlIGFyZSB0d28gd2F5cyB0aGF0IGFkaGVyZSB0byB0aGUgcnVsZXMgYWJvdmUuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkXCI+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+TWV0aG9kIDE8XC90ZD5cclxuXHRcdFx0PHRkPlxyXG5cdFx0XHQ8cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzM0Y2RhYTE4LTNkZTAtNGJlNC1hYmY0LTYzNTZjOTQ0NzRiY1wvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDEwN3B4OyB3aWR0aDogMTAwcHg7XCIgXC8+PFwvcD5cclxuXHJcblx0XHRcdDxwPjFzdCBjdXQ6IEhvcml6b250YWwgY3V0PFwvcD5cclxuXHJcblx0XHRcdDxwPkZyaWVuZCAjJDEkIHdpbGwgcmVjZWl2ZSB0aGUgPHN0cm9uZz51cHBlcjxcL3N0cm9uZz4gcGllY2UgKG9mIHNpemUgJDEgXFx0aW1lcyZuYnNwOzIkKSB0aGF0IGNvbnRhaW5zIHN0cmF3YmVycmllcy48XC9wPlxyXG5cclxuXHRcdFx0PHA+VGhlIDxzdHJvbmc+bG93ZXI8XC9zdHJvbmc+IHBpZWNlIChvZiBzaXplICQxIFxcdGltZXMgMiQpIHdpbGwgYmUgZ2l2ZW4gdG8gZnJpZW5kcyAjJDIkIGFuZCAjJDMkLjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0XHQ8dGQ+XHJcblx0XHRcdDxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvMDYzOTVkNGMtZmQzNy00YjIxLWIzZjYtNjgxN2FjMGI4NWY2XC8tXC9wcmV2aWV3XC9cIiBzdHlsZT1cImhlaWdodDogNDlweDsgd2lkdGg6IDEwMHB4O1wiIFwvPjxcL3A+XHJcblxyXG5cdFx0XHQ8cD4ybmQgY3V0OiBWZXJ0aWNhbCBjdXQ8XC9wPlxyXG5cclxuXHRcdFx0PHA+VGhlICQxIFxcdGltZXMgMiQgY2FrZSBwaWVjZSB3aWxsIGJlIGN1dCB2ZXJ0aWNhbGx5LCBhbmQgdGhlIGxlZnQgcGllY2Ugd2l0aCBibHVlYmVycmllcyB3aWxsIGJlIGdpdmVuIHRvIGZyaWVuZCAjJDIkIGFuZCB0aGUgcmlnaHQgcGllY2UgdG8gZnJpZW5kICMkMyQuPFwvcD5cclxuXHRcdFx0PFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPk1ldGhvZCAyPFwvdGQ+XHJcblx0XHRcdDx0ZD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcLzBlMDE1ZDIyLTc3Y2YtNDE2NC1iYzY2LWY4Y2ZlNDc5YjYxZVwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDg4cHg7IHdpZHRoOiAxMDBweDtcIiBcLz5cclxuXHRcdFx0PHA+MXN0IGN1dDogVmVydGljYWwgY3V0PFwvcD5cclxuXHJcblx0XHRcdDxwPkFjY29yZGluZyB0byB0aGUgcnVsZXMsIHRoZSA8c3Ryb25nPmxlZnQ8XC9zdHJvbmc+IHBpZWNlIHdpbGwgYmUgZ2l2ZW4gdG8gZnJpZW5kICMkMSQsIHdoaWNoIGNvbnRhaW5zIHN0cmF3YmVycmllcyBhbmQgYmx1ZWJlcnJpZXMuPFwvcD5cclxuXHJcblx0XHRcdDxwPlRoZSA8c3Ryb25nPnJpZ2h0PFwvc3Ryb25nPiBwaWVjZSB3aWxsIGJlIGdpdmVuIHRvIGZyaWVuZHMgIyQyJCBhbmQgIyQzJC48XC9wPlxyXG5cdFx0XHQ8XC90ZD5cclxuXHRcdFx0PHRkPlxyXG5cdFx0XHQ8cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC91cGxvYWQuYWNtaWNwYy5uZXRcL2ViYWIxZDFiLTM0ZjYtNGVmZS04NGU0LWJiZjYzMDljMjI5ZFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMXB4OyB3aWR0aDogNTBweDtcIiBcLz48XC9wPlxyXG5cclxuXHRcdFx0PHA+Mm5kIGN1dDogSG9yaXpvbnRhbCBjdXQ8XC9wPlxyXG5cclxuXHRcdFx0PHA+VGhlICQyIFxcdGltZXMgMSQgY2FrZSBwaWVjZSB3aWxsIGJlIGN1dCBob3Jpem9udGFsbHksIGFuZCB0aGUgdXBwZXIgcGllY2Ugd2l0aCBqdXN0IGNyZWFtICg8Y29kZT4uPFwvY29kZT4pIHdpbGwgYmUgZ2l2ZW4gdG8gZnJpZW5kICMkMiQgYW5kIHRoZSBib3R0b20gcGllY2Ugd2l0aCByYXNwYmVycmllcyAoPGNvZGU+UjxcL2NvZGU+KSB3aWxsIGJlIGdpdmVuIHRvIGZyaWVuZCAjJDMkLjxcL3A+XHJcblx0XHRcdDxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+QW1vbmcgdGhlc2UgdHdvIG1ldGhvZHMsIHRoZSBmaXJzdCBtZXRob2QgaXMgdGhlIG9ubHkgb25lIHdoZXJlIGFsbCAkMyQgZnJpZW5kcyByZWNlaXZlIGEgY2FrZSBwaWVjZSB0aGF0IGNvbnRhaW5zIHRoZWlyIHJlc3BlY3RpdmUgZmF2b3JpdGUgZnJ1aXQuPFwvcD5cclxuXHJcbjxwPkdpdmVuIHRoZSBjYWtlJiMzOTtzIHNpemUgYW5kIHdoaWNoIGJsb2NrcyBjb250YWluIGZydWl0IHRvcHBpbmdzIGFzIHdlbGwgYXMgd2hpY2ggZnJ1aXRzIHRoZSBmcmllbmRzIGxpa2UsIGNvbXB1dGUgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgd2F5cyB0byBjdXQgdGhlIGNha2Ugd2hpbGUgbWVldGluZyBhbGwgcnVsZXMgYW5kIHNhdGlzZnlpbmcgYWxsIGZyaWVuZHMuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiB0aGUgaW5wdXQgd2lsbCBjb250YWluICRUJCwgdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzLjxcL3A+XHJcblxyXG48cD5FYWNoIHRlc3QgY2FzZSB3aWxsIGJlZ2luIHdpdGggdGhlIGZpcnN0IGxpbmUgY29udGFpbmluZyAkUiQsICRDJCwgYW5kICROJCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4gRWFjaCBvZiB0aGUgbmV4dCAkUiQgbGluZXMgd2lsbCBjb250YWluIGEgc3RyaW5nIG9mIGxlbmd0aCAkQyQgKGxldCAkVVtpXSQgYmUgdGhlIHN0cmluZyBnaXZlbiBpbiB0aGUgJGkkLXRoIGxpbmUpLCB3aGljaCBkZXNjcmliZXMgd2hpY2ggdG9wcGluZ3MgYXJlIG9uIHRoZSBjYWtlIChvciBubyB0b3BwaW5ncyBhcmUgb24gaXQpLiBUaGUgJChSKzIpJC10aCBsaW5lIHdpbGwgY29udGFpbiBhIHN0cmluZyBvZiBsZW5ndGggJE4kLCBkZXNjcmliaW5nIHdoaWNoIGZydWl0IHRoZSBmcmllbmRzIGxpa2UuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IHRoZSBudW1iZXIgb2Ygd2F5cyB0byBjdXQgdGhlIGNha2UgdG8gc2F0aXNmeSBhbGwgJE4kIGZyaWVuZHMgKHRoYXQgaXMsIGVhY2ggZnJpZW5kIG11c3QgcmVjZWl2ZSBhIGNha2UgcGllY2UgdGhhdCBjb250YWlucyB0aGVpciBmYXZvcml0ZSBmcnVpdCkgd2hpbGUgbWVldGluZyB0aGUgY2FrZS1jdXR0aW5nIHJ1bGVzIHN0YXRlZCBhYm92ZS4mbmJzcDsgU2luY2UgdGhlIGFuc3dlciBjYW4gYmUgcXVpdGUgbGFyZ2UsIG91dHB1dCB0aGUgYW5zd2VyIG1vZHVsbyZuYnNwOyQxMF45KzckLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2giLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDEgJmxlOyBUICZsZTsgMTAkPFwvbGk+XHJcblx0PGxpPiQxICZsZTsgUiwgQyAmbGU7IDEwMCQ8XC9saT5cclxuXHQ8bGk+JDEgJmxlOyBOICZsZTsgXFxtaW57KDEwLCBSICsgQyAtIDEpfSQ8XC9saT5cclxuXHQ8bGk+RWFjaCBzdHJpbmcmbmJzcDtkZXNjcmliaW5nIHRoZSBjYWtlJiMzOTtzIHRvcHBpbmdzICgkVVsxXSQsICRcXGRvdHMkLCAkVVtSXSQpIHdpbGwgYmUgb2YgbGVuZ3RoICRDJCBlYWNoLCBhbmQgZWFjaCBjaGFyYWN0ZXIgd2lsbCBiZSZuYnNwO29uZSBvZiAmIzM5Ozxjb2RlPlM8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPkI8XC9jb2RlPiYjMzk7LCAmIzM5Ozxjb2RlPlI8XC9jb2RlPiYjMzk7LCBhbmQgJiMzOTs8Y29kZT4uPFwvY29kZT4mIzM5Oy48XC9saT5cclxuXHQ8bGk+VGhlIHN0cmluZyBkZXNjcmliaW5nIHRoZSAkTiQgZnJpZW5kcyYjMzk7IGZhdm9yaXRlIGZydWl0cyB3aWxsIGJlIG9mIGxlbmd0aCAkTiQgYW5kIGVhY2ggY2hhcmFjdGVyIHdpbGwgYmUgb25lIG9mICYjMzk7PGNvZGU+UzxcL2NvZGU+JiMzOTssICYjMzk7PGNvZGU+QjxcL2NvZGU+JiMzOTssIGFuZCAmIzM5Ozxjb2RlPlI8XC9jb2RlPiYjMzk7LjxcL2xpPlxyXG48XC91bD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPkNhc2UgMTogRGlzY3Vzc2VkIGluIHRoZSBwcm9ibGVtIHN0YXRlbWVudC48XC9wPlxyXG5cclxuPHA+Q2FzZSAyOiBUaGUgY2FrZSBpcyB0aGUgc2FtZSBhcyB0aGUgb25lIGluIENhc2UgMSwgYnV0IHRoZSBmYXZvcml0ZSBmcnVpdHMgb2YgZnJpZW5kcyBhcmUgZGlmZmVyZW50LjxcL3A+XHJcblxyXG48cD5DYXNlIDY6IE5vdGUgdGhhdCB0aGUgYW5zd2VyIGNhbiBiZSB2ZXJ5IGxhcmdlLCBzbyB5b3UgbXVzdCBvdXRwdXQgdGhlIGFuc3dlciBtb2R1bG8gJDEwXjkrNyQuPFwvcD5cclxuIn1d

시간 제한

  • Java 8: 3 초
  • Python 3: 7 초
  • PyPy3: 7 초
  • Java 8 (OpenJDK): 3 초
  • Java 11: 3 초
  • Kotlin (JVM): 3 초
  • Java 15: 3 초