rt
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
const int N=5e5+5;
int pw[N],ha[N],jin=131,fha[N];
int get_ha(int l,int r){
return ha[r]-ha[l-1]*pw[r-l+1];
}
int get_fha(int l,int r){
return fha[l]-fha[r+1]*pw[r-l+1];
}
signed main(){
// ios::sync_with_stdio(0);
// cin.tie(0),cout.tie(0);
int n;
cin>>n;
string s="S";
char c;
for(int i=1;i<=n;i++){
cin>>c;
s+=c;
}
pw[0]=1;
for(int i=1;i<=n;i++){
pw[i]=pw[i-1]*jin;
}
for(int i=1;i<=n;i++){
ha[i]=ha[i-1]*jin+s[i];
}
for(int i=n;i>=1;i--){
fha[i]=fha[i+1]*jin+s[i];
}
int l=1,r=n,cnt=0;
while(l<r){
int L=0,R=(r-l+1)/2+1;
while(L+1<R){
int mid=(L+R)/2;
if(get_ha(l,l+mid-1)==get_fha(r,r-mid+1))L=mid;
else R=mid;
}
if(s[l+L]<s[r-L]){
cout<<s[l++];
}
else{
cout<<s[r--];
}
if(++cnt%80==0)cout<<"\n";
}
cout<<s[l];
return 0;
}