#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
const int MAX= 1e4+1;
ll n;
string str;
struct s{
char c;
ll num;
};
s End[MAX],Head[MAX];
ll q;
bool f(){
for(int i = 1;i <= n;i++){
if(End[i].c != Head[i].c){
return 0;
}
}
return 1;
}
bool cmp(s a,s b){
return a.c < b.c;
}
int main (){
cin >> n;
cin >> str;
cin >> q;
for(int i = 0;i < n;i++){
End[i+1].c = str[i];
End[i+1].num = i+1;
Head[i+1].c = str[i]-'a';
Head[i+1].num = i+1;
}
sort(Head+1,Head+n+1,cmp);
for(int i = 1;i <= n;i++){
Head[i].c+='a';
}
if(f()){
for(int i = 1;i <= n;i++) cout << Head[i].c;
return 0;
}
for(int i = 1;i <= n;i++){
cout << End[q].c;
if(End[q].c == Head[q].c) q +=1;
else q = Head[q].num;
}
return 0;
}