C1650 [Wannafly冬令营2018Day2]Linear Congruential Generator

内存限制:256 MB 时间限制:2000 ms

题目描述

给定一个递归定义的生成器,其满足的递归关系为

$X_{n + 1} = ((a X_n + c) \bmod m),$

这里 $X$ 是生成的伪随机数序列,而 $m$, $a$, $c$, $X_0$ 则是定义这个生成器所给出的整数常量。

另外,两个整数区间 $[l_1, r_1]$ 和 $[l_2, r_2]$ 也被指定,请你计算下面这个式子的值:

$\sum_{i = l_1}^{r_1}\sum_{j = l_2}^{r_2}{(X_i \bmod (X_j + 1))}$

在第一组样例测试数据中,${X_n}_{n = 0}^{\infty} = {1, 5, 2, 6, 3, 0, \cdots}$。

在第二组样例测试数据中,${X_n}_{n = 0}^{\infty} = {1, 9, 3, 5, \cdots}$。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。随后的内容是各组测试数据。对于每组测试数据:

仅一行,包含八个整数 $m, a, c, X_0, l_1, r_1, l_2, r_2$。

  • $1 \leq T \leq 10^5$
  • $1 \leq m \leq 10^6$
  • $0 \leq a, c, X_0 < m$
  • $0 \leq l_1 \leq r_1 \leq 10^6$
  • $0 \leq l_2 \leq r_2 \leq 10^6$
  • 所有数据的 $m$ 之和不超过 $2 \times 10^6$。

输出

对于每组测试数据,输出一行Case #x: y,其中x是测试数据的编号(从 $1$ 开始编号),y是这组数据的答案。

样例

样例输入 1

2 7 1 4 1 2 3 4 5 10 3 6 1 2 3 1 2

样例输出 1

Case #1: 4 Case #2: 12

提示