#include <bits/stdc++.h> using namespace std; string convert(string s, int m, int b) { string ans; while (!s.empty()) { int k = 0; // 余数 bool leadingZero = true; // 用于去除前导零 string temp; for (int i = 0; i < s.size(); i++) { // 如果是字母字符(用于大于10的进制),则转换为对应的值,如'A' -> 10, 'B' -> 11 int digit = (isdigit(s[i]) ? s[i] - '0' : s[i] - 'A' + 10); int t = (k * m + digit) % b; int quotient = (k * m + digit) / b; k = t; if (quotient != 0 || !leadingZero) { temp += (quotient < 10 ? quotient + '0' : quotient - 10 + 'A'); leadingZero = false; } } ans += (k < 10 ? k + '0' : k - 10 + 'A'); s = temp; } reverse(ans.begin(), ans.end()); return ans.empty() ? "0" : ans; } int main(){ string s; while(cin >> s){ string answer = convert(s,10,8); cout << answer << endl; } return 0; }