### Problem Statement

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 = x1x2...xn and Y = y1y2...ym be two distinct strings. X is lexicographically larger than Y if and only if Y is a prefix of X or xj > yj where j is the smallest integer such that xj ≠ yj.

### Constraints

• 1 |s| 5000
• s consists of lowercase English letters.
• 1 K 5
• s has at least K different substrings.

### Partial Score

• 67 points will be awarded as a partial score for passing the test set satisfying |s| 50.

### Input

Input is given from Standard Input in the following format:

```s
K
```

### Output

Print the K-th lexicographically smallest substring of K.

```aba
4
```

### Sample Output 1

```b
```

s has five substrings: `a`, `b`, `ab`, `ba` and `aba`. Among them, we should print the fourth smallest one, `b`. Note that we do not count `a` twice.

### Sample Input 2

```atcoderandatcodeer
5
```

```andat
```

```z
1
```

```z
```

### Submitting .cpp to 'kthsubstring'

Time Limit: 2 Seconds
Memory Limit: 256MB
No. of ACs: 43