1에서 시작하는 변환
시간 제한1초메모리 제한1024 MB
1에서 시작해 첫 자리나 끝 자리에 1을 더하면 비용 1, 2에서 9를 곱하면 비용 2가 들 때, 주어진 각 수에 도달하는 최소 비용을 구하고 불가능하면 -1을 출력한다.
문제
뉴메리아 왕국은 자국 수(數)의 품질에 큰 자부심을 가지고 있어서, 수를 한 번 바꿀 때마다 주민에게 세금을 걷습니다. 그럼에도 뉴메리아 주민들은 수를 변환하는 것을 무척 좋아합니다.
일원회(Units) 라는 친구들은 가장 값싼 변환만을 사용합니다. 수는 맨 앞자리에 이 없는 십진법으로 적으며, 오직 맨 앞자리(가장 큰 자리)나 맨 뒷자리(가장 작은 자리) 숫자만 바꿀 수 있습니다.
- 맨 앞자리 또는 맨 뒷자리 숫자 에 을 더해, 그 자리를 의 십진 표기로 바꿉니다. 비용은 금화 개입니다. ( 이면 이므로 숫자 "9"가 두 자리 "10"으로 바뀌어 수의 길이가 늘어납니다.)
- 맨 앞자리 또는 맨 뒷자리 숫자 에 부터 까지의 숫자 를 곱해, 그 자리를 의 십진 표기로 바꿉니다. 비용은 금화 개입니다. ( 이면 그 자리는 두 자리 숫자로 바뀝니다.)
일원회는 항상 수 에서 변환을 시작합니다.
예를 들어 은 다음 순서로 에서 얻을 수 있으며, 금화 개가 듭니다.
- 에 을 더해 를 얻습니다.
- 에 를 곱해 을 얻습니다.
- 맨 앞자리에 을 더해 을 얻습니다.
- 맨 앞자리에 를 곱해 을 얻습니다.
- 맨 앞자리에 를 곱해 을 얻습니다.
- 맨 뒷자리에 을 더해 을 얻습니다.
- 맨 뒷자리에 를 곱해 를 얻습니다.
- 맨 뒷자리에 를 곱해 을 얻습니다.
- 맨 뒷자리에 을 더해 을 얻습니다.
아래 그림에서 화살표 위의 수는 그 단계의 비용이고, 아래의 식은 적용한 연산입니다.
하지만 은 더 싸게, 금화 개만으로도 얻을 수 있습니다.
일원회가 주어진 개의 수를 이 변환들로 얻을 수 있도록 도와주세요.
각 수 에 대해, 일원회가 에서 를 얻는 데 드는 최소 비용을 구하세요. 어떤 변환 순서로도 얻을 수 없는 수라면 그 답은 입니다.
입력
첫 번째 줄에 정수 — 수의 개수가 주어집니다. 이어지는 개의 줄에는 각각 하나의 자연수 () 가 주어집니다.
출력
개의 줄을 출력합니다. 번째 줄에는 에서 를 얻는 단위 변환의 최소 비용을 출력합니다. 어떤 수에 대해 그러한 변환이 존재하지 않으면 그 줄에 을 출력합니다.