luogu#P3306. [SDOI2013] 随机数生成器

    ID: 7336 远端评测题 1000ms 125MiB 尝试: 2 已通过: 0 难度: 5 上传者: 标签>2013山东O2优化素数判断质数筛法最大公约数gcd逆元

[SDOI2013] 随机数生成器

题目背景

小 W 喜欢读书,尤其喜欢读《约翰克里斯朵夫》。

题目描述

最近小 W 准备读一本新书,这本书一共有 pp 页,页码范围为 0p10 \sim p-1

小 W 很忙,所以每天只能读一页书。为了使事情有趣一些,他打算使用 NOI2012 上学习的线性同余法生成一个序列,来决定每天具体读哪一页。

我们用 xix_i 来表示通过这种方法生成出来的第 ii 个数,也即小 W 第 ii 天会读哪一页。这个方法需要设置 33 个参数 a,b,x1a,b,x_1,满足 0a,b,x1<p0\leq a,b,x_1\lt p,且 a,b,x1a,b,x_1 都是整数。按照下面的公式生成出来一系列的整数:

xi+1a×xi+b(modp)x_{i+1} \equiv a \times x_i+b \pmod p

其中 mod\bmod 表示取余操作。

但是这种方法可能导致某两天读的页码一样。

小 W 要读这本书的第 tt 页,所以他想知道最早在哪一天能读到第 tt 页,或者指出他永远不会读到第 tt 页。

输入格式

本题单测试点内有多组测试数据

第一行是一个整数 TT,表示测试数据组数。

接下来 TT 行,每行有五个整数 p,a,b,x1,tp, a, b, x_1, t,表示一组数据。

输出格式

对于每组数据,输出一行一个整数表示他最早读到第 tt 页是哪一天。如果他永远不会读到第 tt 页,输出1-1

3
7 1 1 3 3
7 2 2 2 0
7 2 2 2 1

1 
3 
-1

提示

数据规模与约定

对于全部的测试点,保证:

  • 1T501 \leq T \leq 50
  • 0a,b,x1,t<p0 \leq a, b, x_1, t \lt p2p1092 \leq p \leq 10^9
  • pp 为质数。