C 青蛙遇上算数难题全体青蛙日夜不停计算
题目描述
青蛙计算中心得到了一个长度为 n 的序列 a.
青蛙计算中心需要算出这个序列的每一个区间的和,然后再求和得到最终的结果。
毕竟是蛙脑计算,未免产生错误,于是会有 m 种错误发生。
每种错误以 x,y 来描述,表示计算 [l,r] 的区间和时,如果有 l 和 r 其中至少一个是 x,那么这个区间和就不能计算 ay 的值。
答案需要对 109+7 取模。
输入格式
第一行两个整数 n,m 。
第二行 n 个整数,表示输入序列 a 。
接下来 m 行,每行两个整数 x,y ,代表一个错误。
输出格式
一个整数,表示答案对 109+7 取模后的值。
样例输入
5 5
1 2 3 4 5
1 2
2 3
4 3
3 4
4 5
样例输出
69
数据范围
对于前 10% 的数据: n,m≤100,ai≤10;
对于前 60% 的数据: n,m≤5000,ai≤10;
对于另外 20% 的数据:m=0;
对于 100% 的数据: n,m≤106,0<ai<109+7,1≤x,y≤n.
数据保证错误两两不同。
样例解释:
1+1+4+5+13+2+2+6+11+3+0+8+4+4+5=69.