#P2210. GLaDOS的耳机

GLaDOS的耳机

       GLaDOS是个耳机控。对于他来说,已经不满足于只是听出供电设备是水电、核电还是火电了。GLaDOS有更大的目标,他想听出宇宙中最神秘的代号为"Y_A_FL"的声音。为了实现这个目的,GLaDOS决定为他的耳机加工升级。但是笨手笨脚的GLaDOS表示加工升级神马的太困难了。于是GLaDOS想请JX为他解决这个难题,而懒得不能再懒得JX又把这个难题交给了你,你能帮这两个二货解决这个问题么?
       
现在,给你一个n,表示耳机上有n个点,相邻的每两个点间距为1单位长度。从左往右,每个点的编号分别为1,2,3...n。GLaDOS想要对这条耳机线进行m次操作。对于这条耳机线,GLaDOS有两种操作:
        
⊙ 1 L R c d代表着GLaDOS想要为这条耳机线从L点到R点的这段区间上涂一层金属漆(1<=L,R<=n)金属漆的颜色为c(0<=c<=40000),新涂的金属漆会将原有的金属漆覆盖,每单位长度的金属漆重量为d(0<d<=1000)(最初耳机线的重量为0,没有颜色)。
        
⊙ 2 L R 代表着GLaDOS想要知道耳机线在L点到R点这段区间内的重量。

 m次操作结束之后,GLaDOS想知道这根耳机线的总重量和这根耳机线上颜色的种数。

Input

输入包含多组数据(最多11组)
每组数据的第一行是两个整数n,m(2<=n,m<=80000)分别表示耳机长度和GLaDOS的操作次数。
接着是m行,每行一个操作。

Output

每组数据
对于每个操作2,你都将输出1个整数,代表着在L到R这段区间内的耳机线的重量。
每组数据的最后一行,输出耳机的总重量和颜色种数。

Sample Input

1000 6
1 100 1000 1 10
2 500 621
1 7 842 2 10
2 500 621
1 100 347 3 23
2 120 217

Sample Output

</p>
1210
2420
4171
23031 3

HINT

数据量不小,建议使用scanf()输入

Source