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();
}