#2173. Multiply and Rotate

Multiply and Rotate

Multiply and Rotate

题目描述

有一个正整数 aa。黑板上写着一个十进制的数。

当黑板上当前写着的数为 xx 时,xax可以进行以下任意一种操作,改变黑板上的数:

  • 擦掉 xx,并将 xx 乘以 aa 的结果以十进制写在黑板上。
  • xx 视为字符串,把末尾的数字移动到字符串的开头。
    但只有当 x10x \geq 10xx 不能被 1010 整除时,才能进行此操作。

例如,当 a=2,x=123a = 2, x = 123 时,xax可以进行以下任意一种操作:

  • 擦掉 xx,写上 x×a=123×2=246x \times a = 123 \times 2 = 246
  • xx 视为字符串,把 123 的末尾数字 3 移到开头。黑板上的数会从 123123 变为 312312

最开始,黑板上写着 11。请问最少需要多少次操作,才能将黑板上的数变为 NN?如果无论如何都无法将黑板上的数变为 NN,请输出 1-1

输入格式

输入以如下格式从标准输入读入。

aa NN

输出格式

请输出答案。

输入输出样例 #1

输入 #1

3 72

输出 #1

4

输入输出样例 #2

输入 #2

2 5

输出 #2

-1

输入输出样例 #3

输入 #3

2 611

输出 #3

12

输入输出样例 #4

输入 #4

2 767090

输出 #4

111

说明/提示

限制条件

  • 2a<1062 \leq a < 10^6
  • 2N<1062 \leq N < 10^6
  • 输入均为整数。

样例解释 1

通过如下操作,可以在 44 次操作内将黑板上的数从 11 变为 7272

  • 执行第 11 种操作,黑板上的数变为 131 \to 3
  • 执行第 11 种操作,黑板上的数变为 393 \to 9
  • 执行第 11 种操作,黑板上的数变为 9279 \to 27
  • 执行第 22 种操作,黑板上的数变为 277227 \to 72。 无法在 33 次及以下操作内变为 7272,因此答案为 44

样例解释 2

无论如何操作,都无法将黑板上的数变为 55

样例解释 3

通过合理选择操作,可以按如下顺序 $1 \to 2 \to 4 \to 8 \to 16 \to 32 \to 64 \to 46 \to 92 \to 29 \to 58 \to 116 \to 611$,共 1212 次操作将黑板上的数变为 611611,且这是最少次数。