#joi2009yoe. [joi2009yo_e]シャッフル

[joi2009yo_e]シャッフル

問題

11 から nn までの番号が書かれた nn 枚のカードがある.まず,一番上が番号 11 のカード,上から 22 枚目が番号 22 のカード,ldots\\ldots,一番下が番号 nn のカードとなるように順番に重ねて,カードの山を作る.

2009-yo-t5-1.png

カードの山に対して,「シャッフル (x,y)(x, y) 」と呼ばれる次のような操作を行うことで,カードを並び替える(x,yx, y1leqqx<y<n1 \\leqq x < y < n をみたす整数).

シャッフル (x,y)(x, y)

nn 枚のカードを,一番上から xx 枚目までのカードからなる山 A,x+1x + 1 枚目から yy 枚目のカードからなる山 B,y+1y + 1 枚目から nn 枚目のカードからなる山 C の 33 つの山に分ける.そして,山 A の上に山 B を重ね,さらにその上に山 C を重ねる.

例えば,順番に並んでいる 99 枚のカードに対して「シャッフル (3,5)(3, 5)」を行うと,99 枚のカードに書かれた番号は,上から順番に 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)cdots\\cdots「シャッフル (xm,ym)(x_m, y_m)」を順番に行った後のカードの山において,上から数えて pp 枚目から qq 枚目のカードの中に番号が rr 以下のカードが何枚含まれているかを求めるプログラムを作成せよ.


入力

入力は m+3m + 3 行からなる.11 行目にはカードの枚数 nn が書かれている (3leqqnleqq1,000,000,000=1093 \\leqq n \\leqq 1\\,000\\,000\\,000 = 10^9) .22 行目にはシャッフルの回数を表す整数 mm が書かれている (1leqqmleqq50001 \\leqq m \\leqq 5000).33 行目には整数 p,q,rp, q, r が書かれている (1leqqpleqqqleqqn1 \\leqq p \\leqq q \\leqq n1leqqrleqqn1 \\leqq r \\leqq n).i+3i + 3 行目 (1leqqileqqm1 \\leqq i \\leqq m) には 22 つの整数 xi,yix_i, y_i (1leqqxi<yi<n1 \\leqq x_i < y_i < n) が空白を区切りとして書かれている.

出力

mm 回のシャッフル後のカードの山において,上から数えて pp 枚目から qq 枚目のカードの中に含まれている番号が rr 以下のカードの枚数を出力せよ.


入力例 1

9
1
3 7 4
3 5

出力例 1

2

入力例 11 の山に対して, 「シャッフル (3,5)(3, 5)」を行うと,カードは上から順番に 6,7,8,9,4,5,1,2,36, 7, 8, 9, 4, 5, 1, 2, 3 となる.上から数えて 33 枚目から 77 枚目に含まれる番号が 44 以下のカードは,番号 44 と番号 1122 枚である.


入力例 2

12
3
3 8 5
3 8
2 5
6 10

出力例 2

3

入力例 22 の山に対して, 「シャッフル (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 枚である.