{"trustable":true,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003eRikka 和 Yuta 对 Phi 函数(也被称为欧拉函数)很感兴趣。\u003cbr\u003e\u003cbr\u003eYuta 给 Rikka 一个正整数数组 $A[1..n]$,然后 Yuta 进行 $m$ 次查询。\u003cbr\u003e\u003cbr\u003e有三种类型的查询:\u003cbr\u003e\u003cbr\u003e$ 1 \\; l \\; r $\u003cbr\u003e\u003cbr\u003e将 $A[i]$ 改为 $\\varphi(A[i])$,对所有的 $i \\in [l, r]$。\u003cbr\u003e\u003cbr\u003e$ 2 \\; l \\; r \\; x$\u003cbr\u003e\u003cbr\u003e将 $A[i]$ 改为 $x$,对所有的 $i \\in [l, r]$。\u003cbr\u003e\u003cbr\u003e$ 3 \\; l \\; r $\u003cbr\u003e\u003cbr\u003e对所有的 $i \\in [l, r]$,求和 $A[i]$。\u003cbr\u003e\u003cbr\u003e帮助 Rikka 计算类型 3 查询的结果。\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e"}},{"title":"输入","value":{"format":"HTML","content":"第一行包含一个数字 $T(T \\leq 100)$ ——测试用例的数量。并且不会超过 2 个测试用例,每个测试用例包含 $n \u0026gt; 10 ^ 5$。\u003cbr\u003e\u003cbr\u003e对于每个测试用例,第一行包含两个数字 $n,m(n \\leq 3 \\times 10^5, m \\leq 3 \\times 10^5)$。\u003cbr\u003e\u003cbr\u003e第二行包含 $n$ 个数字 $A[i]$。\u003cbr\u003e\u003cbr\u003e接下来的 $m$ 行中包含查询的描述。\u003cbr\u003e\u003cbr\u003e保证 $1 \\leq A[i] \\leq 10^7$ 在任何时刻都成立。"}},{"title":"输出","value":{"format":"HTML","content":"对于每个类型 3 的查询,输出一个数字表示答案。"}},{"title":"样例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n10 10\r\n56 90 33 70 91 69 41 22 77 45\r\n1 3 9\r\n1 1 10\r\n3 3 8\r\n2 5 6 74\r\n1 1 8\r\n3 1 9\r\n1 2 10\r\n1 4 9\r\n2 8 8 69\r\n3 3 9\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e80\r\n122\r\n86\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}