시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB111141329.545%

문제

양의 정수 N이 주어졌을 때, 다음과 같은 다섯 개의 함수를 정의 했다.

  • Sum(N)은 N의 모든 자리수를 더한 값이다.
  • Prod(N)은 N의 모든 자리수를 곱한 값이다.
  • Prod3(N)은 N의 자리수중 가장 큰 3개를 곱한 값이다. 만약 N이 3자리보다 작다면 Prod3(N) = Prod(N)이다.
  • Smallest(N)은 N의 가장 작은 자리수이다.
  • First(N)은 N의 가장 맨 앞 자리수이다.

세준이는 @라는 연산자를 정의 했다.

X@Y = 5*Prod3(X) + First(X) * Sum(Y) + Smallest(Y)이다.

  • Sum(47) = 4+7 = 11
  • Prod(2322) = 2*3*2*2 = 24
  • Prod3(2322) = 3*2*2 = 12
  • Prod3(47) = Prod(47) = 4*7 = 28
  • Smallest(427) = 2
  • First(427) = 4
  • 12034@217 = 5 * (4*3*2) + 1 * (2+1+7) + 1 = 131

올바른 식은 다음과 같이 재귀적으로 정의 된다.

  1. X는 올바른 식이다.
  2. 만약, A가 올바른 식이고, B가 올바른 식이라면, A@B도 올바른 식이다.
  3. 위의 규칙에 의해서 생성되지 않은 식은 모두 올바르지 않은 식이다.

X와 G가 주어졌을 때, X를 G로 만드는 올바른 식을 구하는 프로그램을 작성하시오. 만약 불가능하다면 -1을 출력한다.

입력

첫째 줄에 X와 G가 주어진다. X는 1,000,000보다 작거나 같은 자연수이고, G는 2,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 올바른 식에 들어가는 @의 최소 값을 출력한다.

예제 입력 1

374 659

예제 출력 1

2

((X@X)@X)

예제 입력 2

13 13

예제 출력 2

0

예제 입력 3

374 465

예제 출력 3

1

(X@X)

예제 입력 4

374 469

예제 출력 4

2

(X@(X@X))

예제 입력 5

374 1024

예제 출력 5

8

예제 입력 6

654321 12

예제 출력 6

10

예제 입력 7

654321 1234567

예제 출력 7

-1

출처