#joi2009yoe. [joi2009yo_e]シャッフル

[joi2009yo_e]シャッフル

问题

给定了 nn 张卡片,上面写着从 11nn 的编号。首先,按顺序将编号为 11 的卡片放在最上面,接下来是编号为 22 的卡片,依此类推,直到编号为 nn 的卡片,形成一堆卡片。

2009-yo-t5-1.png

对于这堆卡片,可以通过进行名为 "洗牌 (x,y)(x, y)" 的操作来重排卡片(其中 xxyy 是满足 1x<y<n1 \leq x < y < n 的整数)。

洗牌 (x,y)(x, y)

nn 张卡片分成三堆:从最上面到第 xx 张卡片为一堆 A,从第 x+1x+1 张到第 yy 张卡片为一堆 B,从第 y+1y+1 张到最后一张卡片为一堆 C。然后,将堆 B 放在堆 A 的上面,再把堆 C 放在堆 B 的上面。

例如,对于按顺序排列的 99 张卡片,执行 "洗牌 (3,5)(3, 5)" 操作后,卡片上的编号变为 6,7,8,9,4,5,1,2,36, 7, 8, 9, 4, 5, 1, 2, 3

2009-yo-t5-2.png

现在我们需要编写一个程序,在经过 mm 次洗牌操作 "洗牌 (x1,y1)(x_1, y_1)"、"洗牌 (x2,y2)(x_2, y_2)"、...、"洗牌 (xm,ym)(x_m, y_m)" 之后的卡片堆中,从上往下数第 pp 张到第 qq 张卡片中,编号不超过 rr 的卡片有多少张。


输入

输入由 m+3m + 3 行组成。第一行为卡片的数量 nn (3n1,000,000,000=1093 \leq n \leq 1,000,000,000 = 10^9)。第二行为洗牌次数 mm (1m50001 \leq m \leq 5000)。第三行为整数 p,q,rp, q, r (1pqn1 \leq p \leq q \leq n1rn1 \leq r \leq n)。接下来的 mm 行 (1im1 \leq i \leq m) 每行包含两个整数 xi,yix_i, y_i (1xi<yi<n1 \leq x_i < y_i < n),以空格分隔。

输出

对于经过 mm 次洗牌操作后的卡片堆,从上往下数第 pp 张到第 qq 张卡片中,编号不超过 rr 的卡片的数量。


输入示例1

9
1
3 7 4
3 5

输出示例1

2

对于输入示例1中的卡片堆,执行 "洗牌 (3,5)(3, 5)" 操作后,卡片变为 6,7,8,9,4,5,1,2,36, 7, 8, 9, 4, 5, 1, 2, 3。从上往下数第 33 张到第 77 张中,编号不超过 44 的卡片有 22 张,即编号为 4411


输入示例2

12
3
3 8 5
3 8
2 5
6 10

输出示例2

3

对于输入示例2中的卡片堆,依次执行 "洗牌 (3,8)(3, 8)"、"洗牌 (2,5)(2, 5)" 和 "洗牌 (6,10)(6, 10)" 操作后,卡片变为 9,10,3,11,12,4,5,6,7,8,1,29, 10, 3, 11, 12, 4, 5, 6, 7, 8, 1, 2。从上往下数第 33 张到第 88 张中,编号不超过 55 的卡片有 33 张。