시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
5 초 128 MB 4 2 2 66.667%

문제

정이면체군은 집합 D로, D상에서 곱셈 연산 *가 정의되어 있다. 집합 D는 두 원소 a와 b를 이용해 만들 수 있다. 곱셈 연산 *는 실제로 표기하는 경우는 거의 없고, 붙여서 쓰거나 제곱 형태로 나타낸다. 즉, a*a는 aa 또는 a2로 나타낸다. 또, a*a*b는 a2b1 또는 a2b로 나타낸다.

정이면체군 D는 두 파라미터 m과 n을 갖고, m ≥ 2, n ≥ 2이다. 이러한 정이면체군은 Dm,n으로 나타낸다. Dm,n사이의 관계는 다음과 같다.

am = a0 = 1, bn = b0 = 1, and ba = a(m-1)b.

따라서, Dm,n은 총 (mn)개의 원소를 가지며, 다음과 같다.

Dm,n = {ajbk | 0 ≤ j < m, 0 ≤ k < n} = {a0b0, a1b0, a2b0, ..., a(m-1)b0, ..., a(m-1)b(n-1)}.

예를 들어, m=6, n=2인 경우 D7,2는 다음과 같다.

{a0b0, a1b0, a2b0, a3b0, a4b0, a5b0, a6b0, a0b1, a1b1, a2b1, a3b1, a4b1, a5b1, a6b1}.

곱셉 연산은 교환 법칙이 성립하지 않기 때문에, ba ≠ ab이다. D7,2의 정의에 의하면 ba = a6b이다. 또, ajak = a(j+k)%m, bjbk = b(j+k)%n 이다. 따라서 다음과 같다.

(ajbk)(apbq) ≠ (a(j+p)%mb(k+q)%n)

D7,2의 두 원소 (a3b1)과 (a2b1)을 올바르게 곱하는 방법은 다음과 같다.

(a3b1)(a2b1) = (a3b0)(ba)(a1b1) = (a3b0)(a6b1)(a1b1)

ba = a6b이때문에 위와 같이 계산할 수 있다. 또, a3b0a6 = a3a6 = a(3+6)%7 = a2이기 때문에, (a3b0)(a6b1) = (a2b1)임을 알 수 있다. 따라서, 다음과 같이 계산할 수 있다.

(a3b0)(a6b1)(a1b1) = (a2b1)(a1b1).

이제, 위의 식을 아래와 같이 다시 계산할 수 있다.

(a2b1)(a1b1) = (a2b0)(ba)(a0b1) = (a2b0)(a6b1)(a0b1) = (a8b2) = (a1b0)

따라서, (a3b1)과 (a2b1)을 곱하면 (a3b1)(a2b1) = (a1b0)이 된다.

m과 n 그리고, 정이면체군 Dm,n 상의 두 원소 (ajbk)와 (apbq)가 주어졌을 때, 곱한 결과를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 문제 세트로 이루어져 있다. 각 문제 세트는 입력 여러 줄로 이루어져 있다.

첫째 줄에는 문제ID와 m, n,p 가 주어지며, 공백으로 구분되어져 있다. m과 n은 1000을 넘지 않는 정수이고, p는 그 문제 세트에 있는 곱셈 문제의 개수이다. 다음 p개 줄에는 곱셈 문제가 주어지며, Dm,n 상의 두 원소가 주어진다. 각 원소는 a3b1형식이다. 각 문제 세트의 다음에는 바로 다음 문제 세트가 주어진다. 문제ID가 ZZ인 경우에는 입력의 끝을 나타낸다.

출력

각각의 곱셈 문제에 대해서, 다음을 출력한다.

ProblemID id: ajbk * apbq = arbs

id는 입력으로 주어진 문제ID, ajbk, apbq는 입력으로 주어진 두 원소, arbs는 결과이다.

예제 입력 1

C1 7 2 3
a3b1 a2b1
a5b1 a3b1
a2b1 a4b1
C2 9 3 2
a3b1 a2b1
a4b1 a3b1
ZZ 0 0 0

예제 출력 1

