시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 32 18 6 60.000%

문제

선영이는 대형 병원에서 사용하는 인사 관리 프로그램을 만들고 있다. 가장 먼저 만들고 있는 부분은 직원들의 휴가 관리 프로그램이다.

병원에서 일하는 간호사는 두 종류가 있다. 일반 간호사는 입원해 있는 환자를 간호하는 간호사이고, 특수 간호사는 "수술 간호사", "간호부장"과 같이 특별히 맡은 자리가 있는 간호사이다.

일반 간호사가 휴가를 갔을 때는 다른 간호사가 그 간호사의 업무를 대신해 주면 되기 때문에, 큰 문제가 생기지 않는다. 하지만, 특수 간호사는 반드시 대체자가 있어야지만 휴가를 갈 수 있다. 따라서, 모든 특수 간호사는 자신을 대체할 수 있는 간호사의 목록을 가지고 있다. 만약, 대체 간호사도 특수 간호사인 경우에는 그 대체 간호사도 대체할 간호사를 찾아야 한다. 가끔, 특수 간호사는 대체를 할 수 없어서 휴가를 갈 수 없는 경우도 있다.

아래와 같은 예를 보자. 이 병원에는 총 일곱 명의 간호사가 있다. Alice, Bob, Clara, Dona, Emma는 특수 간호사이고, Fiona, Gloria는 일반 간호사이다. 누가 누구를 대체할 수 있는지는 아래 그림에 화살표로 나타나있다. (A에서 B로 가는 화살표는 A가 B를 대체할 수 있다는 의미)

위의 예제에서 Dona와 Emma는 휴가를 절대로 갈 수 없다. 그 이유는 서로가 서로를 대체하기 때문에, 한 명이 휴가를 갔을 때, 휴가를 가지 않은 한 사람이 두 업무를 동시에 맡을 수 없기 때문이다. Alice, Bob, Clara는 휴가에 갈 수 있다. 하지만, Gloria는 동시에 Bob과 Clara를 대체할 수 없기 때문에, Bob과 Clara는 동시에 휴가를 갈 수 없다.

간호사의 정보가 주어졌을 때, 휴가를 절대로 갈 수 없는 간호사와 휴가를 갈 수는 있지만, 동시에 휴가를 갈 수 없는 간호사의 쌍을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 간호사의 수 n과 특수 간호사의 수 k가 주어진다. 간호사 1번부터 k번까지는 특수 간호사, k+1번부터 n번까지는 일반 간호사이다. (1 ≤ k < n ≤ 1000)

다음 k개 줄에는 가능한 대체 정보가 주어진다. (i+1)번째 줄의 첫 번째 숫자는 i번 간호사를 대체할 수 있는 간호사의 수 di이다. 다음 di개의 숫자는 그 간호사를 대체할 수 있는 간호사의 번호이다. 전체 리스트의 길이는 10,000을 넘지 않는다.

출력

첫째 줄에 절대로 휴가를 갈 수 없는 간호사의 수를 출력하고, 다음 줄에는 그러한 간호사의 번호를 모두 출력한다.

다음 줄에는 휴가를 갈 수는 있지만, 동시에 휴가를 갈 수 없는 간호사 쌍의 수를 출력한다. 만약, 쌍의 수가 10,000보다 작거나 같다면, 다음 줄부터 한 줄에 하나씩 그러한 쌍을 출력한다. (쌍 (A,B)와 (B,A)는 같은 쌍이다)

예제 입력 1

7 5
2 6 7
1 7
2 2 7
1 5
1 4

예제 출력 1

