#include <functional>
#include <iostream>
#include <string>
#include <vector>
#include "cmath"
using namespace std;
int Chartoint(string n)
{
int sum = 0;
for (int i = 0; i < n.size(); i++)
{
sum = sum + (n[i]-'0') * pow(10, n.size() - i - 1);
}
return sum;
}
string add(string a, string b)
{
float alast, blast;
int la = a.size(), lb = b.size();
int i = 0, j = 0, s = 0;
int ra, rb;
int wei = 0;
int he = 0;
string sum;
ra = Chartoint(a);
rb = Chartoint(b);
if (a.size() >= b.size())
{
while (lb)
{
alast = (a[--la] - '0');
ra = ra / pow(10, i++);
blast = (b[--lb] - '0');
rb = rb / pow(10, j++);
he = alast + blast + wei;
wei = 0;
if (he >= 10)
{
wei = 1;
he = he % 10;
}
a[la] = he+'0';
}
while (wei == 1)
{
la--;
if ((a[la] - '0' + wei < 9))
{
a[la] = a[la] + 1;
wei = 0;
}
else
{
a[la] = '0';
wei = 1;
}
}
if (la == 0&&wei==1)
{
a = "1" + a;
}
return a;
}
else {
while (la)
{
alast = (a[--la] - '0');
ra = ra / pow(10, i++);
blast = (b[--lb] - '0');
rb = rb / pow(10, j++);
he = alast + blast + wei;
wei = 0;
if (he >= 10)
{
wei = 1;
he = he % 10;
}
b[lb] = he + '0';
}
while(wei==1 )
{
lb--;
if ((b[lb] - '0' + wei < 9))
{
b[lb] = b[lb] + 1;
wei = 0;
}
else
{
b[lb] = '0';
wei = 1;
}
}
if (lb == 0&& wei == 1)
{
b = "1" + b;
}
return b;
}
}
string Divide(string str, int x)
{
int re = 0;
for (int i = 0; i < str.size(); i++)
{
int current = re * 10 + str[i] - '0';
str[i] = current / x + '0';
re = current % x;
}
int pos = 0;
while (str[pos] == '0')
{
pos++;
}
return str.substr(pos);
}
int main() {
string a, b;
int m;
int i;
vector<float> answer;
cin >> m;
cin >> a >> b;
if (a == "0" && b == "0")
{
cout << "0";
}
else
{
string sum = add(a, b);
long long int nsum = 0;
for (i = 0; i < sum.size(); i++)
{
nsum = (sum[i]-'0') * pow(10, sum.size() - i - 1) + nsum;
}
while (nsum!= 0)
{
answer.push_back(nsum % m);
nsum = nsum / m;
}
for (i = answer.size() - 1; i >= 0; i--)
{
cout << answer[i];
}
}
}
// 64 位输出请用 printf("%lld")