K번째 경로

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

보통7그리디동적 계획법아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

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

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

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

입력

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

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

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

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

출력

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