#include<iostream>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
vector<int>G[27];
int vis[27];
int k;
char s[100010];
char str[100010];
int main()
{
cin>>k;
cin>>s;
int n=strlen(s);
for(int i=0;i<27;i++)
G[i].clear();
for(int i=0;i<n;i++)
{
int u=s[i]-96;
G[u].push_back(i);
}
memset(vis, 0, sizeof(vis));
int pos=-1;
for(int i=0;i<k;i++)
{
bool flag=false;
for(int j=1;j<27;j++)
{
int u=vis[j];
if(u>=G[j].size())
continue;
for(int y=u;y<G[j].size();y++)
{
int x=G[j][y];
if(n-1-x>=k-i-1&&x>pos)
{
str[i]=s[x];
pos=x;
vis[j]=y+1;
flag=true;
break;
}
}
if(flag)
break;
}
}
str[k]='\0';
cout<<str<<endl;
return 0;
}