우리는 수를 십진법으로 쓰는 데 익숙하다. "123"이라고 쓰면 이 표기는 $1 \cdot 10^2 + 2 \cdot 10 + 3$을 뜻한다.
이진법도 자주 쓴다. $123$의 이진 표기는 "1111011"이고, $1 \cdot 2^6 + 1 \cdot 2^5 + 1 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2 + 1$을 뜻한다.
위치 기수법의 밑이 꼭 자연수여야 하는 것은 아니다. $123$을 밑 $-10$으로 쓰면 "283"이 되고, 이 표기는 $2 \cdot (-10)^2 + 8 \cdot (-10) + 3$을 뜻한다.
밑이 정수가 아니어도 된다. $123$을 밑 $2.5$로 쓰면 "22122.02012122$\ldots$"가 되는데, 소수점 아래가 오른쪽으로 끝없이 이어진다.
밑이 $1$보다 작은 기수법도 있다. 이런 기수법에서 표기는 평소와 좌우가 뒤집힌 모습이 된다. 소수점에서 오른쪽으로 갈수록 자릿값이 커지기 때문이다. 예를 들어 $123$을 밑 $0.1$로 쓰면 "3.21"이고, 이 표기는 $3 + 2 \cdot 0.1^{-1} + 1 \cdot 0.1^{-2}$을 뜻한다.
정수 $R$과 밑 $B$가 주어진다. $R$의 밑 $B$ 표기를 출력하는 프로그램을 작성하라.
첫째 줄에 정수 $R$이 십진법으로 주어진다 ($0 \le R \le 10^{10} - 1$). 자릿수는 최대 $10$개다.
둘째 줄에 밑 $B$가 십진법으로 주어진다. $B$는 $2 \le |B| \le 10$인 정수이거나, $1/B$가 $2 \le |1/B| \le 10$인 정수다.
$|B| > 1$이면 $b = B$, $|B| < 1$이면 $b = 1/B$라고 하자. 두 경우 모두 $b$는 정수이고, 표기에 쓰는 숫자는 $0$부터 $|b| - 1$까지다.
$|B| > 1$이면 $R$의 밑 $B$ 표기를 자릿값이 가장 큰 자리부터 $B^0$ 자리까지 한 줄에 출력한다. 소수점은 쓰지 않고, 맨 앞에 $0$을 붙이지 않는다.
$|B| < 1$이면 $B^0$ 자리의 숫자를 먼저 쓰고, 소수점을 찍은 뒤 $B^{-1}$, $B^{-2}$, $\ldots$ 자리의 숫자를 차례로 쓴다. 마지막에 오는 숫자는 $0$이 아니다. 숫자가 하나뿐이면 소수점 없이 그 숫자만 쓴다.
$R = 0$이면 "0"을 출력한다.
이 조건을 만족하는 표기는 하나뿐이고, 반올림 없이 $R$과 정확히 같은 값이다.