#include<bits/stdc++.h>
#define ll long long
#define rep(i,m) for(long long i=0; i<m; i++)
#define FOR(i,n,m) for(long long i=n; i<m; i++)
#define all(x) (x).begin(),(x).end()
using namespace std;
int main()
{
  string s,t[10000],u;
  string c[5];
  int k,a;
  cin>>s;
  cin>>k;
  c[0]="zzzzzz";
  c[1]="zzzzzz";
  c[2]="zzzzzz";
  c[3]="zzzzzz";
  c[4]="zzzzzz";
  rep(i,s.size()){
    t[i]=s[i];
    rep(j,i)if(t[i]==t[j])goto A;
    u=t[i];
    if(u<c[4]){
      if(u>c[3]){c[4]=u;
                   }
      if(u==c[3]){;
                    }
      if(u<c[3]){
        if(u>c[2]){c[4]=c[3];c[3]=u;
                     }
        if(u==c[2]){;
                      }
        if(u<c[2]){
          if(u>c[1]){c[4]=c[3];c[3]=c[2];c[2]=u;
                       }
          if(u==c[1]){;
                        }
          if(u<c[1]){
            if(u>c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=u;
                         }
            if(u==c[0]){;
                          }
            if(u<c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[0];c[0]=u;
                         }
          }
        }
      }
    }
    A:;
  }
   if(s.size()>=1){rep(i,s.size()-1){
    t[i]=s[i];
    t[i]+=s[i+1];
    rep(j,i)if(t[i]==t[j])goto B;
    u=t[i];
    if(u<c[4]){
      if(u>c[3]){c[4]=u;
                   }
      if(u==c[3]){;
                    }
      if(u<c[3]){
        if(u>c[2]){c[4]=c[3];c[3]=u;
                     }
        if(u==c[2]){;
                      }
        if(u<c[2]){
          if(u>c[1]){c[4]=c[3];c[3]=c[2];c[2]=u;
                       }
          if(u==c[1]){;
                        }
          if(u<c[1]){
            if(u>c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=u;
                         }
            if(u==c[0]){;
                          }
            if(u<c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[0];c[0]=u;
                         }
          }
        }
      }
    }
    B:;
  }
                  }
   if(s.size()>=2){ rep(i,s.size()-2){
    t[i]=s[i];
    t[i]+=s[i+1];
    t[i]+=s[i+2];
     rep(j,i)if(t[i]==t[j])goto C;
    u=t[i];
    if(u<c[4]){
      if(u>c[3]){c[4]=u;
                   }
      if(u==c[3]){;
                    }
      if(u<c[3]){
        if(u>c[2]){c[4]=c[3];c[3]=u;
                     }
        if(u==c[2]){;
                      }
        if(u<c[2]){
          if(u>c[1]){c[4]=c[3];c[3]=c[2];c[2]=u;
                       }
          if(u==c[1]){;
                        }
          if(u<c[1]){
            if(u>c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=u;
                         }
            if(u==c[0]){;
                          }
            if(u<c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[0];c[0]=u;
                         }
          }
        }
      }
    }
     C:;
   }
                  }
  if(s.size()>=3){ rep(i,s.size()-3){
    t[i]=s[i];
    t[i]+=s[i+1];
    t[i]+=s[i+2];
    t[i]+=s[i+3];
     rep(j,i)if(t[i]==t[j])goto D;
    u=t[i];
    if(u<c[4]){
      if(u>c[3]){c[4]=u;
                   }
      if(u==c[3]){;
                    }
      if(u<c[3]){
        if(u>c[2]){c[4]=c[3];c[3]=u;
                     }
        if(u==c[2]){;
                      }
        if(u<c[2]){
          if(u>c[1]){c[4]=c[3];c[3]=c[2];c[2]=u;
                       }
          if(u==c[1]){;
                        }
          if(u<c[1]){
            if(u>c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=u;
                         }
            if(u==c[0]){;
                          }
            if(u<c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[0];c[0]=u;
                         }
          }
        }
      }
    }
     D:;
   }
                 }
 if(s.size()>=4){ rep(i,s.size()-4){
    t[i]=s[i];
    t[i]+=s[i+1];
    t[i]+=s[i+2];
    t[i]+=s[i+3];
    t[i]+=s[i+4];
     rep(j,i)if(t[i]==t[j])goto E;
    u=t[i];
    if(u<c[4]){
      if(u>c[3]){c[4]=u;
                   }
      if(u==c[3]){;
                    }
      if(u<c[3]){
        if(u>c[2]){c[4]=c[3];c[3]=u;
                     }
        if(u==c[2]){;
                      }
        if(u<c[2]){
          if(u>c[1]){c[4]=c[3];c[3]=c[2];c[2]=u;
                       }
          if(u==c[1]){;
                        }
          if(u<c[1]){
            if(u>c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=u;
                         }
            if(u==c[0]){;
                          }
            if(u<c[0]){c[4]=c[3];c[3]=c[2];c[2]=c[1];c[1]=c[0];c[0]=u;
                         }
          }
        }
      }
    }
     E:;
  }
                }
  
  cout <<c[k-1] <<endl;

}

Measured memory_bytes: 640