%%%
题号:NC275619
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

对于一个整数 \mathrm{n},存在一种操作:将 \mathrm{n} 对一个不大于 \mathrm{n} 的正整数 \mathrm{mod} 取余(\mathrm{1\leq mod\leq n}),并将结果再赋值给 \mathrm{n}。(即:\mathrm{n = n \% mod}

请问 \mathrm{n} 变为 \mathrm{0} 最多需要多少次操作?

输入描述:

第一行给定一个整数 \mathrm{T}(\mathrm{1 \le T \le 10^5}),下面为 \mathrm{T} 组数据,每行给定一个整数 \mathrm{n}(\mathrm{0 \le n \le 10^{18}})

输出描述:

输出 \mathrm{T} 行,每行一个整数。
示例1

输入

复制
3
0
3
114514

输出

复制
0
2
16