만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

K번째 경로

시간 제한2초메모리 제한256 MB

요약
문자 격자의 왼쪽 위에서 오른쪽 아래까지 아래쪽이나 오른쪽으로 이동하며 만든 문자열 중 사전 순으로 K번째 문자열을 구합니다.
난이도

보통10점 중 7점

유형
그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

NN행 MM열짜리 표가 있다. 표의 각 칸에는 영어 소문자가 하나씩 적혀 있다. 왼쪽 위 칸에서 출발해 오른쪽 아래 칸까지 가는 경로를 생각하자. 이동은 오른쪽과 아래쪽으로만 할 수 있다.

경로가 지나간 칸의 글자를 지나간 순서대로 이어 붙이면 문자열이 하나 만들어진다. 이 문자열을 그 경로의 값이라고 한다.

가능한 모든 경로를 값의 사전순으로 정렬했을 때, KK번째 경로의 값을 구하라. 값이 같은 경로가 여러 개 있으면 각각을 따로 센다.

입력

첫째 줄에 표의 행 수 NN과 열 수 MM이 주어진다. (1≤N,M≤301 \le N, M \le 30)

다음 NN개 줄에는 각각 영어 소문자가 정확히 MM개씩 공백 없이 주어진다.

마지막 줄에 정수 KK가 주어진다. (1≤K≤10181 \le K \le 10^{18})

KK번째 경로가 존재하는 입력만 주어진다.

출력

첫째 줄에 KK번째 경로의 값을 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    abcd
    efdg
    hijk
    4
    
    예상 출력
    abfdgk
    
  2. 예제 2

    입력
    3 4
    abcd
    efdg
    hijk
    1
    
    예상 출력
    abcdgk