U390457 17th

题目描述

你需要写一种优美的数据结构,支持以下两种操作: $1$ $l$ $r$ $x$:将区间 $[l,r]$ 中每个数赋值为x $2$ $l$ $r$:求区间 $[l,r]$ 中任意两个数最大公约数之和,即$\sum_{i=l}^{r-1}\sum_{j=i+1}^r \gcd(a_i,a_j)$,保证答案小于 $10^{18}$

输入格式

第一行两个正整数 $n$,$m$ 第二行 $n$ 个正整数,第 $i$ 个数为 $a_i$ 接下来 $m$ 行,每一行表示一个操作

输出格式

对于每个操作2,输出一个正整数表示答案