[TJOI2019]甲苯先生的滚榜
题号:NC50805
时间限制:C/C++/Rust/Pascal 10秒,其他语言20秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

甲苯先生在制作一个OnlineJudge,他发现做比赛的人们很关心自己的排名(显而易见)。
在ACM赛制的比赛中,如果通过题目数量不相等,则通过题目数量多的人排名更靠前;
如果通过题目数量相等,则罚时更少的人排名更高。
甲苯先生想让大家帮忙设计一个程序,每次有人通过之后,就告诉他排名在他的前面有多少人。
(不包括和他罚时题数都相同的同学)

输入描述:

第一行输入一个整数T表示测试样例的个数。
对于每一个样例,输入三个整数
m表示参赛总人数(编号),n表示一共有n次AC(假设AC已经去重,即不存在相同人的相同题目提交)。
表示生成数据的种子。
接下来要求同学们使用之下的函数生成数据:
typedef unsigned int ui;
ui randNum(ui6 seed,ui last,const ui m){ 
         seed=seed∗17+last; 
         return seed % m + 1;
}

为上一次输出的结果,在没有输出结果时,多组数据时不需要重新赋值)
要求每次生成两个数据,表示第个人AC了一道题目,他的罚时为
(也就是说的题目数量+1,罚时长度)。
要求一共生成n组数据,代表一共有n次提交。
对于所有数据,保证罚时总和不超过

输出描述:

每次提交输出一行整数,表示在第个人AC后,比成绩高的有多少个选手。
示例1

输入

复制
1
7 3 1

输出

复制
0
1
0

备注: