郭嘉烜有一间特殊的教室,这间教室里只有一排座位。郭嘉烜需要安排n个人在这间教室中考试,因此他需要排出他们的座位。
我们知道所有同学上一次考试的成绩,要求相邻的m个人上一次考试成绩之和不能超过s,否则这个座位方案就是无效的。
为简化输入,我们将使用如下代码生成数据。你可以直接拷贝以下代码,在每个样例中将此函数调用n次以生成成绩数据。
int seed, offset, mask;
int generate() {
seed = (seed << offset) ^ mask;
mask ^= seed >> offset;
seed = (seed >> (offset / 2) ^ mask);
return abs(seed % 100);
}
第一行,三个整数,n,m,s
第二行,一个整数p,表示样例的个数
接下来的p行,每行三个整数,seed,offset,mask,作为生成数据的种子
p行,每行根据对应样例是否是有效的排座方案,有效输出YES,无效输出NO。
1 ≤m≤n≤105,s≤109,1 ≤p≤20