2
4 5
3
2 3
2 7
3 7
W3sicHJvYmxlbV9pZCI6Ijc3NzciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJjZDFcdWM2ZDAiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzEyMFx1YzYwMVx1Yzc3NFx1YjI5NCBcdWIzMDBcdWQ2MTUgXHViY2QxXHVjNmQwXHVjNWQwXHVjMTFjIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YjI5NCBcdWM3NzhcdWMwYWMgXHVhZDAwXHViOWFjIFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWI5Y2NcdWI0ZTRcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWFjMDBcdWM3YTUgXHViYTNjXHVjODAwIFx1YjljY1x1YjRlNFx1YWNlMCBcdWM3ODhcdWIyOTQgXHViZDgwXHViZDg0XHVjNzQwIFx1YzljMVx1YzZkMFx1YjRlNFx1Yzc1OCBcdWQ3MzRcdWFjMDAgXHVhZDAwXHViOWFjIFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViY2QxXHVjNmQwXHVjNWQwXHVjMTFjIFx1Yzc3Y1x1ZDU1OFx1YjI5NCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWIyOTQgXHViNDUwIFx1Yzg4NVx1Yjk1OFx1YWMwMCBcdWM3ODhcdWIyZTQuIFx1Yzc3Y1x1YmMxOCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWIyOTQgXHVjNzg1XHVjNmQwXHVkNTc0IFx1Yzc4OFx1YjI5NCBcdWQ2NThcdWM3OTBcdWI5N2MgXHVhYzA0XHVkNjM4XHVkNTU4XHViMjk0IFx1YWMwNFx1ZDYzOFx1YzBhY1x1Yzc3NFx1YWNlMCwgXHVkMmI5XHVjMjE4IFx1YWMwNFx1ZDYzOFx1YzBhY1x1YjI5NCAmcXVvdDtcdWMyMThcdWMyMjAgXHVhYzA0XHVkNjM4XHVjMGFjJnF1b3Q7LCAmcXVvdDtcdWFjMDRcdWQ2MzhcdWJkODBcdWM3YTUmcXVvdDtcdWFjZmMgXHVhYzE5XHVjNzc0IFx1ZDJiOVx1YmNjNFx1ZDc4OCBcdWI5ZTFcdWM3NDAgXHVjNzkwXHViOWFjXHVhYzAwIFx1Yzc4OFx1YjI5NCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3Y1x1YmMxOCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWFjMDAgXHVkNzM0XHVhYzAwXHViOTdjIFx1YWMxNFx1Yzc0NCBcdWI1NGNcdWIyOTQgXHViMmU0XHViOTc4IFx1YWMwNFx1ZDYzOFx1YzBhY1x1YWMwMCBcdWFkZjggXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YzVjNVx1YmIzNFx1Yjk3YyBcdWIzMDBcdWMyZTBcdWQ1NzQgXHVjOGZjXHViYTc0IFx1YjQxOFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1ZDA3MCBcdWJiMzhcdWM4MWNcdWFjMDAgXHVjMGRkXHVhZTMwXHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjLCBcdWQyYjlcdWMyMTggXHVhYzA0XHVkNjM4XHVjMGFjXHViMjk0IFx1YmMxOFx1YjRkY1x1YzJkYyBcdWIzMDBcdWNjYjRcdWM3OTBcdWFjMDAgXHVjNzg4XHVjNWI0XHVjNTdjXHVjOWMwXHViOWNjIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHViNTMwXHViNzdjXHVjMTFjLCBcdWJhYThcdWI0ZTAgXHVkMmI5XHVjMjE4IFx1YWMwNFx1ZDYzOFx1YzBhY1x1YjI5NCBcdWM3OTBcdWMyZTBcdWM3NDQgXHViMzAwXHVjY2I0XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YmFhOVx1Yjg1ZFx1Yzc0NCBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWI5Y2NcdWM1N2QsIFx1YjMwMFx1Y2NiNCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWIzYzQgXHVkMmI5XHVjMjE4IFx1YWMwNFx1ZDYzOFx1YzBhY1x1Yzc3OCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHVhZGY4IFx1YjMwMFx1Y2NiNCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWIzYzQgXHViMzAwXHVjY2I0XHVkNTYwIFx1YWMwNFx1ZDYzOFx1YzBhY1x1Yjk3YyBcdWNjM2VcdWM1NDRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWFjMDBcdWIwNTQsIFx1ZDJiOVx1YzIxOCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWIyOTQgXHViMzAwXHVjY2I0XHViOTdjIFx1ZDU2MCBcdWMyMTggXHVjNWM2XHVjNWI0XHVjMTFjIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4IFx1YzVjNlx1YjI5NCBcdWFjYmRcdWM2YjBcdWIzYzQgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzQwIFx1YzYwOFx1Yjk3YyBcdWJjZjRcdWM3OTAuIFx1Yzc3NCBcdWJjZDFcdWM2ZDBcdWM1ZDBcdWIyOTQgXHVjZDFkIFx1Yzc3Y1x1YWNmMSBcdWJhODVcdWM3NTggXHVhYzA0XHVkNjM4XHVjMGFjXHVhYzAwIFx1Yzc4OFx1YjJlNC4gQWxpY2UsIEJvYiwgQ2xhcmEsIERvbmEsIEVtbWFcdWIyOTQgXHVkMmI5XHVjMjE4IFx1YWMwNFx1ZDYzOFx1YzBhY1x1Yzc3NFx1YWNlMCwgRmlvbmEsIEdsb3JpYVx1YjI5NCBcdWM3N2NcdWJjMTggXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzc0XHViMmU0LiBcdWIyMDRcdWFjMDAgXHViMjA0XHVhZDZjXHViOTdjIFx1YjMwMFx1Y2NiNFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0XHVjOWMwXHViMjk0IFx1YzU0NFx1Yjc5OCBcdWFkZjhcdWI5YmNcdWM1ZDAgXHVkNjU0XHVjMGI0XHVkNDVjXHViODVjIFx1YjA5OFx1ZDBjMFx1YjA5OFx1Yzc4OFx1YjJlNC4gKEFcdWM1ZDBcdWMxMWMgQlx1Yjg1YyBcdWFjMDBcdWIyOTQgXHVkNjU0XHVjMGI0XHVkNDVjXHViMjk0IEFcdWFjMDAgQlx1Yjk3YyBcdWIzMDBcdWNjYjRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNFx1YjI5NCBcdWM3NThcdWJiZjgpPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvbnVyc2UucG5nXCIgc3R5bGU9XCJoZWlnaHQ6OTJweDsgd2lkdGg6NDM0cHhcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVjNzA0XHVjNzU4IFx1YzYwOFx1YzgxY1x1YzVkMFx1YzExYyBEb25hXHVjNjQwIEVtbWFcdWIyOTQgXHVkNzM0XHVhYzAwXHViOTdjIFx1YzgwOFx1YjMwMFx1Yjg1YyBcdWFjMDggXHVjMjE4IFx1YzVjNlx1YjJlNC4gXHVhZGY4IFx1Yzc3NFx1YzcyMFx1YjI5NCBcdWMxMWNcdWI4NWNcdWFjMDAgXHVjMTFjXHViODVjXHViOTdjIFx1YjMwMFx1Y2NiNFx1ZDU1OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1ZDU1YyBcdWJhODVcdWM3NzQgXHVkNzM0XHVhYzAwXHViOTdjIFx1YWMxNFx1Yzc0NCBcdWI1NGMsIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDBcdWM5YzAgXHVjNTRhXHVjNzQwIFx1ZDU1YyBcdWMwYWNcdWI3OGNcdWM3NzQgXHViNDUwIFx1YzVjNVx1YmIzNFx1Yjk3YyBcdWIzZDlcdWMyZGNcdWM1ZDAgXHViOWUxXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWFlMzAgXHViNTRjXHViYjM4XHVjNzc0XHViMmU0LiBBbGljZSwgQm9iLCBDbGFyYVx1YjI5NCBcdWQ3MzRcdWFjMDBcdWM1ZDAgXHVhYzA4IFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1ZDU1OFx1YzljMFx1YjljYywgR2xvcmlhXHViMjk0IFx1YjNkOVx1YzJkY1x1YzVkMCBCb2JcdWFjZmMgQ2xhcmFcdWI5N2MgXHViMzAwXHVjY2I0XHVkNTYwIFx1YzIxOCBcdWM1YzZcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBCb2JcdWFjZmMgQ2xhcmFcdWIyOTQgXHViM2Q5XHVjMmRjXHVjNWQwIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4IFx1YzVjNlx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YzgxNVx1YmNmNFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWQ3MzRcdWFjMDBcdWI5N2MgXHVjODA4XHViMzAwXHViODVjIFx1YWMwOCBcdWMyMTggXHVjNWM2XHViMjk0IFx1YWMwNFx1ZDYzOFx1YzBhY1x1YzY0MCBcdWQ3MzRcdWFjMDBcdWI5N2MgXHVhYzA4IFx1YzIxOFx1YjI5NCBcdWM3ODhcdWM5YzBcdWI5Y2MsIFx1YjNkOVx1YzJkY1x1YzVkMCBcdWQ3MzRcdWFjMDBcdWI5N2MgXHVhYzA4IFx1YzIxOCBcdWM1YzZcdWIyOTQgXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YzMwZFx1Yzc0NCBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YzIxOCBuXHVhY2ZjIFx1ZDJiOVx1YzIxOCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWM3NTggXHVjMjE4IGtcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDRcdWQ2MzhcdWMwYWMgMVx1YmM4OFx1YmQ4MFx1ZDEzMCBrXHViYzg4XHVhZTRjXHVjOWMwXHViMjk0IFx1ZDJiOVx1YzIxOCBcdWFjMDRcdWQ2MzhcdWMwYWMsIGsrMVx1YmM4OFx1YmQ4MFx1ZDEzMCBuXHViYzg4XHVhZTRjXHVjOWMwXHViMjk0IFx1Yzc3Y1x1YmMxOCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWM3NzRcdWIyZTQuICgxICZsZTsgayAmbHQ7IG4gJmxlOyAxMDAwKTxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMga1x1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAwXHViMmE1XHVkNTVjIFx1YjMwMFx1Y2NiNCBcdWM4MTVcdWJjZjRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoaSsxKVx1YmM4OFx1YzlmOCBcdWM5MDRcdWM3NTggXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWMyMmJcdWM3OTBcdWIyOTQgaVx1YmM4OCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWI5N2MgXHViMzAwXHVjY2I0XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YzIxOCBkPHN1Yj5pPFwvc3ViPlx1Yzc3NFx1YjJlNC4gXHViMmU0XHVjNzRjIGQ8c3ViPmk8XC9zdWI+XHVhYzFjXHVjNzU4IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWFkZjggXHVhYzA0XHVkNjM4XHVjMGFjXHViOTdjIFx1YjMwMFx1Y2NiNFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YWMwNFx1ZDYzOFx1YzBhY1x1Yzc1OCBcdWJjODhcdWQ2MzhcdWM3NzRcdWIyZTQuIFx1YzgwNFx1Y2NiNCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NTggXHVhZTM4XHVjNzc0XHViMjk0IDEwLDAwMFx1Yzc0NCBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjODA4XHViMzAwXHViODVjIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4IFx1YzVjNlx1YjI5NCBcdWFjMDRcdWQ2MzhcdWMwYWNcdWM3NTggXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YWNlMCwgXHViMmU0XHVjNzRjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFkZjhcdWI3ZWNcdWQ1NWMgXHVhYzA0XHVkNjM4XHVjMGFjXHVjNzU4IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWJhYThcdWI0NTAgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4XHViMjk0IFx1Yzc4OFx1YzljMFx1YjljYywgXHViM2Q5XHVjMmRjXHVjNWQwIFx1ZDczNFx1YWMwMFx1Yjk3YyBcdWFjMDggXHVjMjE4IFx1YzVjNlx1YjI5NCBcdWFjMDRcdWQ2MzhcdWMwYWMgXHVjMzBkXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCwgXHVjMzBkXHVjNzU4IFx1YzIxOFx1YWMwMCAxMCwwMDBcdWJjZjRcdWIyZTQgXHVjNzkxXHVhYzcwXHViMDk4IFx1YWMxOVx1YjJlNFx1YmE3NCwgXHViMmU0XHVjNzRjIFx1YzkwNFx1YmQ4MFx1ZDEzMCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWFkZjhcdWI3ZWNcdWQ1NWMgXHVjMzBkXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gKFx1YzMwZCAoQSxCKVx1YzY0MCAoQixBKVx1YjI5NCBcdWFjMTlcdWM3NDAgXHVjMzBkXHVjNzc0XHViMmU0KTxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6Ijc3NzciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJIb3NwaXRhbCIsImRlc2NyaXB0aW9uIjoiPHA+WW91IGFyZSB3cml0aW5nIGEgcGVyc29ubmVsIG1hbmFnZW1lbnQgdG9vbCBmb3IgYSBsYXJnZSBob3NwaXRhbC4gT25lIG9mIHRoZSBwcm9ibGVtcyBpcyBtYW5hZ2luZyB0aGUgdmFjYXRpb24gcGxhbnMgb2YgZW1wbG95ZWVzLjxcL3A+XHJcblxyXG48cD5UaGVyZSBhcmUgdHdvIHR5cGVzIG9mIG51cnNlcyB3b3JraW5nIGluIHRoZSBob3NwaXRhbDogc3RhXHVmYjAwIG51cnNlcyBjb250aW51b3VzbHkgdGFrZSBjYXJlIG9mIHRoZSBwYXRpZW50cyBhbmQgc3BlY2lhbCBudXJzZXMgXHVmYjAxbGwgc3BlY2lhbCBwb3NpdGlvbnMgbGlrZSAmbGRxdW87c3VyZ2ljYWwgbnVyc2UmcmRxdW87IG9yICZsZHF1bztudXJzZSBzdXBlcnZpc29yJnJkcXVvOy4gV2hlbiBhIHN0YVx1ZmIwMCBudXJzZSBnb2VzIG9uIHZhY2F0aW9uLCBub3RoaW5nIGNyaXRpY2FsIGhhcHBlbnMsIGJlY2F1c2Ugb3RoZXIgbnVyc2VzIHdpbGwgZG8gaGVyIHdvcmsuIEJ1dCB3aGVuIHNwZWNpYWwgbnVyc2UgZ29lcyBvbiB2YWNhdGlvbiwgc2hlIG11c3QgYmUgc3Vic3RpdHV0ZWQuIEZvciBldmVyeSBzcGVjaWFsIG51cnNlIHRoZXJlIGlzIGEgbGlzdCBvZiBudXJzZXMsIHdobyBjYW4gc3Vic3RpdHV0ZSBoZXIuIElmIHRoZSBzdWJzdGl0dXRpbmcgbnVyc2UgaXMgYSBzcGVjaWFsIG51cnNlIHRvbywgdGhlbiBzb21lIHRoaXJkIG51cnNlIG11c3Qgc3Vic3RpdHV0ZSBoZXIgYXMgd2VsbCwgYW5kIHNvIG9uLiBTb21ldGltZXMgaXQgaXMgaW1wb3NzaWJsZSBmb3Igc3BlY2lhbCBudXJzZSB0byBnbyBvbiB2YWNhdGlvbiwgYmVjYXVzZSB0aGVyZSBpcyBubyBzZXF1ZW5jZSBvZiBzdWJzdGl0dXRpb25zLCBhZnRlciB0aGF0IGFsbCBzcGVjaWFsIG51cnNlIHBvc2l0aW9ucyBhcmUgXHVmYjAxbGxlZC48XC9wPlxyXG5cclxuPHA+Q29uc2lkZXIgdGhlIGZvbGxvd2luZyBleGFtcGxlLiBUaGVyZSBhcmUgc2V2ZW4gbnVyc2VzIGluIGEgaG9zcGl0YWwuIEFsaWNlLCBCb2IsIENsYXJhLCBEb25hIGFuZCBFbW1hIGFyZSBzcGVjaWFsIG51cnNlcywgRmlvbmEgYW5kIEdsb3JpYSBhcmUgc3RhXHVmYjAwIG51cnNlcy4gVGhleSBjYW4gc3Vic3RpdHV0ZSBlYWNoIG90aGVyIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHNjaGVtZSAoYXJyb3cgZnJvbSBBIHRvIEIgbWVhbnMgQSBjYW4gc3Vic3RpdHV0ZSBCKTo8XC9wPlxyXG5cclxuPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC9udXJzZS5wbmdcIiBzdHlsZT1cImhlaWdodDo5MnB4OyB3aWR0aDo0MzRweFwiIFwvPjxcL3A+XHJcblxyXG48cD5JbiB0aGlzIGV4YW1wbGUsIERvbmEgYW5kIEVtbWEgY2Fubm90IGdvIG9uIHZhY2F0aW9uLCBiZWNhdXNlIGlmIG9uZSBvZiB0aGVtIGRvZXMsIGFub3RoZXIgY2Fubm90IFx1ZmIwMWxsIGJvdGggcG9zaXRpb25zLiBBbGljZSwgQm9iIGFuZCBDbGFyYSBjYW4gZ28gb24gdmFjYXRpb24sIGJ1dCBCb2IgYW5kIENsYXJhIGNhbm5vdCBkbyBpdCBhdCB0aGUgc2FtZSB0aW1lLCBiZWNhdXNlIEdsb3JpYSBjYW5ub3Qgc3Vic3RpdHV0ZSB0aGVtIGJvdGggc2ltdWx0YW5lb3VzbHkuPFwvcD5cclxuXHJcbjxwPllvdXIgdGFzayBpcyB0byBcdWZiMDFuZCBhbGwgbnVyc2VzIHdobyBjYW5ub3QgZ28gb24gdmFjYXRpb24sIGFuZCBhbGwgcGFpcnMgb2YgbnVyc2VzLCBzdWNoIHRoYXQgYm90aCBjYW4gZ28gb24gdmFjYXRpb24sIGJ1dCBub3QgaW4gdGhlIHNhbWUgdGltZS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBcdWZiMDFyc3QgbGluZSBvZiB0aGUgaW5wdXQgXHVmYjAxbGUgY29udGFpbnMgdHdvIGludGVnZXIgbnVtYmVycyBuIGFuZCBrICZtZGFzaDsgdGhlIHRvdGFsIG51bWJlciBvZiBudXJzZXMgYW5kIG51bWJlciBvZiBzcGVjaWFsIG51cnNlcy4gTnVyc2VzIDEgLi4uIGsgYXJlIHNwZWNpYWwgbnVyc2VzLCBhbmQgbnVyc2VzIGsgKyAxIC4uLiBuIGFyZSBzdGFcdWZiMDAgbnVyc2VzICgxICZsZTsgayAmbHQ7IG4gJmxlOyAxMDAwKS4gTmV4dCBrIGxpbmVzIGNvbnRhaW4gdGhlIGxpc3RzIG9mIHBvc3NpYmxlIHN1YnN0aXR1dGlvbnMuIFRoZSBcdWZiMDFyc3QgbnVtYmVyIGluIChpKzEpLXRoIGxpbmUgaXMgZDxzdWI+aTxcL3N1Yj4gJm1kYXNoOyB0aGUgbnVtYmVyIG9mIG51cnNlcywgd2hvIGNhbiBzdWJzdGl0dXRlIGktdGggbnVyc2UuIEZvbGxvd2luZyBkPHN1Yj5pPFwvc3ViPiBudW1iZXJzIGluIHRoZSBzYW1lIGxpbmUgYXJlIHRoZSBpbmRpY2VzIG9mIHN1YnN0aXR1dGluZyBudXJzZXMuIFRoZSB0b3RhbCBsZW5ndGggb2YgYWxsIGxpc3RzIGRvZXMgbm90IGV4Y2VlZCAxMCAwMDAuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rmlyc3Qgb3V0cHV0IHRoZSBudW1iZXIgb2YgbnVyc2VzIHdobyBjYW5ub3QgZ28gb24gdmFjYXRpb24uIFRoZW4gb3V0cHV0IHRoZWlyIGluZGljZXMuPFwvcD5cclxuXHJcbjxwPkFmdGVyIHRoYXQsIG91dHB1dCB0aGUgbnVtYmVyIG9mIHBhaXJzIG9mIG51cnNlcywgc3VjaCB0aGF0IGJvdGggY2FuIGdvIG9uIHZhY2F0aW9uLCBidXQgbm90IGF0IHRoZSBzYW1lIHRpbWUuIEZpbmFsbHksIGlmIHRoZSBudW1iZXIgb2Ygc3VjaCBwYWlycyBpcyBub3QgZ3JlYXRlciB0aGVuIDEwIDAwMCwgb3V0cHV0IGFsbCB0aGVzZSBwYWlycyAocGFpcnMgKEEsJm5ic3A7QikgYW5kIChCLCZuYnNwO0EpIGFyZSBjb25zaWRlcmVkIGVxdWFsKS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=