#include<bits/stdc++.h>
using namespace std;
const int MAXN=1005;
int n,a[MAXN],b[MAXN],c[MAXN],cnt,mul,c13;
stack<int>s1,s2;
void dfs(int k)
{
if(mul==n)
{
bool flag=1;
for(int i=1;i<=n;i++)
if(b[i]!=i)
{
flag=0;
break;
}
if(flag)
{
for(int i=1;i<=k;i++)
cout<<char(c[i]+'a'-1)<<" ";
cout<<endl;
exit(0);
}
}
cnt++;
mul++;
c[k]=1;
s1.push(a[cnt]);
dfs(k+1);
s1.pop();
if(!s1.empty())
{
c[k]=2;
b[mul]=s1.top();
s1.pop();
dfs(k+1);
s1.push(b[mul]);
}
c[k]=3;
s2.push(a[cnt]);
dfs(k+1);
s2.pop();
if(!s2.empty())
{
c[k]=4;
b[mul]=s2.top();
s2.pop();
dfs(k+1);
s2.push(b[mul]);
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(i>=3&&a[i]>a[i-1]&&a[i-1]>a[i-2]&&a[i-2]!=1)
{
cout<<0<<endl;
return 0;
}
}
dfs(1);
return 0;
}
期望得分40,但dfs写炸了