output_description: Print the K-th lexicographically smallest substring of K.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      s
      K
attempt: s = input()
  K = int(input())
  dict = []
  n = len(s)
  for i in range(n):
      if not s[i] in dict:
          dict.append(s[i])
  dict = sorted(dict)
  sub_dict = []
  result = []
  # sub_dict.append([])
  # for i in range(n-1):
  #     if s[i] == dict[0]:
  #         if not s[i+1] in sub_dict[0]:
  #             sub_dict[0].append(s[i+1])
  # sub_dict[0] = sorted(sub_dict[0])
  # for i in range(n-1):
  #     if s[i]==dict[0] and s[i+1]==sub_dict[0][0]:
  #         for j in range(i+1,n):
  #             if not s[i:j] in result:
  #                 result.append(s[i:j])
  #
  for d_i in range(len(dict)):
      if len(result) >= K:
          break
      sub_dict.append([])
      if n > 1:
          for i in range(n - 1):
              if s[i] == dict[d_i]:
                  if not s[i + 1] in sub_dict[d_i]:
                      sub_dict[d_i].append(s[i + 1])
          sub_dict[d_i] = sorted(sub_dict[d_i])
          for i in range(n - 1):
              if s[i] == dict[d_i] and s[i + 1] == sub_dict[d_i][0]:
                  for j in range(i + 1, n + 1):
                      if not s[i:j] in result:
                          result.append(s[i:j])
      else:
          result.append(s)
  print(result[K - 1])
  
problem_description: 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 = 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}.
samples: [{"input": "aba\n    4", "output": "b\n    \n\ns has five substrings: `a`, `b`, `ab`, `ba` and `aba`. Among them, we should\nprint the fourth smallest one, `b`. Note that we do not count `a` twice.\n\n* * *"}, {"input": "atcoderandatcodeer\n    5", "output": "andat\n    \n\n* * *"}, {"input": "z\n    1", "output": "z"}]