정치인들

시간 제한1초메모리 제한512 MB

요약
정치인 1부터 시작해 각 정치인이 자신을 고발한 사람에 따라 다음 사람을 지목할 때, K번째 방송의 출연자가 누구인지 구한다. K는 1e18까지 주어진다.
난이도

보통10점 중 6점

유형
그래프, 시뮬레이션, 수학, 구현
정답자
아직 제출이 없습니다

문제

이름도 없고 완전히 허구이며 현실과 전혀 동떨어진 어느 나라의 정치인들은 모두 자기 일을 하지 않고 국영 방송에서 서로를 비난하며 시간을 보낸다. 모든 것은 어느 일요일 오후, 정치인 1번이 (지금은 아주 인기 있는) 토크쇼의 첫 회에 출연하면서 시작되었다. 방송에서 그는 정치인 2번이 나라를 잘못 이끌었다고 비난했다. 당연히 쇼의 두 번째 회에는 정치인 2번이 출연했다. 진행자는 정치인 1번이 그를 비난했다고 말했고, 정치인 2번은 다른 정치인을 비난했다. 새로 비난받은 정치인은 다음 방송에 출연했고, 진행자가 그 사실을 알려주었다...

거의 20년이 지난 오늘날까지도 매회 방송에는 새로운 정치인이 출연해서 누가 자신을 나라를 잘못 이끌었다고 비난했는지 듣는다. 그 정치인은 다시 다른 정치인을 비난하고, 이 악순환은 계속된다. 더 흥미롭게도, 우리는 각 정치인이 방송에서 어떻게 행동할지에 대한 고정된 전략을 가지고 있다는 사실을 단독으로 알아냈다. 더 정확히는, 각 정치인은 이전 방송에서 자신을 비난한 사람에 따라 누구를 비난할지 알고 있다. 이 정보를 제공하니, K번째 방송의 출연자가 누구인지 계산하는 프로그램을 작성하라.

입력

첫째 줄에는 정수 N (2 ≤ N ≤ 500)과 K (1 ≤ K ≤ 10^18)가 주어진다.

다음 N개 줄의 i번째 줄에는 N개의 정수가 주어지며, j번째 정수는 i번째 정치인이 지난 방송에서 정치인 j번에게 비난받았을 때 누구를 비난할지를 나타낸다.

어떤 정치인도 자기 자신을 비난하지 않는다. 따라서 행렬의 i번째 줄에 있는 수 중 i와 같은 수는 없다. 마찬가지로 i번째 행의 i번째 수는 항상 0이며 무시해도 된다.

출력

토크쇼의 K번째 방송 출연자가 될 정치인의 번호를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    2 4
    0 2
    1 0
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3 7
    0 3 2
    3 0 3
    2 1 0
    
    예상 출력
    1
    
  3. 예제 3

    입력
    4 7
    0 4 3 2
    4 0 4 1
    2 1 0 1
    3 2 3 0
    
    예상 출력
    3