#2075. Large Banner

Large Banner

题目描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

输入格式

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

输出格式

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

样例

输入样例

2 2 1 3 100

输出样例

28