#include<bits/stdc++.h>
using namespace std;
string a,b,c;
int num[27];
bool is_ok[26];
int n=0;
int an[26],bn[26],cn[26];
bool check(){
for(int i=0;i<n;++i){
an[i]=num[a[i]-'A'];
bn[i]=num[b[i]-'A'];
cn[i]=num[c[i]-'A'];
}
int up=0;
for(int i=n-1;i>=0;--i){
if((an[i]+bn[i]+up)%n!=cn[i])return false;
up=(an[i]+bn[i]+up)/n;
}
return true;
}
void dfs(int pos){
if(pos<0){
if(check()){
for(int i=0;i<n;i++)
cout<<num[i]<<" ";
exit(0);
}else return;
}
for(int i=n-1;i>=0;--i){
if(is_ok[i])continue;
is_ok[i]=1;num[pos]=i;
if(num[a[0]-'A']+num[b[0]-'A']<n)
dfs(pos-1);
num[pos]=0;is_ok[i]=0;
}
}
int main(){
cin>>n;
cin>>a>>b>>c;
dfs(n-1);
return 0;
}