시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 47 13 10 37.037%

문제

sed는 입력으로 주어지는 문자열에 등장하는 문자열 α를 다른 문자열 β로 바꾸는데 사용되는 리눅스 유틸이다. 여기서 입력으로 주어지는 문자열은 파일의 각 한 줄이다. sed는 다음과 같은 2가지 과정을 거친다.

  1. 입력 문자열에서 겹치지 않는 α를 표시한다. 이때, α가 서로 겹칠 수는 있다. 만약, 겹치지 않게 선택하는 경우가 여러 가지 있을 때는 가장 왼쪽 것을 선택한다.
  2. 위에서 표시한 모둔 문자열 α를 문자열 β로 바꾼다. 나머지 문자는 바꾸지 않고 그대로 놔둔다.

예를 들어, α가 "aa"이고, β가 "bca", 입력 문자열이 "aaxaaa"라면 sed를 실행한 결과는 "bcaxbcaa"가 된다. ("aaxbcaa", "bcaxabca"는 될 수 없다) 이 결과 "bcaxbcaa"를 가지고 다시 sed를 실행하면 결과는 "bcaxbcbca"가 된다.

문자열을 바꾸는 규칙의 쌍 (αi, βi) (i = 1,2,...,n), 초기 문자열 γ, 최종 문자열 δ가 주어진다. 이때, sed를 이용해서 γ를 δ로 바꿀 때, 문자열 바꾸는 회수의 최솟값을 구하려고 한다.

하나의 규칙(αi, βi)은 위에서 설명한 것 같이, 입력 문자열에서 겹치지 않는 모든 부분 문자열 αi를 βi로 동시에 바꾸는 것을 의미한다.

한 규칙(αi, βi)을 여러번 사용해도 되고, 사용하지 않아도 된다.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 다음과 같은 형식이다.

n
α1 β1
α2 β2
...
αn βn
γ
δ

n은 문자열을 바꾸는 규칙의 쌍의 개수이다. αi와 βi는 공백으로 구분되어 있으며, 1 ≤ |αi| < |βi| ≤ 10을 만족한다. (|s|는 문자열 s의 길이) 모든 i≠j에 대해서 αi≠αj이며, n ≤ 10, 1 ≤ |γ| < |δ| ≤ 10 이다. 모든 문자열을 알파벳 소문자로만 이루어져 있고, 입력의 마지막 줄에는 0이 하나 주어진다.

출력

각 테스트 케이스에 대해서, γ를 δ로 바꿀 때 필요한 문자열 바꾸는 회수의 최솟값을 출력한다. 만약 γ를 δ로 바꿀 수 없다면, -1을 출력한다.

예제 입력 1

2
a bb
b aa
a
bbbbbbbb
1
a aa
a
aaaaa
3
ab aab
abc aadc
ad dee
abc
deeeeeeeec
10
a abc
b bai
c acf
d bed
e abh
f fag
g abe
h bag
i aaj
j bbb
a
abacfaabe
0

예제 출력 1

