import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            int m = in.nextInt();
            int n = in.nextInt();
            if(m==0){ //当出现 0 n的情况,我们往下面走会发现最后StringBuilder s为空,打印不了,所以的单独判断 为0时直接输出0
                System.out.print("0");
            }
        String table = "0123456789ABCDEF"; //存储所有进制的字符串
        StringBuilder s = new StringBuilder(); //拼接的数组
        boolean flg = false;
        if (m < 0) { //m为负数
            m = -m; //先拿到m对应的正数
            flg = true; //变化flg,后面才知道有没有转化过m
        }
        //这下保证了m是正数
        while (m != 0) { //退出的条件是m/n=0
            s.append(table.charAt(m%n)); //把得到的尾数放入拼接(是从table字符串中拿出来的)
            m = m / n; //m变化,为下一次%n做准备
        }
        //退出后即代表得到了所有的位数
        if (flg){  //一开始为FALSE,若为TRUE,则代表负数转化了
        s.append("-");//所以拼接负号上去
        }
        s.reverse();//翻转字符串
        System.out.println(s);

        }
}