#include<iostream>
using namespace std;
const int N=400;
int n,an,bn,cn,c[N+5];
string a,b;
int de(char x){
if (x>='0'&&x<='9') return x-'0';
if (x>='a'&&x<='z') return x-'a'+10;
return 0;
}
char ge(int x){
if (x>=0&&x<=9) return x+'0';
else return 'a'+x-10;
}
int main(){
cin>>n>>a>>b;
an=a.length(),bn=b.length();
for (int i=0;i<an/2;i++) swap(a[i],a[an-i-1]);
for (int i=0;i<bn/2;i++) swap(b[i],b[bn-i-1]);
int j=0;
cn=max(an,bn);
for (int i=0;i<cn;i++){
int sum=de(a[i])+de(b[i])+j;
if (sum>=n) c[i]=sum-n,j=1;
else c[i]=sum,j=0;
}if (j) c[cn++]=j;
for (int i=cn-1;i>=0;i--) cout<<ge(c[i]);
}