3
-1
7
4
W3sicHJvYmxlbV9pZCI6IjM4NzYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJzZWQgXHVjNzc0XHVjNmE5IiwiZGVzY3JpcHRpb24iOiI8cD5zZWRcdWIyOTQgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM1ZDAgXHViNGYxXHVjN2E1XHVkNTU4XHViMjk0IFx1YmIzOFx1Yzc5MFx1YzVmNCAmYWxwaGE7XHViOTdjIFx1YjJlNFx1Yjk3OCBcdWJiMzhcdWM3OTBcdWM1ZjQgJmJldGE7XHViODVjIFx1YmMxNFx1YWZiOFx1YjI5NFx1YjM3MCBcdWMwYWNcdWM2YTlcdWI0MThcdWIyOTQgXHViOWFjXHViMjA1XHVjMmE0IFx1YzcyMFx1ZDJmOFx1Yzc3NFx1YjJlNC4gXHVjNWVjXHVhZTMwXHVjMTFjIFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIFx1ZDMwY1x1Yzc3Y1x1Yzc1OCBcdWFjMDEgXHVkNTVjIFx1YzkwNFx1Yzc3NFx1YjJlNC4gc2VkXHViMjk0IFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgMlx1YWMwMFx1YzljMCBcdWFjZmNcdWM4MTVcdWM3NDQgXHVhYzcwXHVjZTVjXHViMmU0LjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1Yzc4NVx1YjgyNSBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM1ZDBcdWMxMWMgXHVhY2I5XHVjZTU4XHVjOWMwIFx1YzU0YVx1YjI5NCAmYWxwaGE7XHViOTdjIFx1ZDQ1Y1x1YzJkY1x1ZDU1Y1x1YjJlNC4gXHVjNzc0XHViNTRjLCAmYWxwaGE7XHVhYzAwIFx1YzExY1x1Yjg1YyBcdWFjYjlcdWNlNjAgXHVjMjE4XHViMjk0IFx1Yzc4OFx1YjJlNC4gXHViOWNjXHVjNTdkLCBcdWFjYjlcdWNlNThcdWM5YzAgXHVjNTRhXHVhYzhjIFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YjI5NCBcdWFjYmRcdWM2YjBcdWFjMDAgXHVjNWVjXHViN2VjIFx1YWMwMFx1YzljMCBcdWM3ODhcdWM3NDQgXHViNTRjXHViMjk0IFx1YWMwMFx1YzdhNSBcdWM2N2NcdWNhYmQgXHVhYzgzXHVjNzQ0IFx1YzEyMFx1ZDBkZFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjNzA0XHVjNWQwXHVjMTFjIFx1ZDQ1Y1x1YzJkY1x1ZDU1YyBcdWJhYThcdWI0NTQgXHViYjM4XHVjNzkwXHVjNWY0ICZhbHBoYTtcdWI5N2MgXHViYjM4XHVjNzkwXHVjNWY0ICZiZXRhO1x1Yjg1YyBcdWJjMTRcdWFmYmNcdWIyZTQuIFx1YjA5OFx1YmEzOFx1YzljMCBcdWJiMzhcdWM3OTBcdWIyOTQgXHViYzE0XHVhZmI4XHVjOWMwIFx1YzU0YVx1YWNlMCBcdWFkZjhcdWIzMDBcdWI4NWMgXHViMTk0XHViNDU0XHViMmU0LjxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsICZhbHBoYTtcdWFjMDAgJnF1b3Q7YWEmcXVvdDtcdWM3NzRcdWFjZTAsICZiZXRhO1x1YWMwMCAmcXVvdDtiY2EmcXVvdDssIFx1Yzc4NVx1YjgyNSBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgJnF1b3Q7YWF4YWFhJnF1b3Q7XHViNzdjXHViYTc0IHNlZFx1Yjk3YyBcdWMyZTRcdWQ1ODlcdWQ1NWMgXHVhY2IwXHVhY2ZjXHViMjk0ICZxdW90O2JjYXhiY2FhJnF1b3Q7XHVhYzAwIFx1YjQxY1x1YjJlNC4gKCZxdW90O2FheGJjYWEmcXVvdDssICZxdW90O2JjYXhhYmNhJnF1b3Q7XHViMjk0IFx1YjQyMCBcdWMyMTggXHVjNWM2XHViMmU0KSBcdWM3NzQgXHVhY2IwXHVhY2ZjICZxdW90O2JjYXhiY2FhJnF1b3Q7XHViOTdjIFx1YWMwMFx1YzljMFx1YWNlMCBcdWIyZTRcdWMyZGMgc2VkXHViOTdjIFx1YzJlNFx1ZDU4OVx1ZDU1OFx1YmE3NCBcdWFjYjBcdWFjZmNcdWIyOTQgJnF1b3Q7YmNheGJjYmNhJnF1b3Q7XHVhYzAwIFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYjM4XHVjNzkwXHVjNWY0XHVjNzQ0IFx1YmMxNFx1YWZiOFx1YjI5NCBcdWFkZGNcdWNlNTlcdWM3NTggXHVjMzBkICgmYWxwaGE7PHN1Yj5pPFwvc3ViPiwgJmJldGE7PHN1Yj5pPFwvc3ViPikgKGkgPSAxLDIsLi4uLG4pLCBcdWNkMDhcdWFlMzAgXHViYjM4XHVjNzkwXHVjNWY0ICZnYW1tYTssIFx1Y2Q1Y1x1Yzg4NSBcdWJiMzhcdWM3OTBcdWM1ZjQgJmRlbHRhO1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1Yzc3NFx1YjU0Yywgc2VkXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NFx1YzExYyAmZ2FtbWE7XHViOTdjICZkZWx0YTtcdWI4NWMgXHViYzE0XHVhZmMwIFx1YjU0YywgXHViYjM4XHVjNzkwXHVjNWY0IFx1YmMxNFx1YWZiOFx1YjI5NCBcdWQ2OGNcdWMyMThcdWM3NTggXHVjZDVjXHVjMTlmXHVhYzEyXHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWFkZGNcdWNlNTkoJmFscGhhOzxzdWI+aTxcL3N1Yj4sICZiZXRhOzxzdWI+aTxcL3N1Yj4pXHVjNzQwIFx1YzcwNFx1YzVkMFx1YzExYyBcdWMxMjRcdWJhODVcdWQ1NWMgXHVhYzgzIFx1YWMxOVx1Yzc3NCwgXHVjNzg1XHViODI1IFx1YmIzOFx1Yzc5MFx1YzVmNFx1YzVkMFx1YzExYyBcdWFjYjlcdWNlNThcdWM5YzAgXHVjNTRhXHViMjk0IFx1YmFhOFx1YjRlMCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0ICZhbHBoYTs8c3ViPmk8XC9zdWI+XHViOTdjICZiZXRhOzxzdWI+aTxcL3N1Yj5cdWI4NWMgXHViM2Q5XHVjMmRjXHVjNWQwIFx1YmMxNFx1YWZiOFx1YjI5NCBcdWFjODNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQ1NWMgXHVhZGRjXHVjZTU5KCZhbHBoYTs8c3ViPmk8XC9zdWI+LCAmYmV0YTs8c3ViPmk8XC9zdWI+KVx1Yzc0NCBcdWM1ZWNcdWI3ZWNcdWJjODggXHVjMGFjXHVjNmE5XHVkNTc0XHViM2M0IFx1YjQxOFx1YWNlMCwgXHVjMGFjXHVjNmE5XHVkNTU4XHVjOWMwIFx1YzU0YVx1YzU0NFx1YjNjNCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViMjk0IFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHVkNjE1XHVjMmRkXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cHJlPlxyXG5uXHJcbiZhbHBoYTs8c3ViPjE8XC9zdWI+ICZiZXRhOzxzdWI+MTxcL3N1Yj5cclxuJmFscGhhOzxzdWI+MjxcL3N1Yj4gJmJldGE7PHN1Yj4yPFwvc3ViPlxyXG4uLi5cclxuJmFscGhhOzxzdWI+bjxcL3N1Yj4gJmJldGE7PHN1Yj5uPFwvc3ViPlxyXG4mZ2FtbWE7XHJcbiZkZWx0YTs8XC9wcmU+XHJcblxyXG48cD5uXHVjNzQwIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWJjMTRcdWFmYjhcdWIyOTQgXHVhZGRjXHVjZTU5XHVjNzU4IFx1YzMwZFx1Yzc1OCBcdWFjMWNcdWMyMThcdWM3NzRcdWIyZTQuICZhbHBoYTs8c3ViPmk8XC9zdWI+XHVjNjQwICZiZXRhOzxzdWI+aTxcL3N1Yj5cdWIyOTQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1YjQxOFx1YzViNCBcdWM3ODhcdWM3M2NcdWJhNzAsIDEgJmxlOyB8JmFscGhhOzxzdWI+aTxcL3N1Yj58ICZsdDsgfCZiZXRhOzxzdWI+aTxcL3N1Yj58ICZsZTsgMTBcdWM3NDQgXHViOWNjXHVjODcxXHVkNTVjXHViMmU0LiAofHN8XHViMjk0IFx1YmIzOFx1Yzc5MFx1YzVmNCBzXHVjNzU4IFx1YWUzOFx1Yzc3NCkgXHViYWE4XHViNGUwIGkmbmU7alx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMgJmFscGhhOzxzdWI+aTxcL3N1Yj4mbmU7JmFscGhhOzxzdWI+ajxcL3N1Yj5cdWM3NzRcdWJhNzAsIG4gJmxlOyAxMCwgMSAmbGU7IHwmZ2FtbWE7fCAmbHQ7IHwmZGVsdGE7fCAmbGU7IDEwIFx1Yzc3NFx1YjJlNC4gXHViYWE4XHViNGUwIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMThjXHViYjM4XHVjNzkwXHViODVjXHViOWNjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWFjZTAsIFx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWI5YzhcdWM5YzBcdWI5YzkgXHVjOTA0XHVjNWQwXHViMjk0IDBcdWM3NzQgXHVkNTU4XHViMDk4IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMsICZnYW1tYTtcdWI5N2MgJmRlbHRhO1x1Yjg1YyBcdWJjMTRcdWFmYzAgXHViNTRjIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWJiMzhcdWM3OTBcdWM1ZjQgXHViYzE0XHVhZmI4XHViMjk0IFx1ZDY4Y1x1YzIxOFx1Yzc1OCBcdWNkNWNcdWMxOWZcdWFjMTJcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWI5Y2NcdWM1N2QgJmdhbW1hO1x1Yjk3YyAmZGVsdGE7XHViODVjIFx1YmMxNFx1YWZjMCBcdWMyMTggXHVjNWM2XHViMmU0XHViYTc0LCAtMVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMzg3NiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlJlcGVhdGVkIFN1YnN0aXR1dGlvbiB3aXRoIFNlZCIsImRlc2NyaXB0aW9uIjoiPHA+RG8geW91IGtub3cgJmxkcXVvO3NlZCwmcmRxdW87IGEgdG9vbCBwcm92aWRlZCB3aXRoIFVuaXg/IEl0cyBtb3N0IHBvcHVsYXIgdXNlIGlzIHRvIHN1YnN0aXR1dGUgZXZlcnkgb2NjdXJyZW5jZSBvZiBhIHN0cmluZyAmYWxwaGE7IGNvbnRhaW5lZCBpbiB0aGUgaW5wdXQgc3RyaW5nIChhY3R1YWxseSBlYWNoIGlucHV0IGxpbmUpIHdpdGggYW5vdGhlciBzdHJpbmcgJmJldGE7LiBNb3JlIHByZWNpc2VseSwgaXQgcHJvY2VlZHMgYXMgZm9sbG93cy48XC9wPlxyXG5cclxuPHA+V2l0aGluIHRoZSBpbnB1dCBzdHJpbmcsIGV2ZXJ5IG5vbi1vdmVybGFwcGluZyAoYnV0IHBvc3NpYmx5IGFkamFjZW50KSBvY2N1cnJlbmNlcyBvZiAmYWxwaGE7IGFyZSBtYXJrZWQuIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgcG9zc2liaWxpdHkgZm9yIG5vbi1vdmVybGFwcGluZyBtYXRjaGluZywgdGhlIGxlZnRtb3N0IG9uZSBpcyBjaG9zZW4uPGJyIFwvPlxyXG5FYWNoIG9mIHRoZSBtYXJrZWQgb2NjdXJyZW5jZXMgaXMgc3Vic3RpdHV0ZWQgd2l0aCAmYmV0YTsgdG8gb2J0YWluIHRoZSBvdXRwdXQgc3RyaW5nOyBvdGhlciBwYXJ0cyBvZiB0aGUgaW5wdXQgc3RyaW5nIHJlbWFpbiBpbnRhY3QuPFwvcD5cclxuXHJcbjxwPkZvciBleGFtcGxlLCB3aGVuICZhbHBoYTsgaXMgJmxkcXVvO2FhJnJkcXVvOyBhbmQgJmJldGE7IGlzICZsZHF1bztiY2EmcmRxdW87LCBhbiBpbnB1dCBzdHJpbmcgJmxkcXVvO2FheGFhYSZyZHF1bzsgd2lsbCBwcm9kdWNlICZsZHF1bztiY2F4YmNhYSZyZHF1bzssIGJ1dCBub3QgJmxkcXVvO2FheGJjYWEmcmRxdW87IG5vciAmbGRxdW87YmNheGFiY2EmcmRxdW87LiBGdXJ0aGVyIGFwcGxpY2F0aW9uIG9mIHRoZSBzYW1lIHN1YnN0aXR1dGlvbiB0byB0aGUgc3RyaW5nICZsZHF1bztiY2F4YmNhYSZyZHF1bzsgd2lsbCByZXN1bHQgaW4gJmxkcXVvO2JjYXhiY2JjYSZyZHF1bzssIGJ1dCB0aGlzIGlzIGFub3RoZXIgc3Vic3RpdHV0aW9uLCB3aGljaCBpcyBjb3VudGVkIGFzIHRoZSBzZWNvbmQgb25lLjxcL3A+XHJcblxyXG48cD5JbiB0aGlzIHByb2JsZW0sIGEgc2V0IG9mIHN1YnN0aXR1dGlvbiBwYWlycyAoJmFscGhhOzxzdWI+aTxcL3N1Yj4sICZiZXRhOzxzdWI+aTxcL3N1Yj4pIChpID0gMSwgMiwgLiAuIC4gLCBuKSwgYW4gaW5pdGlhbCBzdHJpbmcgJmdhbW1hOywgYW5kIGEgZmluYWwgc3RyaW5nICZkZWx0YTsgYXJlIGdpdmVuLCBhbmQgeW91IG11c3QgaW52ZXN0aWdhdGUgaG93IHRvIHByb2R1Y2UgJmRlbHRhOyBmcm9tICZnYW1tYTsgd2l0aCBhIG1pbmltdW0gbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMuIEEgc2luZ2xlIHN1YnN0aXR1dGlvbiAoJmFscGhhOzxzdWI+aTxcL3N1Yj4sICZiZXRhOzxzdWI+aTxcL3N1Yj4pIGhlcmUgbWVhbnMgc2ltdWx0YW5lb3VzbHkgc3Vic3RpdHV0aW5nIGFsbCB0aGUgbm9uLW92ZXJsYXBwaW5nIG9jY3VycmVuY2VzIG9mICZhbHBoYTs8c3ViPmk8XC9zdWI+LCBpbiB0aGUgc2Vuc2UgZGVzY3JpYmVkIGFib3ZlLCB3aXRoICZiZXRhOzxzdWI+aTxcL3N1Yj4uPFwvcD5cclxuXHJcbjxwPllvdSBtYXkgdXNlIGEgc3BlY2lcdWZiMDFjIHN1YnN0aXR1dGlvbiAoJmFscGhhOzxzdWI+aTxcL3N1Yj4sICZiZXRhOzxzdWI+aTxcL3N1Yj4pIG11bHRpcGxlIHRpbWVzLCBpbmNsdWRpbmcgemVybyB0aW1lcy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBjb25zaXN0cyBvZiBtdWx0aXBsZSBkYXRhc2V0cywgZWFjaCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdC48XC9wPlxyXG5cclxuPHByZT5cclxublxyXG4mYWxwaGE7PHN1Yj4xPFwvc3ViPiAmYmV0YTs8c3ViPjE8XC9zdWI+XHJcbiZhbHBoYTs8c3ViPjI8XC9zdWI+ICZiZXRhOzxzdWI+MjxcL3N1Yj5cclxuLi4uXHJcbiZhbHBoYTs8c3ViPm48XC9zdWI+ICZiZXRhOzxzdWI+bjxcL3N1Yj5cclxuJmdhbW1hO1xyXG4mZGVsdGE7PFwvcHJlPlxyXG5cclxuPHA+biBpcyBhIHBvc2l0aXZlIGludGVnZXIgaW5kaWNhdGluZyB0aGUgbnVtYmVyIG9mIHBhaXJzLiAmYWxwaGE7aSBhbmQgJmJldGE7aSBhcmUgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLiBZb3UgbWF5IGFzc3VtZSB0aGF0IDEgJmxlOyB8JmFscGhhOzxzdWI+aTxcL3N1Yj58ICZsdDsgfCZiZXRhOzxzdWI+aTxcL3N1Yj58ICZsZTsgMTAgZm9yIGFueSBpICh8c3wgbWVhbnMgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHMpLCAmYWxwaGE7PHN1Yj5pPFwvc3ViPiAmbmU7ICZhbHBoYTs8c3ViPmo8XC9zdWI+IGZvciBhbnkgaSAmbmU7IGosIG4gJmxlOyAxMCBhbmQgMSAmbGU7IHwmZ2FtbWE7fCAmbHQ7IHwmZGVsdGE7fCAmbGU7IDEwLiBBbGwgdGhlIHN0cmluZ3MgY29uc2lzdCBzb2xlbHkgb2YgbG93ZXJjYXNlIGxldHRlcnMuIFRoZSBlbmQgb2YgdGhlIGlucHV0IGlzIGluZGljYXRlZCBieSBhIGxpbmUgY29udGFpbmluZyBhIHNpbmdsZSB6ZXJvLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIGRhdGFzZXQsIG91dHB1dCB0aGUgbWluaW11bSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyB0byBvYnRhaW4gJmRlbHRhOyBmcm9tICZnYW1tYTsuIElmICZkZWx0YTsgY2Fubm90IGJlIHByb2R1Y2VkIGZyb20gJmdhbW1hOyB3aXRoIHRoZSBnaXZlbiBzZXQgb2Ygc3Vic3RpdHV0aW9ucywgb3V0cHV0IC0xLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==