import java.util.*;
public class Main{
    public static void main(String[] args) {
        // 接受一个十六进制,输出十进制
        Map<Character,Integer> map = new HashMap<>();
      // 将十六进制位字符对应的数值都写入map集合中,可以根据输入十六进制数来获得对应的值
        map.put('0',0);map.put('1',1);map.put('2',2);map.put('3',3);
        map.put('4',4);map.put('5',5);map.put('6',6);map.put('7',7);
        map.put('8',8);map.put('9',9);map.put('A',10);map.put('B',11);
        map.put('C',12);map.put('D',13);map.put('E',14);map.put('F',15);
        // 处理输入
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            StringBuffer bf = new StringBuffer(sc.nextLine().substring(2)).reverse();// 去掉十六进制的标志字符,例如0xAB,这样处理之后就是获得AB,但是我们需要从个位开始算起,最后反转一下,变成BA
            int res = 0;// 这个是用来统计结果的
            for(int i = 0; i < bf.length(); i++){
                res += Math.pow(16,i) * map.get(bf.charAt(i));// 十六进制转十进制: 16^权重 * 十六进制数值 
            }
            System.out.println(res);
        }
    }
}