#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
// 將字元轉換為對應的數值
int charToValue(char c) {
if (c >= '0' && c <= '9') return c - '0';
if (c >= 'A' && c <= 'Z') return c - 'A' + 10;
if (c >= 'a' && c <= 'z') return c - 'a' + 10;
return 0;
}
// 將數值轉換為對應的字元
char valueToChar(int v) {
if (v >= 0 && v <= 9) return v + '0';
return v - 10 + 'A';
}
int main() {
string n;
int b1, b2;
// 持續讀取輸入直到結束
while (cin >> n >> b1 >> b2) {
// 步驟 1: b1 進制轉 10 進制
long long decimalValue = 0;
long long power = 1;
for (int i = n.length() - 1; i >= 0; i--) {
decimalValue += (long long)charToValue(n[i]) * power;
power *= b1;
}
// 步驟 2: 10 進制轉 b2 進制
if (decimalValue == 0) {
cout << "0" << endl;
continue;
}
string result = "";
while (decimalValue > 0) {
result += valueToChar(decimalValue % b2);
decimalValue /= b2;
}
// 因為是由低位往高位取餘數,最後需反轉字串
reverse(result.begin(), result.end());
cout << result << endl;
}
return 0;
}