//
// 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;
}