시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 512 MB25242395.833%

문제

太郎君はかけざんを習いたての小学生です。なんとなく、彼はかけざんを気に入っているので、数字を見かけるとかけざんをしたくなります。そんな彼はここのところ、次のような処理を0以上の整数に施すことが好きなようです。 (処理の流れ)

  • 手順1. ある0以上の整数nが10進数表示で一けたならばそこで処理を終了する。そうでなければ手順2に進む
  • 手順2. 10以上の整数nを10進数表示をするとどこかの桁の間に切れ目を入れて二つの数字に分解することが可能である(例えば2012-> 20,12)。このような切り方としてありうるものに対して,得られた二つの数字を掛け合わせて最も大きいものを次のnとして手順1に戻る。(詳しくは下記の"手順2に関する補足を参照")

太郎君はこの処理を気に入っているようですが、何回手順2の操作を繰り返せばよいのか大きい数字だと予想ができず、もしかしたら無限回行われなければならないかもしれないと思っています。そこで、太郎君の兄であり大学生であるあなたに0以上の整数nに対してこの手順2を何回しなければならないかを聞いてきました。

あなたの仕事は、Q個の0以上の整数N1..NQが与えられるので、それぞれの整数で処理の終了までに何回の手順2が施されるかを求めることです。その際にもし無限回の手順が必要ならば、-1を出力してください。

切り分けた結果、桁の初めに0がつくものも考慮に入れる必要があります。 例えばn=1024のとき、1*024 , 10*24 , 102*4をそれぞれ計算するとそれぞれ24,240,408となるため、408が選ばれ、これが次のnとなります。

입력

Q
N1
N2
...
NQ
  • Qは与えられる0以上の整数の個数を表す
  • Niは太郎君が気になっている0以上の整数で,i番目のものを表す

출력

Q個の整数を改行区切りで出力せよ

R1
R2
..
RQ
  • Riは、Niに対して処理を終了するまでに手順2を実行する回数を表す
  • Niに対して手順2を無限回だけ実行する必要がある場合はRi は -1となる

제한

  • 1≤Q≤100
  • 0≤Ni≤106

예제 입력 1

3
9
99
123

예제 출력 1

0
2
3

예제 입력 2

2
999999
1000000

예제 출력 2

12 
1