Problem1250--#532. 「LibreOJ β Round #5」随机数列

1250: #532. 「LibreOJ β Round #5」随机数列

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

你算出了结果后,LCR 发现游戏匹配的随机对手「神犇」并没有走最优决策,于是她赢得了比赛并解密了数据。
现在 LCR 要将数据发送到 LOJ。然而近期网络环境不稳定,为了数据的安全传输,LCR 要在其中加入随机校验数列。
LCR 的随机数列 ${X_n}$ 可以由四个参数 $A, B, C, X_0$ 描述:
$X_{n+1}=((AX_n+B) \bmod C)+1\ (n \in \mathbb{N})$
传输完成后,要检测该数列的随机性以验证传输是否出现问题。于是 LCR 随机选取了序列中下标位于 $[L_1, R_1]$ 的某个元素 $X_i$,以及下标位于 $[L_2, R_2]$ 的某个元素 $X_j$,请你帮忙计算 $\left\lceil \frac{X_i}{X_j} + \frac{X_j}{X_i} \right\rceil$ 的期望值。
为了避免精度误差,你只需要给出期望值乘以 $(R_1 - L_1 + 1)(R_2 - L_2 + 1)$ 的值对 $10^9 + 7$(一个质数)取模的值即可。

Input

共一行,包含八个正整数 $A, B, C, X_0, L_1, R_1, L_2$,相邻两个数字之间恰好有一个空格。

Output

共一行,包含一个数字,表示答案。

Constraints

对于所有数据,$1 \leq A, B, C, X_0 \leq 10^6, 1 \leq L_1 \leq R_1 \leq 10^{18}, 1 \leq L_2 \leq R_2 \leq 10^{18}$。

Sample 1 Input

1 3 7 1 2 3 4 5

Sample 1 Output

13
$X = [1, 5, 2, 6, 3, 7, \cdots]$

Sample 2 Input

3 5 10 1 2 3 1 2

Sample 2 Output

12
$X = [1, 9, 3, 5, \cdots]$

Source/Category