1911: 我得试着去做

题目描述


众所周知,duxing201606得到了某知名数学家的真传,现在她有了无穷的力量.现在她面前有一个数组a,duxing201606打算施法,有两种魔法,
第一种:把[l,r]区间的每个数变成它的f函数,即a[i]=f(a[i]).
第二种:查询区间[l,r]中a[i]的和.
f(x)是1到x中与x互质的数的个数。f(1)=1.

输入


多组数据,请读到文件末尾.一个数n表示a的长度,(1<=n<=5e5).下一行n个数表示a[i],(1<=a[i]<=1e7).再下一行,一个q,表示执行的魔法个数.接下来q(1<=q<=5e5)行,先是操作种类,1表示魔法1,2表示魔法2,然后是区间l,r(1<=l<=r<=n)

输出


对于每个第二种操作,输出答案

样例输入


5
1 2 3 4 5
3
2 2 4
1 2 5
2 4 5

样例输出


9
6

来源/分类


浙江理工大学月赛

请先 登录 后评论
  • 0 关注
  • 0 收藏,349 浏览
  • 轩爸 提出于 2019-08-02 22:27

相似问题