智乃酱的平方数列
题号:NC226172
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

想必你一定会用线段树维护等差数列吧?让我们来看看它的升级版。

请你维护一个长度为的数组,一开始数组中每个元素都为0,要求支持以下两个操作:

1、区间[l,r]加自然数的平方数组,即
2、区间[l,r]查询区间和mod

输入描述:

第一行输入
接下来行,对于每行,先读入一个整数
的值为时,还需读入两个整表示需要对区间[l,r]进行操作,让第一个元素加,第二个元素加,第三个元素加以此类推。
的值为时,还需读入两个整数表示查询l到r的元素和

输出描述:

对于每一个,输出一行一个非负整数,表示l到r的区间和mod 
示例1

输入

复制
4 4
2 1 4
1 1 4
1 3 4
2 1 4

输出

复制
0
35
示例2

输入

复制
10 6
1 1 6
1 8 9
1 3 6
2 1 10
1 1 10
2 1 10

输出

复制
126
511