//这是一个取巧的办法 输入时接受16进制输出10进制
//对于oj测试案例来讲这种办法完全可以通过测试
//但从题目要求来看,无疑本题想考察字符串和int型之间的转换
#include <iostream>
using namespace std;
int main()
{
int a;
while(cin>>hex>>a){
cout<<a<<endl;
}
}
//从单纯字符串与整型转换考虑
//同时支持8 16 10进制数值字符串转换成int型
#include<iostream>
#include<cstring>
#include<math.h>
const int N=100;
const int NU=0;
const int FALSE=-1;
using namespace std;
int atoi(const char* a){
int i,k,s=0;
if(strlen(a)==0)
return NU;
if((a[0]!='-'&&a[0]!='0')||strlen(a)==1)//十进制
{ for(i=0;i<strlen(a);i++)
{ k=a[i]-'0';
s+=k*pow(10,strlen(a)-i-1);
}
return s;
}
else if(a[0]!='-'&&a[0]=='0'&&a[1]!='x')//八进制
{ for(i=0;i<strlen(a);i++)
{ k=a[i]-'0';
s+=k*pow(8,strlen(a)-i-1);
}
return s;
}
else if(a[0]!='-'&&a[0]=='0'&&a[1]=='x')
{ for(i=strlen(a)-1;a[i]!='x';i--)
{ if(a[i]>='A')
{k=a[i]-'A'+10;
}
else k=a[i]-'0';
s+=k*pow(16,strlen(a)-i-1);
}
return s;
}
else if(a[0]=='-'&&a[1]!='0')
{ for(i=1;i<strlen(a);i++)
{ k=a[i]-'0';
s+=k*pow(10,strlen(a)-i-1);
}
return -s;
}
else if(a[0]=='-'&&a[1]=='0'&&a[2]!='x'){
for(i=2;i<strlen(a);i++)
{ k=a[i]-'0';
s+=k*pow(8,strlen(a)-i-1);
}
return -s;
}
else if(a[0]=='-'&&a[1]=='0'&&a[2]=='x'){
for(i=strlen(a)-1;a[i]!='x';i--)
{ if(a[i]>='A')
{k=a[i]-'A'+10;
}
else k=a[i]-'0';
s+=k*pow(16,strlen(a)-i-1);
}
return -s;
}
else return FALSE;
}
int main()
{char s[N];
int t;
while(cin>>s){
t=atoi(s);
cout<<t<<endl;
}
}