there

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
int T, n, m, pri[1000005], pricnt, mu[1000005], f[1000005], g[1000005], F[1000005];
bool isp[1000005];
const int mod=1000000007;
template <typename _T> int ksm(int a, _T b){
int re=1;
while(b){
if(b&1) re = (ll)re * a % mod;
a = (ll)a * a % mod;
b >>= 1;
}
return re;
}
void shai(){
memset(isp, true, sizeof(isp));
isp[0] = isp[1] = false;
mu[1] = 1;
for(int i=2; i<=1000000; i++){
if(isp[i]) pri[++pricnt] = i, mu[i] = -1;
for(int j=1; j<=pricnt && (ll)i*pri[j]<=1000000; j++){
isp[i*pri[j]] = false;
if(i%pri[j]==0){
mu[pri[j]*i] = 0;
break;
}
else mu[pri[j]*i] = -mu[i];
}
}
f[0] = 0;
f[1] = g[1] = F[1] = F[0] = 1;
for(int i=2; i<=1000000; i++){
f[i] = (f[i-1] + f[i-2]) % mod;
g[i] = ksm(f[i], mod-2);
F[i] = 1;
}
for(int i=1; i<=1000000; i++)
if(mu[i]!=0)
for(int j=i; j<=1000000; j+=i)
F[j] = (ll)F[j] * (mu[i]>0?f[j/i]:g[j/i]) % mod;
for(int i=1; i<=1000000; i++)
F[i] = (ll)F[i-1] * F[i] % mod;
}
int calc(int n, int m){
int re=1;
for(int i=1; i<=n; ){
int nxt=min(n/(n/i), m/(m/i));
int tmp1=(ll)F[nxt]*ksm(F[i-1], mod-2)%mod;
int faq=ksm(tmp1, (ll)(n/i)*(m/i));
re = (ll)re * faq % mod;
i = nxt + 1;
}
return re;
}
int main(){
cin>>T;
shai();
while(T--){
scanf("%d %d", &n, &m);
if(n>m) swap(n, m);
printf("%d\n", calc(n, m));
}
return 0;
}

最新文章

  1. 领域驱动有感&lt;上&gt;
  2. 相克军_Oracle体系_随堂笔记004-shared pool
  3. android ndk开发(二)实现一个官方demo
  4. 隔离click事件
  5. HTML5中lineCap端点样式遇到closePath()
  6. [转]Oracle中的索引详解
  7. Django开发博客- 部署
  8. Spark及其应用场景初探
  9. C++实现离散余弦变换(参数为Eigen矩阵)
  10. UTF-8和GBK有什么区别?
  11. MySQL中的concat函数
  12. 好的 小图标 html
  13. Spring基于注解开发异常
  14. Java学习笔记(3)
  15. python中的__str__()函数
  16. 20155201 网络攻防技术 实验九 Web安全基础
  17. sql Server插不进数据,以及Id自增的教程及注意事项
  18. 笔记:iOS随机数与随机数据集
  19. 牛客网NOIP赛前集训营-提高组(第六场)-A-最长路[拓扑排序+hash+倍增]
  20. hdu 1863 畅通project

热门文章

  1. 编写xcode5插件需要增加DVTPlugInCompatibilityUUIDs
  2. 微信成为HTML5技术流行的最大推手
  3. TCP/IP协议分析含义与功能
  4. HTTP 错误 500.0 - Internal Server Error
  5. 云计算的那些「What」
  6. COGS 2104. [NOIP2015]神奇的幻方
  7. js 获取当前年月日时分秒星期
  8. JAVA - Annotation 注解 入门
  9. js函数式编程(一)-纯函数
  10. 【wqs二分】HHHOJ#15. 赤