You are given a string s. Among the **different** substrings of s, print the K-th lexicographically smallest one.  A substring of s is a string obtained by taking out a non-empty contiguous part in s. For example, if s = `ababc`, `a`, `bab` and `ababc` are substrings of s, while `ac`, `z` and an empty string are not. Also, we say that substrings are different when they are different as strings.  Let X = x_{1}x_{2}...x_{n} and Y = y_{1}y_{2}...y_{m} be two distinct strings. X is lexicographically larger than Y if and only if Y is a prefix of X or x_{j} > y_{j} where j is the smallest integer such that x_{j} \neq y_{j}.
s = input()
k = int(input())

length = len(s)
substring_list = []
for i in range(length):
    for j in range(1, k+1):
        substring_list.append(s[i:i+k])
substring_list.sort()
print(substring_list[k-1])
s = input()
k = int(input())

length = len(s)
substring_list = []
for i in range(length):
    for j in range(1,k+1):
        substring_list.append(s[i:i+j])
result = list(set(substring_list))
result.sort()

print(result[k-1])