#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#define maxn 1000
using namespace std;
int StoI(char c) {
int num;
if (c >= '0' && c <= '9') {
num = c - '0';
} else if (c >= 'A' && c <= 'Z') {
num = 10 + c - 'A';
} else if (c >= 'a' && c <= 'z') {
num = 10 + c - 'a';
}
return num;
}
string mul(string s1, string s2) {
int len1 = s1.size(), len2 = s2.size();
if (len1 < len2)swap(s1, s2);
int len = len1 + len2 + 2;
int cur[len];
memset(cur, 0, sizeof(cur));
string str = "";
reverse(s1.begin(), s1.end());
reverse(s2.begin(), s2.end());
for (int i = 0; i < s1.size(); i++) {
for (int j = 0; j < s2.size(); j++) {
int n1 = StoI(s1[i]), n2 = StoI(s2[j]);
cur[i + j] += n1 * n2;
}
}
for (int i = 0; i < len; i++) {
int car = cur[i] / 10;
cur[i] %= 10;
cur[i + 1] += car;
char c = '0' + cur[i];
str = str + c;
}
reverse(str.begin(), str.end());
while (str[0] == '0')str.erase(0, 1);
if (str == "")str = "0";
return str;
}
// string ItoS(int x)
// {
// string str="";
// while(x!=0)
// {
// char c = '0' + (x%10);
// str = str +c;
// x/=10;
// }
// reverse(str.begin(),str.end());
// while(str[0]=='0')str.erase(0,1);
// if(str=="")str="0";
// return str;
// }
string Add(string s, int x) { //加法
reverse(s.begin(), s.end());
int carry = x;
for (int i = 0; i < s.size(); i++) {
int cur = s[i] - '0' + carry;
s[i] = cur % 10 + '0';
carry = cur / 10;
}
if (carry != 0) {
s = "1" + s;
}
reverse(s.begin(), s.end());
return s;
}
string add(string s1, char c) {
int x = StoI(c);
// string str = "";
int car = x;
// cout<<"s2 = "<<s2<<endl;
reverse(s1.begin(), s1.end());
for (int i = 0; i < s1.size(); i++) {
int num = (s1[i] - '0') + car;
// cout<<"num = "<<num<<endl;
s1[i] = num % 10 + '0';
car = num / 10;
// str = str + c;
}
// if(car==1)s1 = s1 + "1";
if (car != 0) {
s1 = s1 + "1";
}
// cout<<"car = "<<car<<endl;
reverse(s1.begin(), s1.end());
while (s1[0] == '0')s1.erase(0, 1);
if (s1 == "")s1 = "0";
return s1;
}
int main() {
string s;
while (cin >> s) {
// cin >> s;
s = s.substr(2);
int pos = s.size();
string answ = "0";
for (int i = 0; i < pos; i++) {
answ = mul(answ, "16");
// cout << "mul :" << answ << endl;
answ = add(answ, s[i]);
// cout << "s[i]= " << s[i] << endl;
// cout << "add = " << answ << endl;
}
// answ = "171";
// answ = mul(answ,"16");
cout << answ << endl;
}
}
// 64 位输出请用 printf("%lld")