public String solve (int M, int N){
        if (M < 0){
            return new StringBuilder(getString(-M,N)).reverse().append('-').reverse().toString();
        }else {
            return getString(M, N);
        }
    }
    public String getString(int M, int N){
        StringBuilder sb = new StringBuilder();
        Map<Integer, Character> map = new HashMap<>();
        map.put(10, 'A');
        map.put(11,'B');
        map.put(12, 'C');
        map.put(13, 'D');
        map.put(14, 'E');
        map.put(15, 'F');
        int re = 0;
        while (M > N){
            re = M % N;
            if (re > 10){
                sb.append(map.get(re));
            }else {
                sb.append(Integer.toString(re));
            }
            M = M / N;
        }
        if (M > 10){
            sb.append(map.get(M));
        }else {
            sb.append(Integer.toString(M));
        }

        return sb.reverse().toString();
    }