시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 512 MB203524524.457%

문제

성렬이는 자기가 사는 집의 벽을 칠한지 한참 되었기 때문에 다시 칠하려고 한다. 벽은 N개의 구간으로 되어 있는데, 0부터 N − 1까지 번호가 매겨져 있다. 이 문제에서, K 가지 다른 색깔이 있고 이 색을 각각 0 이상 K − 1 이하인 정수로 표현하자 (예를 들면, 붉은 색은 0, 파란 색은 1, 등등 같은 식으로) 성렬이는 벽의 i 번째 구간을 색깔 C[i]로 칠하려고 한다.

성렬이는 벽 칠해주는 회사에 이 일을 맡기기로 했는데, 이 회사에는 M 명의 일꾼이 있고 각 일꾼은 0 부터 M − 1 까지 번호가 매겨져 있다. 불행히도, 일꾼들은 자기가 좋아하는 색만 칠하려고 한다. 구체적으로는, j 번 일꾼은 A[j] 개의 색을 좋아하고, 색 B[j][0], 색 B[j][1], …, 색 B[j][A[j] − 1] 중 하나로만 구간을 칠한다.

성렬이는 벽 칠해주는 회사에 여러 번 지령을 보낼 수 있다. 성렬이가 회사에 보내는 지령 하나는 두 파라미터 x와 y로 이루어지는데, 0 ≤ x < M이고 0 ≤ yN − M이다. 모든 0 ≤ l < M에 대해서 회사는 ((x + l) mod M)번 일꾼 에게 (y + l) 번째 구간을 칠하게 시킨다. 만약 어떤 l 값에서 ((x + l) mod M)번 일꾼이 색 C[y + l]을 좋아하지 않는 경우가 있다면, 이 지령은 무효가 된다.

성렬이는 지령 하나를 보낼 때마다 돈을 내야 하기 때문에, 가능하다면 벽의 모든 구간을 원하는 색깔로 칠하는 명령의 최소 횟수, 또는 원하는 색깔로 벽을 칠할 수 없다는 것을 알고 싶다. 동일한 구간을 여러번 칠할 수 있지만, 항상 원하는 색깔로 칠해야 한다.

할 일

다음 minimumInstructions 함수를 구현해야 한다.

  • minimumInstructions(N, M, K, C, A, B) - 이 함수는 그레이더에 의해 정확하게 한 번 호출된다.
    • N: 구간의 수를 나타내는 정수.
    • M: 일꾼의 수를 나타내는 정수.
    • K: 색의 수를 나타내는 정수.
    • C: 길이 N인 정수 배열로 각 구간마다 원하는 색깔을 나타낸다.
    • A: 길이 M인 정수 배열로 각 일꾼이 좋아하는 색의 수을 나타낸다.
    • B: 길이 M인 정수 배열들의 배열로 각 일꾼이 좋아하는 색을 나타낸다.
    • 이 함수의 리턴 값은 성렬이가 모든 구간을 원하는 색으로 칠하기 위해 필요한 지령의 최소 개수이다. 만약 이렇게 칠하는 것이 불가능하다면 -1을 리턴한다.

예제

첫번째 예제에서, N = 8, M = 3, K = 5, C = [3, 3, 1, 3, 4, 4, 2, 2], A = [3, 2, 2], B = [[0, 1, 2], [2, 3], [3, 4]]이다. 성렬이는 다음과 같은 지령을 내릴 수 있다.  

  1. x = 1, y = 0. 1번 일꾼이 0번 구간을 칠할 수 있고, 2번 일꾼이 1번 구간을 칠할 수 있고, 0번 일꾼이 2번 구간을 칠할 수 있으므로 이 지령은 타당하다.  
  2. x = 0, y = 2. 0번 일꾼이 2번 구간을 칠할 수 있고, 1번 일꾼이 3번 구간을 칠할 수 있고, 2번 일꾼이 4번 구간을 칠할 수 있으므로 이 지령은 타당하다.  
  3. x = 2, y = 5. 2번 일꾼이 5번 구간을 칠할 수 있고, 0번 일꾼이 6번 구간을 칠할 수 있고, 1번 일꾼이 7번 구간을 칠할 수 있으므로 이 지령은 타당하다.

성렬이가 3개보다 적은 지령으로 모든 구간을 원하는 색깔로 칠할 수 없다는 것을 쉽게 보일 수 있기 때문에, minimumInstructions(8, 3, 5, [3, 3, 1, 3, 4, 4, 2, 2], [3, 2, 2], [[0, 1, 2], [2, 3], [3, 4]])의 리턴값은 3이어야 한다.

두번째 예제에서, N = 5, M = 4, K = 4, C = [1, 0, 1, 2, 2], A = [2, 1, 1, 1], B = [[0, 1], [1], [2], [3]]이다. 3번 일꾼은 색 3만 좋아하는데 색 3으로 칠할 구간이 없기 때문에, 성렬이가 어떤 지령을 내리더라도 무효가 된다. 따라서, minimumInstructions(5, 4, 4, [1, 0, 1, 2, 2], [2, 1, 1, 1], [[0, 1], [1], [2], [3]])의 리턴값은 -1이어야 한다.

제한

0 ≤ k < K에 대해서, f(k)가 j번 일꾼이 색 k를 좋아하는 j의 개수라고 하자. (즉, 색 k를 좋아하는 일꾼의 수이다.) 예를 들어, 만약 f(1) = 2이라면, 색 1을 좋아하는 일꾼이 둘 있다.

  • 1 ≤ N ≤ 100000.
  • 1 ≤ M ≤ min(N, 50000).
  • 1 ≤ K ≤ 100000.
  • 0 ≤ C[i] < K.
  • 1 ≤ A[j] ≤ K.
  • 0 ≤ B[j][0] < B[j][1] < … < B[j][A[j] − 1] < K.
  • f(k)2 ≤ 400000.

서브태스크 1 (12점)

  • f(k) ≤ 1.

서브태스크 2 (15점)

  • N ≤ 500.
  • M ≤ min(N, 200).
  • f(k)2 ≤ 1000.

서브태스크 3 (13점)

  • N ≤ 500.
  • M ≤ min(N, 200).

서브태스크 4 (23점)

  • N ≤ 20000.
  • M ≤ min(N, 2000).

서브태스크 5 (37점)

  • 추가적인 제약 조건이 없다.
