8410: Large Banner

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

贝茜即将旅游归来,农夫约翰希望为她准备一个“欢迎回家”的横幅。

农夫约翰的田地尺寸为 M×NM×N,他在田地中每个整数坐标位置上都安装了一个柱子。

如果我们给田地指定坐标系,则使 (0,0)(0,0) 位于田地左下角,(M,N)(M,N) 位于田地右上角。

在这 (M+1)×(N+1)(M+1)×(N+1) 个点中,约翰必须选择两个作为横幅的端点。

约翰是一个完美主义者,他坚持认为横幅必须完全笔直。

这意味着,对于他选择的两个柱子,横幅在它们之间形成的线段上不能有任何其他柱子。

此外,约翰希望横幅的长度至少为 LL,最多为 HH

请帮助约翰确定他共有多少种可能的方法来挂横幅。

由于横幅是可逆的,所以选定两个柱子后,无论哪个柱子挂横幅哪一端看上去都完全一样,都只算一种方法。

由于这个数字可能很大,你只需要输出对 BB 取模后的值。

考虑下面的例子,此时 M=2,N=2M=2,N=2

* * * * * * * * * 

约翰希望横幅的长度在 11 到 33 之间(含 11 和 33)。

无论选择哪两个柱子都能在长度上满足要求,但是有 88 对柱子不能选择:

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

因此,共有 C29−8=28C92−8=28 种方法。

输入格式

共一行,包含 55 个整数 M,N,L,H,BM,N,L,H,B

输出格式

输出所有可能悬挂横幅的方法总数对 BB 取模后的结果。

输入样例 复制

2 2 1 3 100

输出样例 复制

28

数据范围与提示

1≤M,N≤100000,
1≤L≤H≤150000,
1≤B≤1000000000