#2561. 收藏古币(Hard)

收藏古币(Hard)

说明

徐老师喜欢收藏古代钱币,他在古玩市场看到 nn 个古币盒子,每个古币盒子含有 5 个古代硬币。

现在徐老师一个个检查这些盒子,如果当前盒子和之前购买的盒子本质不同,他就会买下,否则就跳过。两个盒子里的硬币价值如果能一一对应,就说明是本质相同的,比如`3 5 5 6 2`和`5 5 2 3 6`是本质相同的;硬币价值不能一一对应就说明是本质不同的,比如`1 2 3 4 5`和`2 3 4 5 6`。

现在徐老师请你写一个程序帮忙计算是否购买每个古币盒子。

输入格式

第一行一个整数 n(1<=n<=106)n (1<= n <= 10^6),表示一共有 nn 个古币盒子。

为了减少输入的数据量,输入数据采用数据生成器。

接下来 5 行,每行 4 个不超过 10910^9 的正整数 AjBjCjDjA_j、B_j、C_j、D_j,表示古币的第 jj 个属性生成器的四个参数。

nn 枚古币的第 jj 个属性 anja_{nj} 满足:

c1j=1c_{1j}=1

$c_{{i+1},j}=(A_j×c_{ij}+c_{ij} \bmod B_j) \bmod C_j$ ,

aij=cijmodDja_{ij}=c_{ij} \bmod D_j

输出格式

输出 nn 行,如果第 ii 个盒子和之前盒子本质不同,输出 "buy" ,否则输出 "pass" 。

样例

10
3 9 6 2
11 6 10 1
4 6 7 3
3 9 3 3
7 4 9 1
buy
buy
buy
buy
pass
pass
pass
pass
pass
pass

Limitation

1s, 1024KiB for each test case.