#P5533. Large Banner

Large Banner

题目描述

贝西从国外长途旅行回到根西岛,农夫约翰想为她的到来挂上一个漂亮的"欢迎回家"横幅。FarmerJohn{Farmer John }的田地具有整数尺寸 MxN(1<=M,N<=100,000){M x N (1 <= M, N <= 100,000),}并且他在田地的每个可能点都安装了一个带有整数坐标的柱子(如果我们为田地分配一个坐标系,那么 (0,0){( 0,0) }位于左下角,(M,N){(M,N) }位于右上角)。在这些 (M+1)(N+1){(M+1) * (N+1) }个点中,FarmerJohn{Farmer John }必须选择两个作为横幅的端点。

作为完美主义者的农夫约翰坚持横幅必须完全笔直。这意味着,对于他选择的两个帖子,在它们之间将形成横幅的线段上不能有任何其他帖子。此外,FarmerJohn{Farmer John }希望横幅的长度至少为 L{L,}最多 为 H(1<=L<=H<=150,000){H (1 <= L <= H <= 150,000)}。农夫约翰需要你的帮助来弄清楚他可以用多少种方法来悬挂横幅。横幅是可逆的,因此切换横幅的两个端点算作悬挂横幅的相同方式。由于这个数字可能非常大,FarmerJohn{Farmer John }只想知道它是模 B(1<=B<=1,000,000,000){B (1 <= B <= 1,000,000,000)}

考虑下面的示例,其中 M=2{M = 2 }N=2{N = 2:}

FarmerJohn{* * * * * * * * * Farmer John }希望横幅的长度在 1{1 }3{3 }之间(含 1{1 }3{3)}。任何选择的帖子都满足这个长度要求,但请注意不能选择八对:

(0,0){(0, 0) }(2,0){(2, 0):}(1,0){(1, 0) }在它们之间的线段上

(0,1){(0, 1) }(2,1){(2, 1):}(1,1){(1, 1) }在它们之间的线段上

(0,2){(0, 2) }(2,2){(2, 2):}(1,2){(1, 2) }在它们之间的线段上

(0,0){(0, 0) }(2,2){(2, 2):}(1,1){(1, 1) }在它们之间的线段上

(0,0){(0, 0) }(0,2){(0, 2):}(0,1){(0, 1) }在它们之间的线段上

(1,0){(1, 0) }(1,2){(1, 2):}(1,1){(1, 1) }在它们之间的线段上

(2,0){(2, 0) }(2,2){(2, 2):}(2,1){(2, 1) }在它们之间的线段上

(0,2){(0, 2) }(2,0){(2, 0):}(1,1){(1, 1) }在它们之间的线段上

因此,总共有 (9{(9 }选择 2)8=28{2) - 8 = 28 }个可能的位置。

给出n,m,l,h{n,m,l,h,}问有多少点A(ax,ay),B(bx,by){A(ax,ay),B(bx,by)}满足:ax,bx{ax,bx∈}[0,n],ay,by{[0,n], ay,by∈}[0,m]{[0,m],}l<=AB<=h{l<=AB<=h,}且线段AB{AB}上除A,B{A,B}外无整点。

输入格式

1{1 }行:五个空格分隔的整数:M{M}N{N}L{L}H{H }B{B}

输出格式

1{1 }行:一个整数,表示可能的横幅数量 (模B{B})。

样例

输入样例

2 2 1 3 100

输出样例

28