思路:

$(m%k+n%k>=k) *phi(k)$

$我们不妨设n=q_1k+r_1 m=q_2k+r$2

$n+m=(q_1+q_2)k+r1+r2$

${\lfloor}\frac{n+m}{k}{\rfloor}-{\lfloor}\frac{m}{k}{\rfloor}-{\lfloor}\frac{n}{k}{\rfloor}=(m%k+n%k>=k)$

$原式=phi(k)*({\lfloor}\frac{n+m}{k}{\rfloor}-{\lfloor}\frac{m}{k}{\rfloor}-{\lfloor}\frac{n}{k}{\rfloor})$

$id=phi|1$

$n=\Sigma_{d|n}phi(d)$

$原式=\Sigma_{i=1}^{n+m}i-\Sigma_{i=1}^mi-\Sigma_{i=1}^ni$
$  =(n+m)*(n+m-1)/2+m*(m-1)/2+n*(n-2)/2$
$  =n*m$

//By SiriusRen
#include <cstdio>
using namespace std;
typedef long long ll;
ll n,m,mod=;
ll phi(ll x){
ll res=;
for(int i=;1LL*i*i<=x;i++){
if(x%i==){
while(x%i==)x/=i,res=res*i;
res=res/i*(i-);
}
}if(x!=)res=res*(x-);
return res;
}
int main(){
scanf("%lld%lld",&n,&m);
printf("%lld\n",((((phi(n)%mod)*(phi(m)%mod))%mod*(n%mod))%mod*(m%mod))%mod);
}

最新文章

  1. MQ通道配置
  2. python错误类型
  3. Hibernate - list()和iterate()的区别
  4. [转]怎样在cmd(命令提示符)下进行复制粘贴操作
  5. C# unsafe code
  6. MUI 列表页面绑定接口数据
  7. WebKit介绍及总结(一)
  8. nohup及/dev/null使用
  9. 浅谈MVC MVP MVVM
  10. Spring学习之二
  11. PO订单审批通过API
  12. 隐马尔可夫模型(HMM)总结
  13. data.table包使用应该注意的一些细节
  14. docker基本概念
  15. Python自学:第三章 使用函数sort( )对列表进行临时排序
  16. WPF多屏最大化
  17. shopnc 手机网站配置
  18. ASP.NET MVC中的Session设置
  19. linux远程方式,以及基础命令
  20. 聊聊javascript的null和undefined

热门文章

  1. Python单例模式的实现方式
  2. Spring AOP 学习(五)
  3. Apache 流框架 Flink,Spark Streaming,Storm对比分析(2)
  4. https://blog.csdn.net/u011495642/article/details/79958444
  5. HDU 1234 简单模拟题
  6. noip模拟赛 天天和不可描述
  7. nyoj_528_找球号(三)_201404152050
  8. 线程间的通信----wait/notify机制
  9. [bzoj1563][NOI2009]诗人小G(决策单调性优化)
  10. Spring MVC中@RequestMapping注解使用技巧(转)