//
// Created by gs on 2026/3/4.
//
// HJ5 进制转换
#include <stdio.h>
#include <string.h>
unsigned long to_10(char buf[]){
if(strlen(buf)<3){
printf("-1");
return 0;
}
if(buf[0] != '0' && buf[1] != 'x'){
printf("-2");
return 0;
}
if(buf[strlen(buf) - 1] == '\n'){
printf("-3");
buf[strlen(buf) - 1] = '\0';
}
unsigned long result = 0;
for(int i=2; i < strlen(buf); i++){
int aa = 0;
if(buf[i] >= '0' && buf[i] <= '9'){
aa = buf[i] - '0';
}
if(buf[i] >= 'A' && buf[i] <= 'F'){
aa = buf[i] - 'A' + 10;
}
result = aa + result * 16;
}
return result;
}
int main() {
char buf[100];
unsigned long aa=0;
while (scanf("%s", buf) != EOF) { // 注意 while 处理多个 case
aa = to_10(buf);
if(aa != 0){
printf("%lld\n", aa);
}
}
return 0;
}