시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 30 3 3 50.000%

문제

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

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

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

[email protected] = 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
  • [email protected] = 5 * (4*3*2) + 1 * (2+1+7) + 1 = 131

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

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

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

입력

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

출력

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

예제 입력

374 659

예제 출력

2

힌트

(([email protected])@X))

출처