S의 모든 부분 문자열을 사전순으로 정렬한 뒤 K번째 부분 문자열을 출력하고, K개보다 적으면 -1을 출력한다.
문자열 SSS의 부분 문자열은 SSS에서 연속한 구간을 하나 잘라낸 문자열이다. 잘라낸 구간이 다르면 내용이 같아도 서로 다른 부분 문자열로 세므로, 길이가 nnn인 문자열의 부분 문자열은 모두 n(n+1)2\frac{n(n+1)}{2}2n(n+1)개이다.
SSS의 모든 부분 문자열을 사전 순으로 정렬했을 때 KKK번째에 오는 문자열을 구하는 프로그램을 작성하시오.
첫째 줄에 문자열 SSS가 주어진다. SSS는 알파벳 소문자로만 이루어져 있고, 길이는 111 이상 100,000100{,}000100,000 이하이다.
둘째 줄에 정수 KKK가 주어진다. (1≤K≤100,0001 \le K \le 100{,}0001≤K≤100,000)
첫째 줄에 SSS의 부분 문자열 중 사전 순으로 KKK번째인 것을 출력한다. 부분 문자열의 개수가 KKK보다 작으면 −1-1−1을 출력한다.