ZYB's Tree

Accepts: 77
Submissions: 513
Time Limit: 3000/1500 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
$ZYB$有一颗$N$个节点的树,现在他希望你对于每一个点,求出离每个点距离不超过$K$的点的个数.

两个点$(x,y)$在树上的距离定义为两个点树上最短路径经过的边数,

为了节约读入和输出的时间,我们采用如下方式进行读入输出:

读入:读入两个数$A,B$,令$fa_i$为节点$i$的父亲,$fa_1=0$;$fa_i=(A*i+B)\%(i-1)+1$ $ i \in [2,N]$ .

输出:输出时只需输出$N$个点的答案的$xor$和即可。
输入描述
第一行一个整数$T$表示数据组数。

接下来每组数据:

 一行四个正整数$N,K,A,B$.

 最终数据中只有两组$N \geq 100000$。

$1 \leq T \leq 5$,$1 \leq N \leq 500000$,$1 \leq K \leq 10$,$1 \leq A,B \leq 1000000$
输出描述
$T$行每行一个整数表示答案.
输入样例
1
3 1 1 1
输出样例
3