4816 - [Sdoi2017]数字表格

Doris刚刚学习了fibonacci数列。用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i, j的最大公约数。Doris的表格中共有n×m个数,她想知道这些数的乘积是多少。答案对10^9+7取模。

Input

有多组测试数据。 第一个一个数T,表示数据组数。 接下来T行,每行两个数n,m T<=1000,1<=n,m<=10^6

Output

输出T行,第i行的数是第i组数据的结果

Examples

Input

3
2 3
4 5
6 7

Output

1
6
960
Time Limit 1 second
Memory Limit 128 MB
Stats
上一题 下一题