#P3996. 失败的竞猜游戏

失败的竞猜游戏

题目背景

大宁是一个喜欢赌博的人,最近在玩一款竞猜游戏,然而屡战屡败。大宁非常不高兴,就去找游戏的运营商理论,质疑游戏的数据是否有意针对玩家。

题目描述

游戏规则如下:玩家给出 A0A_0aabb 三个整数,代表一个线性递推式:

Ai=a×Ai1+bA_i=a \times A_{i-1} +b

它定义了一个无限长度的数列 {A1A_1A2A_2A3A_3……},而游戏系统会随机生成一个数 nn,如果 nn 可以表示为该数列中的若干个互不相同的项 ( A0A_0 不计入数列中) 之和,那么玩家胜利,反之玩家失败。现在大宁通过逼迫运营商交出了一组最近的游戏数据,但是他懒得一个个去算了,现在请你帮忙计算一下,数据中玩家一共获胜了多少次。

输入格式

第一行一个正整数 TT,表示进行了 TT 场游戏。

接下来 TT 行,每行四个整数,描述一场游戏,分别为题目中的 A0A_0aabbnn

输出格式

输出一行 AnsAns,表示玩家在 TT 场游戏中获胜的次数。

7
3 1 5 16
10 1 0 5
2 1 0 3
2 1 0 10
3 1 5 59
1 2 0 998
0 1 0 0

4

提示

样例说明:

131\sim 3 场游戏玩家失败,474\sim 7 场游戏玩家胜利。

测试点编号 数据范围 特殊性质
121\sim 2 T=10T=10, n103n\leq 10^3 a=1a=1
343\sim 4 T=103T=10^3, n104n\leq 10^4 a=2a=2
55 T=104T=10^4, n109n\leq 10^9 a3a\leq 3
66 T=105T=10^5, n109n\leq 10^9 b=0b=0
7107\sim 10 T=2×105T=2\times 10^5, n109n\leq10^9
对于所有数据,1a101\leq a\leq10, 0b1040 \leq b \leq 10^4, 0n1090\leq n \leq 10^9, 0A01000 \leq A_0 \leq 100

事实上这个游戏玩家的胜率微乎其微。