ProblemID C1: a3b1 * a2b1 = a1b0
ProblemID C1: a5b1 * a3b1 = a2b0
ProblemID C1: a2b1 * a4b1 = a5b0
ProblemID C2: a3b1 * a2b1 = a1b2
ProblemID C2: a4b1 * a3b1 = a1b2
W3sicHJvYmxlbV9pZCI6Ijk3MzYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM4MTVcdWM3NzRcdWJhNzRcdWNjYjRcdWFkNzAiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzgxNVx1Yzc3NFx1YmE3NFx1Y2NiNFx1YWQ3MFx1Yzc0MCBcdWM5ZDFcdWQ1NjkgRFx1Yjg1YywgRFx1YzBjMVx1YzVkMFx1YzExYyBcdWFjZjFcdWMxNDggXHVjNWYwXHVjMGIwICpcdWFjMDAgXHVjODE1XHVjNzU4XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC4gXHVjOWQxXHVkNTY5IERcdWIyOTQgXHViNDUwIFx1YzZkMFx1YzE4YyBhXHVjNjQwIGJcdWI5N2MgXHVjNzc0XHVjNmE5XHVkNTc0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWFjZjFcdWMxNDggXHVjNWYwXHVjMGIwICpcdWIyOTQgXHVjMmU0XHVjODFjXHViODVjIFx1ZDQ1Y1x1YWUzMFx1ZDU1OFx1YjI5NCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVhYzcwXHVjNzU4IFx1YzVjNlx1YWNlMCwgXHViZDk5XHVjNWVjXHVjMTFjIFx1YzRmMFx1YWM3MFx1YjA5OCBcdWM4MWNcdWFjZjEgXHVkNjE1XHVkMGRjXHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC4gXHVjOTg5LCBhKmFcdWIyOTQgYWEgXHViNjEwXHViMjk0IGE8c3VwPjI8XC9zdXA+XHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC4gXHViNjEwLCBhKmEqYlx1YjI5NCBhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+IFx1YjYxMFx1YjI5NCBhPHN1cD4yPFwvc3VwPmJcdWI4NWMgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM4MTVcdWM3NzRcdWJhNzRcdWNjYjRcdWFkNzAgRFx1YjI5NCBcdWI0NTAgXHVkMzBjXHViNzdjXHViYmY4XHVkMTMwIG1cdWFjZmMgblx1Yzc0NCBcdWFjMTZcdWFjZTAsIG0gJmdlOyAyLCBuICZnZTsgMlx1Yzc3NFx1YjJlNC4gXHVjNzc0XHViN2VjXHVkNTVjIFx1YzgxNVx1Yzc3NFx1YmE3NFx1Y2NiNFx1YWQ3MFx1Yzc0MCBEPHN1Yj5tLG48XC9zdWI+XHVjNzNjXHViODVjIFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC4gRDxzdWI+bSxuPFwvc3ViPlx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWFkMDBcdWFjYzRcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHA+YTxzdXA+bTxcL3N1cD4gPSBhPHN1cD4wPFwvc3VwPiA9IDEsIGI8c3VwPm48XC9zdXA+ID0gYjxzdXA+MDxcL3N1cD4gPSAxLCBhbmQgYmEgPSBhPHN1cD4obS0xKTxcL3N1cD5iLjxcL3A+XHJcblxyXG48cD5cdWI1MzBcdWI3N2NcdWMxMWMsIEQ8c3ViPm0sbjxcL3N1Yj5cdWM3NDAgXHVjZDFkIChtbilcdWFjMWNcdWM3NTggXHVjNmQwXHVjMThjXHViOTdjIFx1YWMwMFx1YzljMFx1YmE3MCwgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHA+RDxzdWI+bSxuPFwvc3ViPiA9IHthPHN1cD5qPFwvc3VwPmJrIHwgMCAmbGU7IGogJmx0OyBtLCAwICZsZTsgayAmbHQ7IG59ID0ge2E8c3VwPjA8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIC4uLiwgYTxzdXA+KG0tMSk8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIC4uLiwgYTxzdXA+KG0tMSk8XC9zdXA+YjxzdXA+KG4tMSk8XC9zdXA+fS48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCwgbT02LCBuPTJcdWM3NzggXHVhY2JkXHVjNmIwIEQ8c3ViPjcsMjxcL3N1Yj5cdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHA+e2E8c3VwPjA8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjQ8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjU8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjY8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjQ8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjU8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD59LjxcL3A+XHJcblxyXG48cD5cdWFjZjFcdWMxNDkgXHVjNWYwXHVjMGIwXHVjNzQwIFx1YWQ1MFx1ZDY1OCBcdWJjOTVcdWNlNTlcdWM3NzQgXHVjMTMxXHViOWJkXHVkNTU4XHVjOWMwIFx1YzU0YVx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIGJhICZuZTsgYWJcdWM3NzRcdWIyZTQuIEQ8c3ViPjcsMjxcL3N1Yj5cdWM3NTggXHVjODE1XHVjNzU4XHVjNWQwIFx1Yzc1OFx1ZDU1OFx1YmE3NCBiYSA9IGE8c3VwPjY8XC9zdXA+Ylx1Yzc3NFx1YjJlNC4gXHViNjEwLCBhPHN1cD5qPFwvc3VwPmE8c3VwPms8XC9zdXA+ID0gYTxzdXA+KGorayklbTxcL3N1cD4sIGI8c3VwPmo8XC9zdXA+YjxzdXA+azxcL3N1cD4gPSBiPHN1cD4oaitrKSVuPFwvc3VwPiBcdWM3NzRcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYyBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cD4oYTxzdXA+ajxcL3N1cD5iPHN1cD5rPFwvc3VwPikoYTxzdXA+cDxcL3N1cD5iPHN1cD5xPFwvc3VwPikgJm5lOyAoYTxzdXA+KGorcCklbTxcL3N1cD5iPHN1cD4oaytxKSVuPFwvc3VwPik8XC9wPlxyXG5cclxuPHA+RDxzdWI+NywyPFwvc3ViPlx1Yzc1OCBcdWI0NTAgXHVjNmQwXHVjMThjIChhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+KVx1YWNmYyAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPilcdWM3NDQgXHVjNjJjXHViYzE0XHViOTc0XHVhYzhjIFx1YWNmMVx1ZDU1OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHA+KGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGJhKShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KTxcL3A+XHJcblxyXG48cD5iYSA9IGE8c3VwPjY8XC9zdXA+Ylx1Yzc3NFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWM3MDRcdWM2NDAgXHVhYzE5XHVjNzc0IFx1YWNjNFx1YzBiMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWI2MTAsIGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD5hPHN1cD42PFwvc3VwPiA9IGE8c3VwPjM8XC9zdXA+YTxzdXA+NjxcL3N1cD4gPSBhPHN1cD4oMys2KSU3PFwvc3VwPiA9IGE8c3VwPjI8XC9zdXA+XHVjNzc0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgKGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pXHVjNzg0XHVjNzQ0IFx1YzU0YyBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NzQgXHVhY2M0XHVjMGIwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPihhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KS48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjODFjLCBcdWM3MDRcdWM3NTggXHVjMmRkXHVjNzQ0IFx1YzU0NFx1Yjc5OFx1YzY0MCBcdWFjMTlcdWM3NzQgXHViMmU0XHVjMmRjIFx1YWNjNFx1YzBiMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD4oYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYmEpKGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjg8XC9zdXA+YjxzdXA+MjxcL3N1cD4pID0gKGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4pPFwvcD5cclxuXHJcbjxwPlx1YjUzMFx1Yjc3Y1x1YzExYywgKGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pXHVhY2ZjIChhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KVx1Yzc0NCBcdWFjZjFcdWQ1NThcdWJhNzQgKGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4pXHVjNzc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+bVx1YWNmYyBuIFx1YWRmOFx1YjlhY1x1YWNlMCwgXHVjODE1XHVjNzc0XHViYTc0XHVjY2I0XHVhZDcwIEQ8c3ViPm0sbjxcL3N1Yj4gXHVjMGMxXHVjNzU4IFx1YjQ1MCBcdWM2ZDBcdWMxOGMgKGE8c3VwPmo8XC9zdXA+YjxzdXA+azxcL3N1cD4pXHVjNjQwIChhPHN1cD5wPFwvc3VwPmI8c3VwPnE8XC9zdXA+KVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWFjZjFcdWQ1NWMgXHVhY2IwXHVhY2ZjXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzQwIFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3NTggXHViYjM4XHVjODFjIFx1YzEzOFx1ZDJiOFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiBcdWFjMDEgXHViYjM4XHVjODFjIFx1YzEzOFx1ZDJiOFx1YjI5NCBcdWM3ODVcdWI4MjUgXHVjNWVjXHViN2VjIFx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1YmIzOFx1YzgxY0lEXHVjNjQwIG0sIG4scCBcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwLCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4gbVx1YWNmYyBuXHVjNzQwIDEwMDBcdWM3NDQgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWM4MTVcdWMyMThcdWM3NzRcdWFjZTAsIHBcdWIyOTQgXHVhZGY4IFx1YmIzOFx1YzgxYyBcdWMxMzhcdWQyYjhcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YWNmMVx1YzE0OCBcdWJiMzhcdWM4MWNcdWM3NTggXHVhYzFjXHVjMjE4XHVjNzc0XHViMmU0LiBcdWIyZTRcdWM3NGMgcFx1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhY2YxXHVjMTQ4IFx1YmIzOFx1YzgxY1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAsIEQ8c3ViPm0sbjxcL3N1Yj4gXHVjMGMxXHVjNzU4IFx1YjQ1MCBcdWM2ZDBcdWMxOGNcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDEgXHVjNmQwXHVjMThjXHViMjk0IGEzYjFcdWQ2MTVcdWMyZGRcdWM3NzRcdWIyZTQuIFx1YWMwMSBcdWJiMzhcdWM4MWMgXHVjMTM4XHVkMmI4XHVjNzU4IFx1YjJlNFx1Yzc0Y1x1YzVkMFx1YjI5NCBcdWJjMTRcdWI4NWMgXHViMmU0XHVjNzRjIFx1YmIzOFx1YzgxYyBcdWMxMzhcdWQyYjhcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWJiMzhcdWM4MWNJRFx1YWMwMCBaWlx1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVjNzg1XHViODI1XHVjNzU4IFx1YjA1ZFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxXHVhYzAxXHVjNzU4IFx1YWNmMVx1YzE0OCBcdWJiMzhcdWM4MWNcdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjLCBcdWIyZTRcdWM3NGNcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5Qcm9ibGVtSUQgaWQ6IGFqYmsgKiBhcGJxID0gYXJiczxcL3A+XHJcblxyXG48cD5pZFx1YjI5NCBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YmIzOFx1YzgxY0lELCBhamJrLCBhcGJxXHViMjk0IFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzQgXHViNDUwIFx1YzZkMFx1YzE4YywgYXJic1x1YjI5NCBcdWFjYjBcdWFjZmNcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiOTczNiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik11bHRpcGxpY2F0aW9uIGluIGEgRGloZWRyYWwgR3JvdXAiLCJkZXNjcmlwdGlvbiI6IjxwPkEgZGloZWRyYWwgZ3JvdXAgaXMgYSBzZXQgRCB3aXRoIGEgbXVsdGlwbGljYXRpb24gb3BlcmF0aW9uICogZGVmaW5lZCBvbiBELiBUaGUgc2V0IEQgaXMgZ2VuZXJhdGVkIGJ5IHR3byBlbGVtZW50cyBhIGFuZCBiLiBUaGUgbXVsdGlwbGljYXRpb24gb3BlcmF0aW9uICogd2lsbCBub3QgYmUgZXhwbGljaXRseSB3cml0dGVuLCBzbyB0aGF0IGEqYSB3aWxsIGJlIGluZGljYXRlZCBieSBhYSBvciBieSBhPHN1cD4yPFwvc3VwPi4gU2ltaWxhcmx5LCBhKmEqYiB3aWxsIGJlIGluZGljYXRlZCBieSBhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+IG9yIHNpbXBseSBhPHN1cD4yPFwvc3VwPmIuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlRoZSBkaWhlZHJhbCBncm91cCBEIGhhcyB0d28gaW50ZWdlciBwYXJhbWV0ZXJzIG0gYW5kIG4sIHdpdGggbSAmZ2U7IDIgYW5kIG4gJmdlOyAyLCBhbmQgc28gd2Ugd3JpdGUgdGhlIGRpaGVkcmFsIGdyb3VwIGFzIEQ8c3ViPm0sbjxcL3N1Yj4uIFRoZSByZWxhdGlvbnMgdGhhdCBkZWZpbmUgRDxzdWI+bSxuPFwvc3ViPiBhcmU6Jm5ic3A7PFwvcD5cclxuXHJcbjxwPmE8c3VwPm08XC9zdXA+Jm5ic3A7PSBhPHN1cD4wPFwvc3VwPiZuYnNwOz0gMSwgYjxzdXA+bjxcL3N1cD4mbmJzcDs9IGI8c3VwPjA8XC9zdXA+Jm5ic3A7PSAxLCBhbmQgYmEgPSBhPHN1cD4obS0xKTxcL3N1cD5iLjxcL3A+XHJcblxyXG48cD5UaHVzIEQ8c3ViPm0sbjxcL3N1Yj4gaGFzIChtbikgZWxlbWVudHMsIG5hbWVseSZuYnNwOzxcL3A+XHJcblxyXG48cD5EPHN1Yj5tLG48XC9zdWI+Jm5ic3A7PSB7YTxzdXA+ajxcL3N1cD5iayB8IDAgJmxlOyBqICZsdDsgbSwgMCAmbGU7IGsgJmx0OyBufSA9IHthPHN1cD4wPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4xPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4yPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCAuLi4sIGE8c3VwPihtLTEpPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCAuLi4sIGE8c3VwPihtLTEpPFwvc3VwPmI8c3VwPihuLTEpPFwvc3VwPn0uPFwvcD5cclxuXHJcbjxwPkZvciBleGFtcGxlLCBzZWxlY3QgbSA9IDcgYW5kIG4gPSAyLiBUaGUgZWxlbWVudHMgb2YgRDxzdWI+NywyPFwvc3ViPiBhcmU8XC9wPlxyXG5cclxuPHA+e2E8c3VwPjA8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjQ8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjU8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjY8XC9zdXA+YjxzdXA+MDxcL3N1cD4sIGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjQ8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjU8XC9zdXA+YjxzdXA+MTxcL3N1cD4sIGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD59LjxcL3A+XHJcblxyXG48cD5NdWx0aXBsaWNhdGlvbiBpcyBub3QgY29tbXV0YXRpdmUsIGFuZCBzbyBiYSAmbmU7IGFiLiBJbiBmYWN0IGJhID0gYTxzdXA+NjxcL3N1cD5iLCBhY2NvcmRpbmcgdG8gdGhlIGRlZmluaW5nIHJlbGF0aW9ucyBvZiBEPHN1Yj43LDI8XC9zdWI+LiBBbHNvLCBhPHN1cD5qPFwvc3VwPmE8c3VwPms8XC9zdXA+ID0gYTxzdXA+KGorayklbTxcL3N1cD4sIGFuZCBiPHN1cD5qPFwvc3VwPmI8c3VwPms8XC9zdXA+ID0gYjxzdXA+KGorayklbjxcL3N1cD4uIFRodXMmbmJzcDs8XC9wPlxyXG5cclxuPHA+KGE8c3VwPmo8XC9zdXA+YjxzdXA+azxcL3N1cD4pKGE8c3VwPnA8XC9zdXA+YjxzdXA+cTxcL3N1cD4pICZuZTsgKGE8c3VwPihqK3ApJW08XC9zdXA+YjxzdXA+KGsrcSklbjxcL3N1cD4pPFwvcD5cclxuXHJcbjxwPlRvIHByb3Blcmx5IG11bHRpcGx5IHRoZSB0d28gZWxlbWVudHMgKGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pIGFuZCAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikgb2YgRDxzdWI+NywyPFwvc3ViPiwgd2UgcHJvY2VlZCBhcyBmb2xsb3dzLCZuYnNwOzxcL3A+XHJcblxyXG48cD4oYTxzdXA+MzxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MzxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYmEpKGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4pPFwvcD5cclxuXHJcbjxwPnNpbmNlIGJhID0gYTxzdXA+NjxcL3N1cD5iLiZuYnNwOzxcL3A+XHJcblxyXG48cD5BbHNvLCBzaW5jZSBhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+YTxzdXA+NjxcL3N1cD4mbmJzcDs9IGE8c3VwPjM8XC9zdXA+YTxzdXA+NjxcL3N1cD4mbmJzcDs9IGE8c3VwPigzKzYpJTc8XC9zdXA+Jm5ic3A7PSBhPHN1cD4yPFwvc3VwPiwgd2UgY2FuIG11bHRpcGx5IHRoZSBmaXJzdCB0d28gZmFjdG9ycyBhbmQgZ2V0IChhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KS4gVGh1cyZuYnNwOzxcL3A+XHJcblxyXG48cD4oYTxzdXA+MzxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYTxzdXA+NjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikuPFwvcD5cclxuXHJcbjxwPk5vdyB3ZSBjYW4gcmV3cml0ZSB0aGlzIGFzIGZvbGxvd3MsJm5ic3A7PFwvcD5cclxuXHJcbjxwPihhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4yPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShiYSkoYTxzdXA+MDxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYTxzdXA+NjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MDxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+ODxcL3N1cD5iPHN1cD4yPFwvc3VwPikgPSAoYTxzdXA+MTxcL3N1cD5iPHN1cD4wPFwvc3VwPik8XC9wPlxyXG5cclxuPHA+VGh1cywgbXVsdGlwbHlpbmcgdGhlIHR3byBlbGVtZW50cyAoYTxzdXA+MzxcL3N1cD5iPHN1cD4xPFwvc3VwPikgYW5kIChhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSBnaXZlcywmbmJzcDsoYTxzdXA+MzxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MTxcL3N1cD5iPHN1cD4wPFwvc3VwPikuPFwvcD5cclxuXHJcbjxwPllvdXIgcHJvYmxlbSBpcyB0byB3cml0ZSBhIGNvbXB1dGVyIHByb2dyYW0sIGdpdmVuIG0sIG4sIGFuZCBhbnkgdHdvIGVsZW1lbnRzIChhPHN1cD5qPFwvc3VwPmI8c3VwPms8XC9zdXA+KSZuYnNwO2FuZCAoYTxzdXA+cDxcL3N1cD5iPHN1cD5xPFwvc3VwPikgb2YgdGhlIGRpaGVkcmFsIGdyb3VwIEQ8c3ViPm0sbjxcL3N1Yj4gdGhhdCBjb21wdXRlcyB0aGUgY29ycmVjdCBwcm9kdWN0IG9mIHRoZSB0d28uPFwvcD5cclxuXHJcbjxwPiZuYnNwOzxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGlucHV0IGNvbnNpc3RzIG9mIHNldmVyYWwgcHJvYmxlbSBzZXRzLiBFYWNoIHByb2JsZW0gc2V0IGNvbnNpc3RzIG9mIHNldmVyYWwgbGluZXMgb2YgaW5wdXQuIFRoZSBmaXJzdCBsaW5lIHdpbGwgY29udGFpbiB0aGUgcHJvYmxlbUlELCBtLCBuLCBhbmQgcCwgc2VwYXJhdGVkIGJ5IHNwYWNlcy4gVGhlIGludGVnZXJzIG0gYW5kIG4gd2lsbCBub3QgZXhjZWVkIDEwMDAgaW4gdmFsdWUuIFRoZSBudW1iZXIgcCBpcyB0aGUgbnVtYmVyIG9mIG11bHRpcGxpY2F0aW9uIHByb2JsZW1zIGZvciB0aGlzIHByb2JsZW0gc2V0LiBUaGUgZmlyc3QgbGluZSBpcyBmb2xsb3dlZCBieSBwIGxpbmVzIG9mIGlucHV0LCBlYWNoIGxpbmUgY29udGFpbmluZyB0d28gZWxlbWVudHMgb2YgRDxzdWI+bSxuPFwvc3ViPiB0byBtdWx0aXBseS4gRWFjaCBlbGVtZW50IHdpbGwgYmUgZ2l2ZW4gaW4gdGhlIGZvcm0gYTNiMSBpbnN0ZWFkIG9mIGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4uIERhdGEgZm9yIHRoZSBuZXh0IHByb2JsZW0gc2V0IHdpbGwgaW1tZWRpYXRlbHkgZm9sbG93IHRoZSBwcmV2aW91cyBwcm9ibGVtIHNldC4gQSBzZXQgcHJvYmxlbUlEIG9mICZsZHF1bztaWiZyZHF1bzsgd2lsbCBpbmRpY2F0ZSBlbmQgb2YgaW5wdXQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggbXVsdGlwbGljYXRpb24gcHJvYmxlbSwgcHJpbnQgb25lIGxpbmUgb2YgdGhlIGZvcm08XC9wPlxyXG5cclxuPHA+UHJvYmxlbUlEIGlkOiBhamJrICogYXBicSA9IGFyYnM8XC9wPlxyXG5cclxuPHA+d2hlcmUgaWQgaXMgdGhlIHByb2JsZW1JRCBnaXZlbiBpbiB0aGUgaW5wdXQsIGFqYmsgYW5kIGFwYnEgYXJlIHRoZSBlbGVtZW50cyB0byBtdWx0aXBseSwgYW5kIGFyYnMgaXMgdGhlIGNvcnJlY3QgYW5zd2VyLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==