#include<iostream>
#include<vector>
#include<algorithm>
#include<set>
using namespace std;
void solve(string str,int m,set<string>&comb,string current,int i){
    if(current.size()==m){
        comb.insert(current);
        return;
    }
    if(i==str.length()){
        return;
    }
    solve(str,m,comb,current+str[i],i+1);
    solve(str,m,comb,current,i+1);
}
int main(){
    string str;
    cin>>str;
    int n=str.length();
    sort(str.begin(),str.end());
    set<int>comb;
    int m;
    cin>>m;
    solve(str,m,comb,"",0);
    return 0;
    
}