#63162. 掷标枪
掷标枪
暂无测试数据。
掷标枪是田径运动中的一个投掷项目。运动员经过助跑后把标枪投掷出去。

春节假期,蒜头君约上他的小伙伴一块儿掷标枪。
总共有 $n$ 个人,所有人依次从同一起点开始向同一方向掷标枪,第 $i$ 个人投掷的距离为 $x_i$。
蒜头君想要让运动更加有趣,他会统计每个人投出标枪落点的前/后最近标枪的位置,若落点后最近的标枪位于 $behind$,落点前最近的标枪位于 $front$,则满足 $behind < x_i < front$。此时蒜头君给这位小伙伴记:$behind + front$ 分,如果:
- 标枪落点后方无标枪,则让 $behind = 0$;
- 标枪落点前方无标枪,则让 $front = 0$。
现在你需要帮蒜头君计算出所有小伙伴得分的总和,并对 $10^9 + 7$ 取模。
输入格式
第一行,输入一个正整数 $n$,表示共有 $n$ 个人数。
第二行,输入四个非负整数:$A, B, C, a_1$,含义如下:
由于 $n$ 较大,因此需要通过给定的种子($A,B,C,a_1$),按照规则生成对应的 $x_i$,规则如下:
- $i\geq 2$ 时,$a_i = (A \times a_{i-1}^2 + B\times a_{i-1} + C) \% 1000000007$
- $i \geq 1$ 时,$x_i = (a_i \% n) + 1$。
输出格式
输出一个整数,表示所有人得分的总和对 $10^9 + 7$ 取模的结果。
数据范围
对于 $20\%$ 的数据:$A = 0, B = 1, C = 1, a_1 = 0$;
对于另外 $20\%$ 的数据:$1\leq n \leq 10^3$;
对于另外 $50\%$ 的数据:$1\leq n \leq 10^5$;
对于 $100\%$ 的数据:$1\leq n \leq 6\times 10^6, 0\leq A,B,C,a_1 < 10^9 + 7$。
5 2 3 2 3
18
10 2 3 4 5
90