#include <cstdio>
#include <cstring>
const int MAXN = 205;
struct IntN{
short n,len,a[MAXN];
short operator[](short i){
return a[i];
}
void flatten(short L){
len = L;
for (int i=1;i<=len;i++)
a[i+1] += a[i]/n,
a[i] %= n;
}
void in(){
char str[MAXN];
scanf("%s",str);
len = strlen(str);
for (int i=len-1,j=1;i>=0;i--,j++)
a[j] = (str[i] >= '0' && str[i] <= '9') ? str[i] - '0' : str[i] - 'a' + 10;
}
void out(){
for (int i=len;i>=1;i--)
putchar(a[i] < 10 ? a[i] + '0' : a[i] - 10 + 'a');
}
};
IntN operator+(IntN a,IntN b){
IntN c;
short len;
len = a.len > b.len ? a.len : b.len;
for (short i=1;i<=len;i++) c[i] = a[i] + b[i];
c.flatten(len+1);
return c;
}
signed main(){
short n;
IntN x,y,z;
scanf("%hd",&n);
x.n = n,y.n = n,z.n = n;
x.in();
y.in();
z = x + y;
z.out();
return 0;
}
~~