#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<algorithm>
#include<map>
using namespace std;
int n,cnt;
map<char,int>m;
char ch[26]={‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘O‘,‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘};
char s1[30],s2[30],s3[30];
int a[30],b[30],c[30],d[30];
bool check()
{
int tmp=0;
for(int i=n-1;i>=0;i--)
{
c[i]=(m[s1[i]]+m[s2[i]]+tmp)%n;
tmp=(m[s1[i]]+m[s2[i]]+tmp);
tmp/=n;
if(c[i]!=m[s3[i]]) return false;
}
return true;
}
int main()
{
scanf("%d",&n);
scanf("%s",s1);scanf("%s",s2);scanf("%s",s3);
for(int i=0;i<n;i++) a[i]=i;
while(++cnt)
{
if(cnt>5000000) break;
random_shuffle(a,a+n);
for(int i=0;i<n;i++) m[ch[i]]=a[i];
if(check()) break;
}
for(int i=0;i<n;i++) printf("%d ",m[ch[i]]);
return 0;
}