시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
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+Ylx1Yzc3NCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHVjNzA0XHVjNjQwIFx1YWMxOVx1Yzc3NCBcdWFjYzRcdWMwYjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHViNjEwLCBhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+YTxzdXA+NjxcL3N1cD4gPSBhPHN1cD4zPFwvc3VwPmE8c3VwPjY8XC9zdXA+ID0gYTxzdXA+KDMrNiklNzxcL3N1cD4gPSBhPHN1cD4yPFwvc3VwPlx1Yzc3NFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIChhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KVx1Yzc4NFx1Yzc0NCBcdWM1NGMgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHViNTMwXHViNzdjXHVjMTFjLCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YWNjNFx1YzBiMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD4oYTxzdXA+MzxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYTxzdXA+NjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1YzgxYywgXHVjNzA0XHVjNzU4IFx1YzJkZFx1Yzc0NCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzc0IFx1YjJlNFx1YzJkYyBcdWFjYzRcdWMwYjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+KGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGJhKShhPHN1cD4wPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4yPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4wPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD44PFwvc3VwPmI8c3VwPjI8XC9zdXA+KSA9IChhPHN1cD4xPFwvc3VwPmI8c3VwPjA8XC9zdXA+KTxcL3A+XHJcblxyXG48cD5cdWI1MzBcdWI3N2NcdWMxMWMsIChhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+KVx1YWNmYyAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPilcdWM3NDQgXHVhY2YxXHVkNTU4XHViYTc0IChhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4xPFwvc3VwPmI8c3VwPjA8XC9zdXA+KVx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPm1cdWFjZmMgbiBcdWFkZjhcdWI5YWNcdWFjZTAsIFx1YzgxNVx1Yzc3NFx1YmE3NFx1Y2NiNFx1YWQ3MCBEPHN1Yj5tLG48XC9zdWI+IFx1YzBjMVx1Yzc1OCBcdWI0NTAgXHVjNmQwXHVjMThjIChhPHN1cD5qPFwvc3VwPmI8c3VwPms8XC9zdXA+KVx1YzY0MCAoYTxzdXA+cDxcL3N1cD5iPHN1cD5xPFwvc3VwPilcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHVhY2YxXHVkNTVjIFx1YWNiMFx1YWNmY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1YmIzOFx1YzgxYyBcdWMxMzhcdWQyYjhcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVhYzAxIFx1YmIzOFx1YzgxYyBcdWMxMzhcdWQyYjhcdWIyOTQgXHVjNzg1XHViODI1IFx1YzVlY1x1YjdlYyBcdWM5MDRcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJiMzhcdWM4MWNJRFx1YzY0MCBtLCBuLHAgXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljMFx1YmE3MCwgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuIG1cdWFjZmMgblx1Yzc0MCAxMDAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTQgXHVjODE1XHVjMjE4XHVjNzc0XHVhY2UwLCBwXHViMjk0IFx1YWRmOCBcdWJiMzhcdWM4MWMgXHVjMTM4XHVkMmI4XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWFjZjFcdWMxNDggXHViYjM4XHVjODFjXHVjNzU4IFx1YWMxY1x1YzIxOFx1Yzc3NFx1YjJlNC4gXHViMmU0XHVjNzRjIHBcdWFjMWMgXHVjOTA0XHVjNWQwXHViMjk0IFx1YWNmMVx1YzE0OCBcdWJiMzhcdWM4MWNcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwLCBEPHN1Yj5tLG48XC9zdWI+IFx1YzBjMVx1Yzc1OCBcdWI0NTAgXHVjNmQwXHVjMThjXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVhYzAxIFx1YzZkMFx1YzE4Y1x1YjI5NCBhM2IxXHVkNjE1XHVjMmRkXHVjNzc0XHViMmU0LiBcdWFjMDEgXHViYjM4XHVjODFjIFx1YzEzOFx1ZDJiOFx1Yzc1OCBcdWIyZTRcdWM3NGNcdWM1ZDBcdWIyOTQgXHViYzE0XHViODVjIFx1YjJlNFx1Yzc0YyBcdWJiMzhcdWM4MWMgXHVjMTM4XHVkMmI4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViYjM4XHVjODFjSURcdWFjMDAgWlpcdWM3NzggXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWIwNWRcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMVx1YWMwMVx1Yzc1OCBcdWFjZjFcdWMxNDggXHViYjM4XHVjODFjXHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYywgXHViMmU0XHVjNzRjXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+UHJvYmxlbUlEIGlkOiBhamJrICogYXBicSA9IGFyYnM8XC9wPlxyXG5cclxuPHA+aWRcdWIyOTQgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNCBcdWJiMzhcdWM4MWNJRCwgYWpiaywgYXBicVx1YjI5NCBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YjQ1MCBcdWM2ZDBcdWMxOGMsIGFyYnNcdWIyOTQgXHVhY2IwXHVhY2ZjXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6Ijk3MzYiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJNdWx0aXBsaWNhdGlvbiBpbiBhIERpaGVkcmFsIEdyb3VwIiwiZGVzY3JpcHRpb24iOiI8cD5BIGRpaGVkcmFsIGdyb3VwIGlzIGEgc2V0IEQgd2l0aCBhIG11bHRpcGxpY2F0aW9uIG9wZXJhdGlvbiAqIGRlZmluZWQgb24gRC4gVGhlIHNldCBEIGlzIGdlbmVyYXRlZCBieSB0d28gZWxlbWVudHMgYSBhbmQgYi4gVGhlIG11bHRpcGxpY2F0aW9uIG9wZXJhdGlvbiAqIHdpbGwgbm90IGJlIGV4cGxpY2l0bHkgd3JpdHRlbiwgc28gdGhhdCBhKmEgd2lsbCBiZSBpbmRpY2F0ZWQgYnkgYWEgb3IgYnkgYTxzdXA+MjxcL3N1cD4uIFNpbWlsYXJseSwgYSphKmIgd2lsbCBiZSBpbmRpY2F0ZWQgYnkgYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPiBvciBzaW1wbHkgYTxzdXA+MjxcL3N1cD5iLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgZGloZWRyYWwgZ3JvdXAgRCBoYXMgdHdvIGludGVnZXIgcGFyYW1ldGVycyBtIGFuZCBuLCB3aXRoIG0gJmdlOyAyIGFuZCBuICZnZTsgMiwgYW5kIHNvIHdlIHdyaXRlIHRoZSBkaWhlZHJhbCBncm91cCBhcyBEPHN1Yj5tLG48XC9zdWI+LiBUaGUgcmVsYXRpb25zIHRoYXQgZGVmaW5lIEQ8c3ViPm0sbjxcL3N1Yj4gYXJlOiZuYnNwOzxcL3A+XHJcblxyXG48cD5hPHN1cD5tPFwvc3VwPiZuYnNwOz0gYTxzdXA+MDxcL3N1cD4mbmJzcDs9IDEsIGI8c3VwPm48XC9zdXA+Jm5ic3A7PSBiPHN1cD4wPFwvc3VwPiZuYnNwOz0gMSwgYW5kIGJhID0gYTxzdXA+KG0tMSk8XC9zdXA+Yi48XC9wPlxyXG5cclxuPHA+VGh1cyBEPHN1Yj5tLG48XC9zdWI+IGhhcyAobW4pIGVsZW1lbnRzLCBuYW1lbHkmbmJzcDs8XC9wPlxyXG5cclxuPHA+RDxzdWI+bSxuPFwvc3ViPiZuYnNwOz0ge2E8c3VwPmo8XC9zdXA+YmsgfCAwICZsZTsgaiAmbHQ7IG0sIDAgJmxlOyBrICZsdDsgbn0gPSB7YTxzdXA+MDxcL3N1cD5iPHN1cD4wPFwvc3VwPiwgYTxzdXA+MTxcL3N1cD5iPHN1cD4wPFwvc3VwPiwgYTxzdXA+MjxcL3N1cD5iPHN1cD4wPFwvc3VwPiwgLi4uLCBhPHN1cD4obS0xKTxcL3N1cD5iPHN1cD4wPFwvc3VwPiwgLi4uLCBhPHN1cD4obS0xKTxcL3N1cD5iPHN1cD4obi0xKTxcL3N1cD59LjxcL3A+XHJcblxyXG48cD5Gb3IgZXhhbXBsZSwgc2VsZWN0IG0gPSA3IGFuZCBuID0gMi4gVGhlIGVsZW1lbnRzIG9mIEQ8c3ViPjcsMjxcL3N1Yj4gYXJlPFwvcD5cclxuXHJcbjxwPnthPHN1cD4wPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4xPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4yPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD40PFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD41PFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD42PFwvc3VwPmI8c3VwPjA8XC9zdXA+LCBhPHN1cD4wPFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD4yPFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD40PFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD41PFwvc3VwPmI8c3VwPjE8XC9zdXA+LCBhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+fS48XC9wPlxyXG5cclxuPHA+TXVsdGlwbGljYXRpb24gaXMgbm90IGNvbW11dGF0aXZlLCBhbmQgc28gYmEgJm5lOyBhYi4gSW4gZmFjdCBiYSA9IGE8c3VwPjY8XC9zdXA+YiwgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbmluZyByZWxhdGlvbnMgb2YgRDxzdWI+NywyPFwvc3ViPi4gQWxzbywgYTxzdXA+ajxcL3N1cD5hPHN1cD5rPFwvc3VwPiA9IGE8c3VwPihqK2spJW08XC9zdXA+LCBhbmQgYjxzdXA+ajxcL3N1cD5iPHN1cD5rPFwvc3VwPiA9IGI8c3VwPihqK2spJW48XC9zdXA+LiBUaHVzJm5ic3A7PFwvcD5cclxuXHJcbjxwPihhPHN1cD5qPFwvc3VwPmI8c3VwPms8XC9zdXA+KShhPHN1cD5wPFwvc3VwPmI8c3VwPnE8XC9zdXA+KSAmbmU7IChhPHN1cD4oaitwKSVtPFwvc3VwPmI8c3VwPihrK3EpJW48XC9zdXA+KTxcL3A+XHJcblxyXG48cD5UbyBwcm9wZXJseSBtdWx0aXBseSB0aGUgdHdvIGVsZW1lbnRzIChhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSBhbmQgKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pIG9mIEQ8c3ViPjcsMjxcL3N1Yj4sIHdlIHByb2NlZWQgYXMgZm9sbG93cywmbmJzcDs8XC9wPlxyXG5cclxuPHA+KGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGJhKShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KSA9IChhPHN1cD4zPFwvc3VwPmI8c3VwPjA8XC9zdXA+KShhPHN1cD42PFwvc3VwPmI8c3VwPjE8XC9zdXA+KShhPHN1cD4xPFwvc3VwPmI8c3VwPjE8XC9zdXA+KTxcL3A+XHJcblxyXG48cD5zaW5jZSBiYSA9IGE8c3VwPjY8XC9zdXA+Yi4mbmJzcDs8XC9wPlxyXG5cclxuPHA+QWxzbywgc2luY2UgYTxzdXA+MzxcL3N1cD5iPHN1cD4wPFwvc3VwPmE8c3VwPjY8XC9zdXA+Jm5ic3A7PSBhPHN1cD4zPFwvc3VwPmE8c3VwPjY8XC9zdXA+Jm5ic3A7PSBhPHN1cD4oMys2KSU3PFwvc3VwPiZuYnNwOz0gYTxzdXA+MjxcL3N1cD4sIHdlIGNhbiBtdWx0aXBseSB0aGUgZmlyc3QgdHdvIGZhY3RvcnMgYW5kIGdldCAoYTxzdXA+MzxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYTxzdXA+NjxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikuIFRodXMmbmJzcDs8XC9wPlxyXG5cclxuPHA+KGE8c3VwPjM8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjE8XC9zdXA+YjxzdXA+MTxcL3N1cD4pLjxcL3A+XHJcblxyXG48cD5Ob3cgd2UgY2FuIHJld3JpdGUgdGhpcyBhcyBmb2xsb3dzLCZuYnNwOzxcL3A+XHJcblxyXG48cD4oYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikoYTxzdXA+MTxcL3N1cD5iPHN1cD4xPFwvc3VwPikgPSAoYTxzdXA+MjxcL3N1cD5iPHN1cD4wPFwvc3VwPikoYmEpKGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjI8XC9zdXA+YjxzdXA+MDxcL3N1cD4pKGE8c3VwPjY8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjA8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjg8XC9zdXA+YjxzdXA+MjxcL3N1cD4pID0gKGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4pPFwvcD5cclxuXHJcbjxwPlRodXMsIG11bHRpcGx5aW5nIHRoZSB0d28gZWxlbWVudHMgKGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pIGFuZCAoYTxzdXA+MjxcL3N1cD5iPHN1cD4xPFwvc3VwPikgZ2l2ZXMsJm5ic3A7KGE8c3VwPjM8XC9zdXA+YjxzdXA+MTxcL3N1cD4pKGE8c3VwPjI8XC9zdXA+YjxzdXA+MTxcL3N1cD4pID0gKGE8c3VwPjE8XC9zdXA+YjxzdXA+MDxcL3N1cD4pLjxcL3A+XHJcblxyXG48cD5Zb3VyIHByb2JsZW0gaXMgdG8gd3JpdGUgYSBjb21wdXRlciBwcm9ncmFtLCBnaXZlbiBtLCBuLCBhbmQgYW55IHR3byBlbGVtZW50cyAoYTxzdXA+ajxcL3N1cD5iPHN1cD5rPFwvc3VwPikmbmJzcDthbmQgKGE8c3VwPnA8XC9zdXA+YjxzdXA+cTxcL3N1cD4pIG9mIHRoZSBkaWhlZHJhbCBncm91cCBEPHN1Yj5tLG48XC9zdWI+IHRoYXQgY29tcHV0ZXMgdGhlIGNvcnJlY3QgcHJvZHVjdCBvZiB0aGUgdHdvLjxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBjb25zaXN0cyBvZiBzZXZlcmFsIHByb2JsZW0gc2V0cy4gRWFjaCBwcm9ibGVtIHNldCBjb25zaXN0cyBvZiBzZXZlcmFsIGxpbmVzIG9mIGlucHV0LiBUaGUgZmlyc3QgbGluZSB3aWxsIGNvbnRhaW4gdGhlIHByb2JsZW1JRCwgbSwgbiwgYW5kIHAsIHNlcGFyYXRlZCBieSBzcGFjZXMuIFRoZSBpbnRlZ2VycyBtIGFuZCBuIHdpbGwgbm90IGV4Y2VlZCAxMDAwIGluIHZhbHVlLiBUaGUgbnVtYmVyIHAgaXMgdGhlIG51bWJlciBvZiBtdWx0aXBsaWNhdGlvbiBwcm9ibGVtcyBmb3IgdGhpcyBwcm9ibGVtIHNldC4gVGhlIGZpcnN0IGxpbmUgaXMgZm9sbG93ZWQgYnkgcCBsaW5lcyBvZiBpbnB1dCwgZWFjaCBsaW5lIGNvbnRhaW5pbmcgdHdvIGVsZW1lbnRzIG9mIEQ8c3ViPm0sbjxcL3N1Yj4gdG8gbXVsdGlwbHkuIEVhY2ggZWxlbWVudCB3aWxsIGJlIGdpdmVuIGluIHRoZSBmb3JtIGEzYjEgaW5zdGVhZCBvZiBhPHN1cD4zPFwvc3VwPmI8c3VwPjE8XC9zdXA+LiBEYXRhIGZvciB0aGUgbmV4dCBwcm9ibGVtIHNldCB3aWxsIGltbWVkaWF0ZWx5IGZvbGxvdyB0aGUgcHJldmlvdXMgcHJvYmxlbSBzZXQuIEEgc2V0IHByb2JsZW1JRCBvZiAmbGRxdW87WlomcmRxdW87IHdpbGwgaW5kaWNhdGUgZW5kIG9mIGlucHV0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIG11bHRpcGxpY2F0aW9uIHByb2JsZW0sIHByaW50IG9uZSBsaW5lIG9mIHRoZSBmb3JtPFwvcD5cclxuXHJcbjxwPlByb2JsZW1JRCBpZDogYWpiayAqIGFwYnEgPSBhcmJzPFwvcD5cclxuXHJcbjxwPndoZXJlIGlkIGlzIHRoZSBwcm9ibGVtSUQgZ2l2ZW4gaW4gdGhlIGlucHV0LCBhamJrIGFuZCBhcGJxIGFyZSB0aGUgZWxlbWVudHMgdG8gbXVsdGlwbHksIGFuZCBhcmJzIGlzIHRoZSBjb3JyZWN0IGFuc3dlci48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=