金蛇狂舞
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

你从他的谈吐,亲近了冷漠历史、陌生远方。

使用 上取整、下取整、阶乘算术平方根 四种运算,完成对一个数字的变换。

例如从 4 变换到 6



每次阶乘计为一步,每次开根号并向上/向下取整计为一步。

请你找到从 x 变换到 y 所需的最小步数。

输入描述:

第一行输入数据组数

接下来每行输入两个正整数

输出描述:

每行输出一个整数,表示由 x 变换到 y 的最小步数,如果由 x 七步之内不可能变换到 y,输出  即可。
示例1

输入

复制
3
1 7
4 6
3 7

输出

复制
-1
4
-1

说明

样例 #2,从 4 变换到 6 共需 2 次开根号,2 次阶乘,需要的步数为 2+2=4 步。

样例 #3 中,可以证明 3\rightarrow7 至少需要 9 步,因此输出 -1