圆圈上的变色龙
从前,森林中生活着许多变色龙,每只变色龙都有自己的初始颜色 。
变色龙们会在一个长度为 的圆环上进行游戏。第 只变色龙的初始位置为 ,运动方向可能是顺时针,也可能是逆时针。所有变色龙的速度大小均为 ,其中顺时针方向的速度记为 ,逆时针方向的速度记为 。圆环上的位置对 取模,并表示为区间 内的数。
当两只运动方向相反的变色龙相遇时,逆时针运动的变色龙会变成与顺时针运动的变色龙相同的颜色,而顺时针运动的变色龙颜色不变。随后,两只变色龙都会掉头,并沿相反方向继续运动。
请计算经过时间 后,每只变色龙的颜色、位置和运动方向。
输入格式
第一行输入一个整数 ,表示变色龙的数量。
第二行输入一个整数 ,表示圆环的长度。
接下来 行,第 行输入三个整数 ,分别表示第 只变色龙的初始位置、初始颜色和初始运动方向。其中, 表示顺时针运动, 表示逆时针运动。
最后一行输入一个整数 ,表示经过的时间。
输出格式
输出 行,每行三个数,分别表示经过时间 后,对应变色龙的位置 、颜色 和运动方向 。
位置 保留 位小数。
样例输入
4
13
2 1 1
0 2 -1
12 3 1
5 2 1
23
样例输出
2.000 2 1
12.000 1 1
9.000 3 1
3.000 3 -1
数据范围
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,,,,,;
- 保证任意两只变色龙的初始位置不同;
- 保证运动过程中不会出现 只或更多变色龙同时位于同一位置,因此每次相遇恰有 只反向运动的变色龙参与。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
4
13
2 1 1
0 2 -1
12 3 1
5 2 1
23
输出
2.000 2 1
12.000 1 1
9.000 3 1
3.000 3 -1