자릿수 바꾸기

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

도비다스(Dovydas)가 유스타스(Justas)에게 두 자연수 NNMM을 알려 주었다. 유스타스가 할 일은 NN을 될 수 있는 대로 큰 수로 만드는 것이다. 그는 NN의 자릿수를 한 번에 하나씩 바꿀 수 있는데, 자릿수를 한 번 바꿀 때마다 그 수를 MM으로 나눈 나머지가 반드시 더 커져야 한다. 자릿수를 바꿀 때 맨 앞자리를 00으로 바꾸는 것은 허용되지 않는다.

예를 들어 N=1399N = 1399, M=11M = 11이면 처음에 NNMM으로 나눈 나머지는 1399mod11=21399 \bmod 11 = 2이다. 유스타스가 첫 번째로 NN의 마지막 자릿수를 바꾼다면, 나머지를 크게 만드는 값들, 즉 0,1,,60, 1, \dots, 6 중에서 고를 수 있다.

N1390139113921393139413951396139713981399
나머지45678910012

그가 33을 골랐다고 하자. 이제 NN13931393이다. 여기서 유스타스가 맨 앞자리를 바꾼다면 가능한 값은 99뿐이다(맨 앞자리를 00으로 바꿀 수 없음에 유의하라).

N139323933393439353936393739383939393
나머지7654321010

93939393은 더 이상 바꿀 수 없다. 이미 1111로 나눈 나머지가 가능한 최댓값에 도달했기 때문이다(9393mod11=109393 \bmod 11 = 10). 이것이 유스타스의 결과가 된다.

그러나 이것이 가능한 최선의 결과는 아니다. 가장 좋은 결과는 98999899이며, 예를 들어 다음과 같은 단계로 도달할 수 있다.

N1399 → 1899 → 9899
나머지2 → 7 → 10

유스타스가 도달할 수 있는 가장 큰 수를 구하여라.

입력

한 줄에 두 정수 NNMM이 주어진다.

출력

유스타스가 도달할 수 있는 가장 큰 수를 출력한다.

제한

  • 1N<10171 \le N < 10^{17}
  • 1M1091 \le M \le 10^9