W3sicHJvYmxlbV9pZCI6IjE5NjE4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHViY2JkIFx1Y2U2MFx1ZDU1OFx1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjMTMxXHViODJjXHVjNzc0XHViMjk0IFx1Yzc5MFx1YWUzMFx1YWMwMCBcdWMwYWNcdWIyOTQmbmJzcDtcdWM5ZDFcdWM3NTggXHViY2JkXHVjNzQ0IFx1Y2U2MFx1ZDU1Y1x1YzljMCBcdWQ1NWNcdWNjMzggXHViNDE4XHVjNWM4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWIyZTRcdWMyZGMgXHVjZTYwXHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHViY2JkXHVjNzQwJm5ic3A7PGVtPk48XC9lbT5cdWFjMWNcdWM3NTggXHVhZDZjXHVhYzA0XHVjNzNjXHViODVjIFx1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTRcdWIzNzAsJm5ic3A7MFx1YmQ4MFx1ZDEzMCZuYnNwOzxlbT5OPFwvZW0+Jm5ic3A7Jm1pbnVzOyAxXHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LiBcdWM3NzQgXHViYjM4XHVjODFjXHVjNWQwXHVjMTFjLCZuYnNwOzxlbT5LPFwvZW0+IFx1YWMwMFx1YzljMCBcdWIyZTRcdWI5NzggXHVjMGM5XHVhZTU0XHVjNzc0IFx1Yzc4OFx1YWNlMCBcdWM3NzQgXHVjMGM5XHVjNzQ0IFx1YWMwMVx1YWMwMSZuYnNwOzAmbmJzcDtcdWM3NzRcdWMwYzEgPGVtPks8XC9lbT4mbmJzcDsmbWludXM7IDEmbmJzcDtcdWM3NzRcdWQ1NThcdWM3NzggXHVjODE1XHVjMjE4XHViODVjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1Yzc5MCAoXHVjNjA4XHViOTdjIFx1YjRlNFx1YmE3NCwgXHViZDg5XHVjNzQwIFx1YzBjOVx1Yzc0MCAwLCBcdWQzMGNcdWI3ODAgXHVjMGM5XHVjNzQwIDEsIFx1YjRmMVx1YjRmMSBcdWFjMTlcdWM3NDAgXHVjMmRkXHVjNzNjXHViODVjKSBcdWMxMzFcdWI4MmNcdWM3NzRcdWIyOTQgXHViY2JkXHVjNzU4Jm5ic3A7PGVtPmk8XC9lbT4gXHViYzg4XHVjOWY4IFx1YWQ2Y1x1YWMwNFx1Yzc0NCBcdWMwYzlcdWFlNTQgPGVtPkM8XC9lbT5bPGVtPmk8XC9lbT5dXHViODVjIFx1Y2U2MFx1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzEzMVx1YjgyY1x1Yzc3NFx1YjI5NCBcdWJjYmQgXHVjZTYwXHVkNTc0XHVjOGZjXHViMjk0IFx1ZDY4Y1x1YzBhY1x1YzVkMCBcdWM3NzQgXHVjNzdjXHVjNzQ0IFx1YjllMVx1YWUzMFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyOTRcdWIzNzAsIFx1Yzc3NCBcdWQ2OGNcdWMwYWNcdWM1ZDBcdWIyOTQmbmJzcDs8ZW0+TTxcL2VtPiZuYnNwO1x1YmE4NVx1Yzc1OCBcdWM3N2NcdWFmYmNcdWM3NzQgXHVjNzg4XHVhY2UwIFx1YWMwMSBcdWM3N2NcdWFmYmNcdWM3NDAmbmJzcDswJm5ic3A7XHViZDgwXHVkMTMwIDxlbT5NPFwvZW0+Jm5ic3A7Jm1pbnVzOyAxJm5ic3A7XHVhZTRjXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LiBcdWJkODhcdWQ1ODlcdWQ3ODhcdWIzYzQsIFx1Yzc3Y1x1YWZiY1x1YjRlNFx1Yzc0MCBcdWM3OTBcdWFlMzBcdWFjMDAgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YzBjOVx1YjljYyBcdWNlNjBcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWFkNmNcdWNjYjRcdWM4MDFcdWM3M2NcdWI4NWNcdWIyOTQsJm5ic3A7PGVtPmo8XC9lbT4mbmJzcDtcdWJjODggXHVjNzdjXHVhZmJjXHVjNzQwIDxlbT5BPFwvZW0+WzxlbT5qPFwvZW0+XSZuYnNwO1x1YWMxY1x1Yzc1OCBcdWMwYzlcdWM3NDQgXHVjODhiXHVjNTQ0XHVkNTU4XHVhY2UwLCZuYnNwO1x1YzBjOSA8ZW0+QjxcL2VtPls8ZW0+ajxcL2VtPl1bMF0sIFx1YzBjOSA8ZW0+QjxcL2VtPls8ZW0+ajxcL2VtPl1bMV0sICZoZWxsaXA7LCBcdWMwYzkgPGVtPkI8XC9lbT5bPGVtPmo8XC9lbT5dWzxlbT5BPFwvZW0+WzxlbT5qPFwvZW0+XSAmbWludXM7IDFdJm5ic3A7XHVjOTExIFx1ZDU1OFx1YjA5OFx1Yjg1Y1x1YjljYyBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjZTYwXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMxMzFcdWI4MmNcdWM3NzRcdWIyOTQgXHViY2JkIFx1Y2U2MFx1ZDU3NFx1YzhmY1x1YjI5NCBcdWQ2OGNcdWMwYWNcdWM1ZDAgXHVjNWVjXHViN2VjIFx1YmM4OCBcdWM5YzBcdWI4MzlcdWM3NDQgXHViY2Y0XHViMGJjIFx1YzIxOCZuYnNwO1x1Yzc4OFx1YjJlNC4gXHVjMTMxXHViODJjXHVjNzc0XHVhYzAwIFx1ZDY4Y1x1YzBhY1x1YzVkMCBcdWJjZjRcdWIwYjRcdWIyOTQgXHVjOWMwXHViODM5IFx1ZDU1OFx1YjA5OFx1YjI5NCZuYnNwO1x1YjQ1MCBcdWQzMGNcdWI3N2NcdWJiZjhcdWQxMzAgPGVtPng8XC9lbT5cdWM2NDAmbmJzcDs8ZW0+eTxcL2VtPlx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzBcdWIyOTRcdWIzNzAsIDAgJmxlOyA8ZW0+eDxcL2VtPiZuYnNwOyZsdDsgPGVtPk08XC9lbT5cdWM3NzRcdWFjZTAgMCAmbGU7IDxlbT55PFwvZW0+ICZsZTsgPGVtPk48XC9lbT4mbmJzcDsmbWludXM7Jm5ic3A7PGVtPk08XC9lbT5cdWM3NzRcdWIyZTQuIFx1YmFhOFx1YjRlMCAwICZsZTsgPGVtPmw8XC9lbT4gJmx0OyA8ZW0+TTxcL2VtPlx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMgXHVkNjhjXHVjMGFjXHViMjk0Jm5ic3A7KCg8ZW0+eDxcL2VtPiZuYnNwOysmbmJzcDs8ZW0+bDxcL2VtPikgbW9kIDxlbT5NPFwvZW0+KVx1YmM4OCBcdWM3N2NcdWFmYmMgXHVjNWQwXHVhYzhjJm5ic3A7KDxlbT55PFwvZW0+Jm5ic3A7KyZuYnNwOzxlbT5sPFwvZW0+KSBcdWJjODhcdWM5ZjggXHVhZDZjXHVhYzA0XHVjNzQ0IFx1Y2U2MFx1ZDU1OFx1YWM4YyBcdWMyZGNcdWQwYThcdWIyZTQuIFx1YjljY1x1YzU3ZCBcdWM1YjRcdWI1YTQgPGVtPmw8XC9lbT4mbmJzcDtcdWFjMTJcdWM1ZDBcdWMxMWMgKCg8ZW0+eDxcL2VtPiArIDxlbT5sPFwvZW0+KSBtb2QgPGVtPk08XC9lbT4pXHViYzg4IFx1Yzc3Y1x1YWZiY1x1Yzc3NCBcdWMwYzkgPGVtPkM8XC9lbT5bPGVtPnk8XC9lbT4gKyA8ZW0+bDxcL2VtPl1cdWM3NDQgXHVjODhiXHVjNTQ0XHVkNTU4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWFjYmRcdWM2YjBcdWFjMDAmbmJzcDtcdWM3ODhcdWIyZTRcdWJhNzQsIFx1Yzc3NCBcdWM5YzBcdWI4MzlcdWM3NDAgXHViYjM0XHVkNmE4XHVhYzAwIFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMTMxXHViODJjXHVjNzc0XHViMjk0IFx1YzljMFx1YjgzOSBcdWQ1NThcdWIwOThcdWI5N2MgXHViY2Y0XHViMGJjIFx1YjU0Y1x1YjljOFx1YjJlNCBcdWIzYzhcdWM3NDQgXHViMGI0XHVjNTdjIFx1ZDU1OFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNFx1YmE3NCBcdWJjYmRcdWM3NTggXHViYWE4XHViNGUwIFx1YWQ2Y1x1YWMwNFx1Yzc0NCBcdWM2ZDBcdWQ1NThcdWIyOTQgXHVjMGM5XHVhZTU0XHViODVjIFx1Y2U2MFx1ZDU1OFx1YjI5NCBcdWJhODVcdWI4MzlcdWM3NTggXHVjZDVjXHVjMThjIFx1ZDY5Zlx1YzIxOCwgXHViNjEwXHViMjk0IFx1YzZkMFx1ZDU1OFx1YjI5NCBcdWMwYzlcdWFlNTRcdWI4NWMgXHViY2JkXHVjNzQ0IFx1Y2U2MFx1ZDU2MCBcdWMyMTggXHVjNWM2XHViMmU0XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWM1NGNcdWFjZTAgXHVjMmY2XHViMmU0LiBcdWIzZDlcdWM3N2NcdWQ1NWMgXHVhZDZjXHVhYzA0XHVjNzQ0IFx1YzVlY1x1YjdlY1x1YmM4OCBcdWNlNjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YzljMFx1YjljYywgXHVkNTZkXHVjMGMxIFx1YzZkMFx1ZDU1OFx1YjI5NCBcdWMwYzlcdWFlNTRcdWI4NWMgXHVjZTYwXHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IiIsIm91dHB1dCI6IiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsImxpbWl0IjoiPHA+MCAmbGU7IDxlbT5rPFwvZW0+ICZsdDsgPGVtPks8XC9lbT5cdWM1ZDAgXHViMzAwXHVkNTc0XHVjMTFjLCA8ZW0+ZjxcL2VtPig8ZW0+azxcL2VtPilcdWFjMDAmbmJzcDs8ZW0+ajxcL2VtPlx1YmM4OCBcdWM3N2NcdWFmYmNcdWM3NzQgXHVjMGM5Jm5ic3A7PGVtPms8XC9lbT5cdWI5N2MgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0Jm5ic3A7PGVtPmo8XC9lbT5cdWM3NTggXHVhYzFjXHVjMjE4XHViNzdjXHVhY2UwIFx1ZDU1OFx1Yzc5MC4gKFx1Yzk4OSwgXHVjMGM5Jm5ic3A7PGVtPms8XC9lbT5cdWI5N2MgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1Yzc3Y1x1YWZiY1x1Yzc1OCBcdWMyMThcdWM3NzRcdWIyZTQuKSZuYnNwO1x1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFx1YjljY1x1YzU3ZCZuYnNwOzxlbT5mPFwvZW0+KDEpID0gMlx1Yzc3NFx1Yjc3Y1x1YmE3NCwgXHVjMGM5Jm5ic3A7MVx1Yzc0NCBcdWM4OGJcdWM1NDRcdWQ1NThcdWIyOTQgXHVjNzdjXHVhZmJjXHVjNzc0IFx1YjQ1OCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+MSAmbGU7IDxlbT5OPFwvZW0+ICZsZTsgMTAwMDAwLjxcL2xpPlxyXG5cdDxsaT4xICZsZTsgPGVtPk08XC9lbT4gJmxlOyBtaW4oPGVtPk48XC9lbT4sIDUwMDAwKS48XC9saT5cclxuXHQ8bGk+MSAmbGU7IDxlbT5LPFwvZW0+ICZsZTsgMTAwMDAwLjxcL2xpPlxyXG5cdDxsaT4wICZsZTsgPGVtPkM8XC9lbT5bPGVtPmk8XC9lbT5dICZsdDsgPGVtPks8XC9lbT4uPFwvbGk+XHJcblx0PGxpPjEgJmxlOyA8ZW0+QTxcL2VtPls8ZW0+ajxcL2VtPl0gJmxlOyA8ZW0+SzxcL2VtPi48XC9saT5cclxuXHQ8bGk+MCAmbGU7IDxlbT5CPFwvZW0+WzxlbT5qPFwvZW0+XVswXSAmbHQ7IDxlbT5CPFwvZW0+WzxlbT5qPFwvZW0+XVsxXSAmbHQ7ICZoZWxsaXA7ICZsdDsgPGVtPkI8XC9lbT5bPGVtPmo8XC9lbT5dWzxlbT5BPFwvZW0+WzxlbT5qPFwvZW0+XSAmbWludXM7IDFdICZsdDsgSy48XC9saT5cclxuXHQ8bGk+JnN1bTs8ZW0+ZjxcL2VtPig8ZW0+azxcL2VtPik8c3VwPjI8XC9zdXA+Jm5ic3A7JmxlOyA0MDAwMDAuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMSI6Ijx1bD5cclxuXHQ8bGk+PGVtPmY8XC9lbT4oPGVtPms8XC9lbT4pICZsZTsgMS48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2syIjoiPHVsPlxyXG5cdDxsaT48ZW0+TjxcL2VtPiAmbGU7IDUwMC48XC9saT5cclxuXHQ8bGk+PGVtPk08XC9lbT4gJmxlOyBtaW4oPGVtPk48XC9lbT4sIDIwMCkuPFwvbGk+XHJcblx0PGxpPiZzdW07PGVtPmY8XC9lbT4oPGVtPms8XC9lbT4pPHN1cD4yPFwvc3VwPiAmbGU7IDEwMDAuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMyI6Ijx1bD5cclxuXHQ8bGk+PGVtPk48XC9lbT4gJmxlOyA1MDAuPFwvbGk+XHJcblx0PGxpPjxlbT5NPFwvZW0+ICZsZTsgbWluKDxlbT5OPFwvZW0+LCAyMDApLjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazQiOiI8dWw+XHJcblx0PGxpPjxlbT5OPFwvZW0+ICZsZTsgMjAwMDAuPFwvbGk+XHJcblx0PGxpPjxlbT5NPFwvZW0+ICZsZTsgbWluKDxlbT5OPFwvZW0+LCAyMDAwKS48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2s1IjoiPHVsPlxyXG5cdDxsaT5cdWNkOTRcdWFjMDBcdWM4MDFcdWM3NzggXHVjODFjXHVjNTdkIFx1Yzg3MFx1YWM3NFx1Yzc3NCBcdWM1YzZcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fZnVuY3Rpb24iOiI8cD5cdWIyZTRcdWM3NGMmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zPFwvY29kZT4mbmJzcDtcdWQ1NjhcdWMyMThcdWI5N2MgXHVhZDZjXHVkNjA0XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT48Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zKE4sIE0sIEssIEMsIEEsIEIpPFwvY29kZT4gLSBcdWM3NzQgXHVkNTY4XHVjMjE4XHViMjk0IFx1YWRmOFx1YjgwOFx1Yzc3NFx1YjM1NFx1YzVkMCBcdWM3NThcdWQ1NzQgXHVjODE1XHVkNjU1XHVkNTU4XHVhYzhjIFx1ZDU1YyBcdWJjODggXHVkNjM4XHVjZDljXHViNDFjXHViMmU0LlxyXG5cclxuXHQ8dWw+XHJcblx0XHQ8bGk+PGVtPk48XC9lbT46IFx1YWQ2Y1x1YWMwNFx1Yzc1OCBcdWMyMThcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YzgxNVx1YzIxOC48XC9saT5cclxuXHRcdDxsaT48ZW0+TTxcL2VtPjogXHVjNzdjXHVhZmJjXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHVjODE1XHVjMjE4LjxcL2xpPlxyXG5cdFx0PGxpPjxlbT5LPFwvZW0+OiBcdWMwYzlcdWM3NTggXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBcdWM4MTVcdWMyMTguPFwvbGk+XHJcblx0XHQ8bGk+PGVtPkM8XC9lbT46IFx1YWUzOFx1Yzc3NCZuYnNwOzxlbT5OPFwvZW0+XHVjNzc4IFx1YzgxNVx1YzIxOCBcdWJjMzBcdWM1ZjRcdWI4NWMgXHVhYzAxIFx1YWQ2Y1x1YWMwNFx1YjljOFx1YjJlNCBcdWM2ZDBcdWQ1NThcdWIyOTQgXHVjMGM5XHVhZTU0XHVjNzQ0IFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9saT5cclxuXHRcdDxsaT48ZW0+QTxcL2VtPjogXHVhZTM4XHVjNzc0Jm5ic3A7PGVtPk08XC9lbT5cdWM3NzggXHVjODE1XHVjMjE4IFx1YmMzMFx1YzVmNFx1Yjg1YyBcdWFjMDEgXHVjNzdjXHVhZmJjXHVjNzc0IFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NCBcdWMwYzlcdWM3NTggXHVjMjE4XHVjNzQ0IFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9saT5cclxuXHRcdDxsaT48ZW0+QjxcL2VtPjogXHVhZTM4XHVjNzc0Jm5ic3A7PGVtPk08XC9lbT5cdWM3NzggXHVjODE1XHVjMjE4IFx1YmMzMFx1YzVmNFx1YjRlNFx1Yzc1OCBcdWJjMzBcdWM1ZjRcdWI4NWMgXHVhYzAxIFx1Yzc3Y1x1YWZiY1x1Yzc3NCBcdWM4OGJcdWM1NDRcdWQ1NThcdWIyOTQgXHVjMGM5XHVjNzQ0IFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9saT5cclxuXHRcdDxsaT5cdWM3NzQgXHVkNTY4XHVjMjE4XHVjNzU4IFx1YjlhY1x1ZDEzNCBcdWFjMTJcdWM3NDAgXHVjMTMxXHViODJjXHVjNzc0XHVhYzAwIFx1YmFhOFx1YjRlMCBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjNmQwXHVkNTU4XHViMjk0IFx1YzBjOVx1YzczY1x1Yjg1YyBcdWNlNjBcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0IFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWM5YzBcdWI4MzlcdWM3NTggXHVjZDVjXHVjMThjIFx1YWMxY1x1YzIxOFx1Yzc3NFx1YjJlNC4gXHViOWNjXHVjNTdkIFx1Yzc3NFx1YjgwN1x1YWM4YyBcdWNlNjBcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzc0IFx1YmQ4OFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNFx1YmE3NCZuYnNwOy0xXHVjNzQ0IFx1YjlhY1x1ZDEzNFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcbiIsImN1c3RvbV9leGFtcGxlIjoiPHA+XHVjY2FiXHViYzg4XHVjOWY4IFx1YzYwOFx1YzgxY1x1YzVkMFx1YzExYywmbmJzcDs8ZW0+TjxcL2VtPiA9IDgsJm5ic3A7PGVtPk08XC9lbT4gPSAzLCZuYnNwOzxlbT5LPFwvZW0+ID0gNSwmbmJzcDs8ZW0+QzxcL2VtPiA9IFszLCAzLCAxLCAzLCA0LCA0LCAyLCAyXSwmbmJzcDs8ZW0+QTxcL2VtPiA9IFszLCAyLCAyXSwmbmJzcDs8ZW0+QjxcL2VtPiA9IFtbMCwgMSwgMl0sIFsyLCAzXSwgWzMsIDRdXVx1Yzc3NFx1YjJlNC4gXHVjMTMxXHViODJjXHVjNzc0XHViMjk0IFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHVjOWMwXHViODM5XHVjNzQ0IFx1YjBiNFx1YjliNCBcdWMyMTggXHVjNzg4XHViMmU0LiZuYnNwOyZuYnNwOzxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMSwmbmJzcDs8ZW0+eTxcL2VtPiA9IDAuIDFcdWJjODggXHVjNzdjXHVhZmJjXHVjNzc0IDBcdWJjODggXHVhZDZjXHVhYzA0XHVjNzQ0IFx1Y2U2MFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwLCAyXHViYzg4IFx1Yzc3Y1x1YWZiY1x1Yzc3NCAxXHViYzg4IFx1YWQ2Y1x1YWMwNFx1Yzc0NCBcdWNlNjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YWNlMCwgMFx1YmM4OCBcdWM3N2NcdWFmYmNcdWM3NzQgMlx1YmM4OCBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjZTYwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMgXHVjNzc0IFx1YzljMFx1YjgzOVx1Yzc0MCBcdWQwYzBcdWIyZjlcdWQ1NThcdWIyZTQuJm5ic3A7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMCwmbmJzcDs8ZW0+eTxcL2VtPiA9IDIuIDBcdWJjODggXHVjNzdjXHVhZmJjXHVjNzc0IDJcdWJjODggXHVhZDZjXHVhYzA0XHVjNzQ0IFx1Y2U2MFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwLCAxXHViYzg4IFx1Yzc3Y1x1YWZiY1x1Yzc3NCAzXHViYzg4IFx1YWQ2Y1x1YWMwNFx1Yzc0NCBcdWNlNjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YWNlMCwgMlx1YmM4OCBcdWM3N2NcdWFmYmNcdWM3NzQgNFx1YmM4OCBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjZTYwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMgXHVjNzc0IFx1YzljMFx1YjgzOVx1Yzc0MCBcdWQwYzBcdWIyZjlcdWQ1NThcdWIyZTQuJm5ic3A7Jm5ic3A7PFwvbGk+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMiwmbmJzcDs8ZW0+eTxcL2VtPiA9IDUuIDJcdWJjODggXHVjNzdjXHVhZmJjXHVjNzc0IDVcdWJjODggXHVhZDZjXHVhYzA0XHVjNzQ0IFx1Y2U2MFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhY2UwLCAwXHViYzg4IFx1Yzc3Y1x1YWZiY1x1Yzc3NCA2XHViYzg4IFx1YWQ2Y1x1YWMwNFx1Yzc0NCBcdWNlNjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YWNlMCwgMVx1YmM4OCBcdWM3N2NcdWFmYmNcdWM3NzQgN1x1YmM4OCBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjZTYwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWM3M2NcdWJiYzBcdWI4NWMgXHVjNzc0IFx1YzljMFx1YjgzOVx1Yzc0MCBcdWQwYzBcdWIyZjlcdWQ1NThcdWIyZTQuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+XHVjMTMxXHViODJjXHVjNzc0XHVhYzAwJm5ic3A7M1x1YWMxY1x1YmNmNFx1YjJlNCBcdWM4MDFcdWM3NDAgXHVjOWMwXHViODM5XHVjNzNjXHViODVjIFx1YmFhOFx1YjRlMCBcdWFkNmNcdWFjMDRcdWM3NDQgXHVjNmQwXHVkNTU4XHViMjk0IFx1YzBjOVx1YWU1NFx1Yjg1YyBcdWNlNjBcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjJlNFx1YjI5NCBcdWFjODNcdWM3NDQgXHVjMjdkXHVhYzhjIFx1YmNmNFx1Yzc3YyBcdWMyMTggXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgPGNvZGU+bWluaW11bUluc3RydWN0aW9ucyg4LCAzLCA1LCBbMywgMywgMSwgMywgNCwgNCwgMiwgMl0sIFszLCAyLCAyXSwgW1swLCAxLCAyXSwgWzIsIDNdLCBbMywgNF1dKTxcL2NvZGU+XHVjNzU4IFx1YjlhY1x1ZDEzNFx1YWMxMlx1Yzc0MCAzXHVjNzc0XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViNDUwXHViYzg4XHVjOWY4IFx1YzYwOFx1YzgxY1x1YzVkMFx1YzExYywmbmJzcDs8ZW0+TjxcL2VtPiA9IDUsJm5ic3A7PGVtPk08XC9lbT4gPSA0LCZuYnNwOzxlbT5LPFwvZW0+ID0gNCwmbmJzcDs8ZW0+QzxcL2VtPiA9IFsxLCAwLCAxLCAyLCAyXSwmbmJzcDs8ZW0+QTxcL2VtPiA9IFsyLCAxLCAxLCAxXSwmbmJzcDs8ZW0+QjxcL2VtPiA9IFtbMCwgMV0sIFsxXSwgWzJdLCBbM11dXHVjNzc0XHViMmU0LiAzXHViYzg4IFx1Yzc3Y1x1YWZiY1x1Yzc0MCBcdWMwYzkmbmJzcDszXHViOWNjIFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NFx1YjM3MCBcdWMwYzkmbmJzcDszXHVjNzNjXHViODVjIFx1Y2U2MFx1ZDU2MCBcdWFkNmNcdWFjMDRcdWM3NzQgXHVjNWM2XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVjMTMxXHViODJjXHVjNzc0XHVhYzAwIFx1YzViNFx1YjVhNCBcdWM5YzBcdWI4MzlcdWM3NDQgXHViMGI0XHViOWFjXHViMzU0XHViNzdjXHViM2M0IFx1YmIzNFx1ZDZhOFx1YWMwMCBcdWI0MWNcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYywmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zKDUsIDQsIDQsIFsxLCAwLCAxLCAyLCAyXSwgWzIsIDEsIDEsIDFdLCBbWzAsIDFdLCBbMV0sIFsyXSwgWzNdXSk8XC9jb2RlPlx1Yzc1OCBcdWI5YWNcdWQxMzRcdWFjMTJcdWM3NDAgLTFcdWM3NzRcdWM1YjRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImN1c3RvbV9ncmFkZXIiOiI8cD5cdWMwZDhcdWQ1MGMgXHVhZGY4XHViODA4XHVjNzc0XHViMzU0XHViMjk0IFx1Yzc4NVx1YjgyNVx1Yzc0NCBcdWIyZTRcdWM3NGMgXHVjNTkxXHVjMmRkXHVjNzNjXHViODVjIFx1Yzc3ZFx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHByZT5cclxuTiBNIEtcclxuQ1swXSBDWzFdIC4uLiBDW04tMV1cclxuQVswXSBCWzBdWzBdIEJbMF1bMV0gLi4uIEJbMF1bQVswXS0xXVxyXG5BWzFdIEJbMV1bMF0gQlsxXVsxXSAuLi4gQlsxXVtBWzFdLTFdXHJcbi5cclxuLlxyXG4uXHJcbkFbTS0xXSBCW00tMV1bMF0gQltNLTFdWzFdIC4uLiBCW00tMV1bQVtNLTFdLTFdXHJcbjxcL3ByZT5cclxuXHJcbjxwPlx1YzBkOFx1ZDUwYyBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTRcdWIyOTQmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zPFwvY29kZT4mbmJzcDtcdWQ1NjhcdWMyMThcdWM3NTggXHViOWFjXHVkMTM0XHVhYzEyXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJjdXN0b21fYXR0YWNobWVudCI6IjxwPlx1YWNmNVx1YWMxY1x1YjQxYyBcdWFkZjhcdWI4MDhcdWM3NzRcdWIzNTQsIFx1YzYwOFx1YzgxYyBcdWNmMDBcdWM3NzRcdWMyYTQsIFx1YmIzOFx1YzgxY1x1YzVkMCBcdWIzMDBcdWQ1NWMgXHVhZTMwXHViY2Y4IFx1ZDMwY1x1Yzc3Y1x1Yzc0MCZuYnNwOzxhIGhyZWY9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9iNmY3NzIzMS05MTI3LTQzMTctYTg4MC1mMjA5YTc3YmMxNWFcL1wiPlx1YzVlY1x1YWUzMDxcL2E+XHVjNWQwXHVjMTFjIFx1YmMxYlx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiZuYnNwOzxcL3A+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjE5NjE4IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUGFpbnRpbmcgV2FsbHMiLCJkZXNjcmlwdGlvbiI6IjxwPkl0IGhhcyBiZWVuIGEgd2hpbGUgc2luY2UgdGhlIGxhc3QgdGltZSBQYWsgRGVuZ2tsZWsgcGFpbnRlZCB0aGUgd2FsbCBvbiBoaXMgaG91c2UsIHNvIGhlIHdhbnRzIHRvIHJlcGFpbnQgaXQuIFRoZSB3YWxsIGNvbnNpc3RzIG9mJm5ic3A7PGVtPk48XC9lbT4mbmJzcDtzZWdtZW50cywgbnVtYmVyZWQgZnJvbSZuYnNwOzAmbmJzcDt0byA8ZW0+TjxcL2VtPiZuYnNwOyZtaW51czsgMS4gRm9yIHRoaXMgcHJvYmxlbSwgd2UgYXNzdW1lIHRoYXQgdGhlcmUgYXJlJm5ic3A7PGVtPks8XC9lbT4mbmJzcDtkaWZmZXJlbnQgY29sb3VycywgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlciBmcm9tIDAmbmJzcDt0byA8ZW0+SzxcL2VtPiAmbWludXM7IDEmbmJzcDsoZS5nLiwgcmVkIGlzIHJlcHJlc2VudGVkIGJ5Jm5ic3A7MCwgYmx1ZSBpcyByZXByZXNlbnRlZCBieSZuYnNwOzEsIGFuZCBzbyBvbikuIFBhayBEZW5na2xlayB3YW50cyB0byBwYWludCB0aGUmbmJzcDs8ZW0+aTxcL2VtPi10aCBzZWdtZW50IG9mIGhpcyB3YWxsIHVzaW5nIHRoZSBjb2xvdXIgPGVtPkM8XC9lbT5bPGVtPmk8XC9lbT5dLjxcL3A+XHJcblxyXG48cD5UbyBwYWludCB0aGUgd2FsbCwgUGFrIERlbmdrbGVrIGhpcmVzIGEgY29udHJhY3RvciBjb21wYW55IHdpdGgmbmJzcDs8ZW0+TTxcL2VtPiBjb250cmFjdG9ycywgbnVtYmVyZWQgZnJvbSZuYnNwOzAmbmJzcDt0byZuYnNwOzxlbT5NPFwvZW0+IC0gMS4gVW5mb3J0dW5hdGVseSBmb3IgUGFrIERlbmdrbGVrLCBjb250cmFjdG9ycyBhcmUgb25seSB3aWxsaW5nIHRvIHBhaW50IHRoZSBjb2xvdXJzIHRoYXQgdGhleSBsaWtlLiBTcGVjaWZpY2FsbHksIHRoZSZuYnNwOzxlbT5qPFwvZW0+LXRoIGNvbnRyYWN0b3Igb25seSBsaWtlcyZuYnNwOzxlbT5BPFwvZW0+WzxlbT5qPFwvZW0+XSZuYnNwO2NvbG91cnMgYW5kIG9ubHkgd2FudHMgdG8gcGFpbnQgYSBzZWdtZW50IHRvIGJlIGNvbG91cmVkIHdpdGggZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgY29sb3VyOiBjb2xvdXIgPGVtPkI8XC9lbT5bPGVtPmo8XC9lbT5dWzBdLCBjb2xvdXIgPGVtPkJbajxcL2VtPl1bMV0sICZoZWxsaXA7LCBvciBjb2xvdXImbmJzcDs8ZW0+QjxcL2VtPltqXVs8ZW0+QTxcL2VtPls8ZW0+ajxcL2VtPl0gLSAxXS48XC9wPlxyXG5cclxuPHA+UGFrIERlbmdrbGVrIGNhbiBnaXZlIHNldmVyYWwgaW5zdHJ1Y3Rpb25zIHRvIHRoZSBjb250cmFjdG9yIGNvbXBhbnkuIEluIGEgc2luZ2xlIGluc3RydWN0aW9uLCBQYWsgRGVuZ2tsZWsgd2lsbCBnaXZlIHR3byBwYXJhbWV0ZXJzIDxlbT54PFwvZW0+Jm5ic3A7YW5kJm5ic3A7PGVtPnk8XC9lbT4sIHdoZXJlJm5ic3A7MCAmbGU7IDxlbT54PFwvZW0+Jm5ic3A7Jmx0OyA8ZW0+TTxcL2VtPiZuYnNwO2FuZCZuYnNwOzAgJmxlOyA8ZW0+eTxcL2VtPiAmbGU7IDxlbT5OPFwvZW0+Jm5ic3A7Jm1pbnVzOyZuYnNwOzxlbT5NPFwvZW0+LiBUaGUgY29udHJhY3RvciBjb21wYW55IHdpbGwgaW5zdHJ1Y3QgdGhlICgoPGVtPng8XC9lbT4mbmJzcDsrJm5ic3A7PGVtPmw8XC9lbT4pIG1vZCA8ZW0+TTxcL2VtPiktdGggY29udHJhY3RvciB0byBwYWludCB0aGUgKDxlbT55PFwvZW0+Jm5ic3A7KyZuYnNwOzxlbT5sPFwvZW0+KS10aCBzZWdtZW50LCBmb3ImbmJzcDswICZsZTsgPGVtPmw8XC9lbT4gJmx0OyA8ZW0+TTxcL2VtPi4gSWYgdGhlcmUgZXhpc3RzIGEgdmFsdWUgb2YmbmJzcDs8ZW0+bDxcL2VtPiBzdWNoIHRoYXQgdGhlICgoPGVtPng8XC9lbT4gKyA8ZW0+bDxcL2VtPikgbW9kIDxlbT5NPFwvZW0+KS10aCBkb2VzIG5vdCBsaWtlIGNvbG91ciZuYnNwOzxlbT5DPFwvZW0+WzxlbT55PFwvZW0+ICsgPGVtPmw8XC9lbT5dLCB0aGVuIHRoZSBpbnN0cnVjdGlvbiBpcyBpbnZhbGlkLjxcL3A+XHJcblxyXG48cD5QYWsgRGVuZ2tsZWsgaGFzIHRvIHBheSBmb3IgZWFjaCBpbnN0cnVjdGlvbiBoZSBnaXZlcywgdGh1cyBoZSB3b3VsZCBsaWtlIHRvIGtub3cgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGluc3RydWN0aW9ucyBoZSBoYXMgdG8gZ2l2ZSB0byBwYWludCBhbGwgc2VnbWVudHMgd2l0aCB0aGVpciBpbnRlbmRlZCBjb2xvdXIgb3IgaWRlbnRpZnkgaWYgaXQgaXMgaW1wb3NzaWJsZSB0byBkbyBzby4gVGhlIHNhbWUgc2VnbWVudCBjYW4gYmUgcGFpbnRlZCBtdWx0aXBsZSB0aW1lcywgYnV0IGl0IG11c3QgYWx3YXlzIGJlIHBhaW50ZWQgd2l0aCBpdHMgaW50ZW5kZWQgY29sb3VyLjxcL3A+XHJcbiIsImlucHV0IjoiIiwib3V0cHV0IjoiIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsImxpbWl0IjoiPHA+Rm9yJm5ic3A7MCAmbGU7IDxlbT5rPFwvZW0+ICZsdDsgPGVtPks8XC9lbT4sIGxldCZuYnNwOzxlbT5mPFwvZW0+KDxlbT5rPFwvZW0+KSBiZSB0aGUgbnVtYmVyIG9mJm5ic3A7PGVtPmo8XC9lbT4mbmJzcDtzdWNoIHRoYXQgdGhlIDxlbT5qPFwvZW0+LXRoIGNvbnRyYWN0b3IgbGlrZXMgY29sb3VyJm5ic3A7PGVtPms8XC9lbT4uIEZvciBleGFtcGxlLCBpZiZuYnNwOzxlbT5mPFwvZW0+KDEpID0gMiwgdGhlbiB0aGVyZSBhcmUgdHdvIGNvbnRyYWN0b3JzIHdobyBsaWtlIHRoZSBjb2xvdXImbmJzcDsxLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjEgJmxlOyA8ZW0+TjxcL2VtPiAmbGU7IDEwMDAwMC48XC9saT5cclxuXHQ8bGk+MSAmbGU7IDxlbT5NPFwvZW0+ICZsZTsgbWluKDxlbT5OPFwvZW0+LCA1MDAwMCkuPFwvbGk+XHJcblx0PGxpPjEgJmxlOyA8ZW0+SzxcL2VtPiAmbGU7IDEwMDAwMC48XC9saT5cclxuXHQ8bGk+MCAmbGU7IDxlbT5DPFwvZW0+WzxlbT5pPFwvZW0+XSAmbHQ7IDxlbT5LPFwvZW0+LjxcL2xpPlxyXG5cdDxsaT4xICZsZTsgPGVtPkE8XC9lbT5bPGVtPmo8XC9lbT5dICZsZTsgPGVtPks8XC9lbT4uPFwvbGk+XHJcblx0PGxpPjAgJmxlOyA8ZW0+QjxcL2VtPls8ZW0+ajxcL2VtPl1bMF0gJmx0OyA8ZW0+QjxcL2VtPls8ZW0+ajxcL2VtPl1bMV0gJmx0OyAmaGVsbGlwOyAmbHQ7IDxlbT5CPFwvZW0+WzxlbT5qPFwvZW0+XVs8ZW0+QTxcL2VtPls8ZW0+ajxcL2VtPl0gJm1pbnVzOyAxXSAmbHQ7IEsuPFwvbGk+XHJcblx0PGxpPlN1bSBvZiA8ZW0+ZjxcL2VtPig8ZW0+azxcL2VtPik8c3VwPjI8XC9zdXA+Jm5ic3A7JmxlOyA0MDAwMDAuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrMSI6Ijx1bD5cclxuXHQ8bGk+PGVtPmY8XC9lbT4oPGVtPms8XC9lbT4pICZsZTsgMS48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2syIjoiPHVsPlxyXG5cdDxsaT48ZW0+TjxcL2VtPiAmbGU7IDUwMC48XC9saT5cclxuXHQ8bGk+PGVtPk08XC9lbT4gJmxlOyBtaW4oPGVtPk48XC9lbT4sIDIwMCkuPFwvbGk+XHJcblx0PGxpPlN1bSBvZiA8ZW0+ZjxcL2VtPig8ZW0+azxcL2VtPik8c3VwPjI8XC9zdXA+ICZsZTsgMTAwMC48XC9saT5cclxuPFwvdWw+XHJcbiIsInN1YnRhc2szIjoiPHVsPlxyXG5cdDxsaT48ZW0+TjxcL2VtPiAmbGU7IDUwMC48XC9saT5cclxuXHQ8bGk+PGVtPk08XC9lbT4gJmxlOyBtaW4oPGVtPk48XC9lbT4sIDIwMCkuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJzdWJ0YXNrNCI6Ijx1bD5cclxuXHQ8bGk+PGVtPk48XC9lbT4gJmxlOyAyMDAwMC48XC9saT5cclxuXHQ8bGk+PGVtPk08XC9lbT4gJmxlOyBtaW4oPGVtPk48XC9lbT4sIDIwMDApLjxcL2xpPlxyXG48XC91bD5cclxuIiwic3VidGFzazUiOiI8dWw+XHJcblx0PGxpPk5vIGFkZGl0aW9uYWwgY29uc3RyYWludHMuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJjdXN0b21fZnVuY3Rpb24iOiI8cD5Zb3UgaGF2ZSB0byBpbXBsZW1lbnQmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zPFwvY29kZT4mbmJzcDtmdW5jdGlvbjo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT48Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zKE4sIE0sIEssIEMsIEEsIEIpPFwvY29kZT4mbmJzcDstIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYnkgdGhlIGdyYWRlciBleGFjdGx5IG9uY2UuXHJcblxyXG5cdDx1bD5cclxuXHRcdDxsaT48ZW0+TjxcL2VtPjogQW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBzZWdtZW50cy48XC9saT5cclxuXHRcdDxsaT48ZW0+TTxcL2VtPjogQW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBjb250cmFjdG9ycy48XC9saT5cclxuXHRcdDxsaT48ZW0+SzxcL2VtPjogQW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBjb2xvdXJzLjxcL2xpPlxyXG5cdFx0PGxpPjxlbT5DPFwvZW0+OiBBbiBhcnJheSBvZiZuYnNwOzxlbT5OPFwvZW0+IGludGVnZXJzIHJlcHJlc2VudGluZyB0aGUgaW50ZW5kZWQgY29sb3VyIG9mIHRoZSBzZWdtZW50cy48XC9saT5cclxuXHRcdDxsaT48ZW0+QTxcL2VtPjogQW4gYXJyYXkgb2YgPGVtPk08XC9lbT4mbmJzcDtpbnRlZ2VycyByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBjb2xvdXJzIHRoYXQgdGhlIGNvbnRyYWN0b3JzIGxpa2UuPFwvbGk+XHJcblx0XHQ8bGk+PGVtPkI8XC9lbT46IEFuIGFycmF5IG9mIDxlbT5NPFwvZW0+Jm5ic3A7YXJyYXkgb2YgaW50ZWdlcnMgcmVwcmVzZW50aW5nIHRoZSBjb2xvdXJzIHRoYXQgdGhlIGNvbnRyYWN0b3JzIGxpa2UuPFwvbGk+XHJcblx0XHQ8bGk+VGhpcyBmdW5jdGlvbiBtdXN0IHJldHVybiBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgbWluaW11bSBudW1iZXIgb2YgaW5zdHJ1Y3Rpb25zIFBhayBEZW5na2xlayBoYXMgdG8gZ2l2ZSB0byBwYWludCBhbGwgc2VnbWVudHMgd2l0aCB0aGVpciBpbnRlbmRlZCBjb2xvdXIsIG9yJm5ic3A7LTEmbmJzcDtpZiBpdCBpcyBpbXBvc3NpYmxlIHRvIGRvIHNvLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuIiwiY3VzdG9tX2V4YW1wbGUiOiI8cD5JbiB0aGUgZmlyc3QgZXhhbXBsZSwmbmJzcDs8ZW0+TjxcL2VtPiA9IDgsJm5ic3A7PGVtPk08XC9lbT4gPSAzLCZuYnNwOzxlbT5LPFwvZW0+ID0gNSwmbmJzcDs8ZW0+QzxcL2VtPiA9IFszLCAzLCAxLCAzLCA0LCA0LCAyLCAyXSwmbmJzcDs8ZW0+QTxcL2VtPiA9IFszLCAyLCAyXSwmbmJzcDs8ZW0+QjxcL2VtPiA9IFtbMCwgMSwgMl0sIFsyLCAzXSwgWzMsIDRdXS4gUGFrIERlbmdrbGVrIGNhbiBnaXZlIHRoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb25zOjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMSwmbmJzcDs8ZW0+eTxcL2VtPiA9IDAuIFRoaXMgaXMgYSB2YWxpZCBpbnN0cnVjdGlvbiBzaW5jZSB0aGUgZmlyc3QgY29udHJhY3RvciBjYW4gcGFpbnQgdGhlIHplcm90aCBzZWdtZW50LCB0aGUgc2Vjb25kIGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSBmaXJzdCBzZWdtZW50LCBhbmQgdGhlIHplcm90aCBjb250cmFjdG9yIGNhbiBwYWludCB0aGUgc2Vjb25kIHNlZ21lbnQuPFwvbGk+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMCwmbmJzcDs8ZW0+eTxcL2VtPiA9IDIuIFRoaXMgaXMgYSB2YWxpZCBpbnN0cnVjdGlvbiBzaW5jZSB0aGUgemVyb3RoIGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSBzZWNvbmQgc2VnbWVudCwgdGhlIGZpcnN0IGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSB0aGlyZCBzZWdtZW50LCBhbmQgdGhlIHNlY29uZCBjb250cmFjdG9yIGNhbiBwYWludCB0aGUgZm91cnRoIHNlZ21lbnQuPFwvbGk+XHJcblx0PGxpPjxlbT54PFwvZW0+ID0gMiwmbmJzcDs8ZW0+eTxcL2VtPiA9IDUuIFRoaXMgaXMgYSB2YWxpZCBpbnN0cnVjdGlvbiBzaW5jZSB0aGUgc2Vjb25kIGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSBmaWZ0aCBzZWdtZW50LCB0aGUgemVyb3RoIGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSBzaXh0aCBzZWdtZW50LCBhbmQgdGhlIGZpcnN0IGNvbnRyYWN0b3IgY2FuIHBhaW50IHRoZSBzZXZlbnRoIHNlZ21lbnQuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+SXQgaXMgZWFzeSB0byBzZWUgdGhhdCBQYWsgRGVuZ2tsZWsgY2Fubm90IGdpdmUgbGVzcyB0aGFuJm5ic3A7MyZuYnNwO2luc3RydWN0aW9ucyB0byBwYWludCBhbGwgc2VnbWVudHMgd2l0aCB0aGVpciBpbnRlbmRlZCBjb2xvdXIsIHRodXMmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zKDgsIDMsIDUsIFszLCAzLCAxLCAzLCA0LCA0LCAyLCAyXSwgWzMsIDIsIDJdLCBbWzAsIDEsIDJdLCBbMiwgM10sIFszLCA0XV0pPFwvY29kZT4mbmJzcDtzaG91bGQgcmV0dXJuJm5ic3A7My48XC9wPlxyXG5cclxuPHA+SW4gdGhlIHNlY29uZCBleGFtcGxlLCA8ZW0+TjxcL2VtPiA9IDUsJm5ic3A7PGVtPk08XC9lbT4gPSA0LCZuYnNwOzxlbT5LPFwvZW0+ID0gNCwmbmJzcDs8ZW0+QzxcL2VtPiA9IFsxLCAwLCAxLCAyLCAyXSwmbmJzcDs8ZW0+QTxcL2VtPiA9IFsyLCAxLCAxLCAxXSwmbmJzcDs8ZW0+QjxcL2VtPiA9IFtbMCwgMV0sIFsxXSwgWzJdLCBbM11dLiBTaW5jZSB0aGUgdGhpcmQgY29udHJhY3RvciBvbmx5IGxpa2UgY29sb3VyJm5ic3A7MyZuYnNwO2FuZCBub25lIG9mIHRoZSBzZWdtZW50IGlzIHRvIGJlIHBhaW50ZWQgd2l0aCBjb2xvdXImbmJzcDszLCBpdCBpcyBpbXBvc3NpYmxlIGZvciBQYWsgRGVuZ2tsZWsgdG8gZ2l2ZSBhbnkgdmFsaWQgaW5zdHJ1Y3Rpb24uIFRoZXJlZm9yZSwmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zKDUsIDQsIDQsIFsxLCAwLCAxLCAyLCAyXSwgWzIsIDEsIDEsIDFdLCBbWzAsIDFdLCBbMV0sIFsyXSwgWzNdXSk8XC9jb2RlPiZuYnNwO3Nob3VsZCByZXR1cm4mbmJzcDstMS48XC9wPlxyXG4iLCJjdXN0b21fZ3JhZGVyIjoiPHA+VGhlIHNhbXBsZSBncmFkZXIgcmVhZHMgdGhlIGlucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OjxcL3A+XHJcblxyXG48cHJlPlxyXG5OIE0gS1xyXG5DWzBdIENbMV0gLi4uIENbTi0xXVxyXG5BWzBdIEJbMF1bMF0gQlswXVsxXSAuLi4gQlswXVtBWzBdLTFdXHJcbkFbMV0gQlsxXVswXSBCWzFdWzFdIC4uLiBCWzFdW0FbMV0tMV1cclxuLlxyXG4uXHJcbi5cclxuQVtNLTFdIEJbTS0xXVswXSBCW00tMV1bMV0gLi4uIEJbTS0xXVtBW00tMV0tMV1cclxuPFwvcHJlPlxyXG5cclxuPHA+VGhlIHNhbXBsZSBncmFkZXIgcHJpbnRzIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUmbmJzcDs8Y29kZT5taW5pbXVtSW5zdHJ1Y3Rpb25zPFwvY29kZT4mbmJzcDtmdW5jdGlvbi48XC9wPlxyXG4iLCJjdXN0b21fYXR0YWNobWVudCI6IjxwPlRoZSBwdWJsaWMgZ3JhZGVyLCBzYW1wbGUgY2FzZXMsIGFuZCBza2VsZXRvbiBmaWxlcyBmb3IgdGhpcyBwcm9ibGVtIGlzIGF2YWlsYWJsZSZuYnNwOzxhIGhyZWY9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9iNmY3NzIzMS05MTI3LTQzMTctYTg4MC1mMjA5YTc3YmMxNWFcL1wiPmhlcmU8XC9hPi48XC9wPlxyXG4ifV0=

샘플 그레이더

샘플 그레이더는 입력을 다음 양식으로 읽는다.

N M K
C[0] C[1] ... C[N-1]
A[0] B[0][0] B[0][1] ... B[0][A[0]-1]
A[1] B[1][0] B[1][1] ... B[1][A[1]-1]
.
.
.
A[M-1] B[M-1][0] B[M-1][1] ... B[M-1][A[M-1]-1]

샘플 그레이더는 minimumInstructions 함수의 리턴값을 출력한다.

첨부

공개된 그레이더, 예제 케이스, 문제에 대한 기본 파일은 여기에서 받을 수 있다. 

제출할 수 있는 언어

C++17, Java 8, C++14, Java 8 (OpenJDK), Java 11, C++20, C++14 (Clang), C++17 (Clang), C++20 (Clang)

채점 및 기타 정보

  • 예제는 채점하지 않는다.