Digi Comp II 是一台小球从顶部进入,通过由开关定义的电路到达底部的机器。每当一个小球落在一个开关上时,它会根据开关的状态向左或向右移动,并在此过程中翻转该开关的状态。
从抽象的角度来看,它可以建模为一个有向图,其中每个开关对应一个出度为 2 的顶点,此外还有一个出度为 0 的指定终点。其中一个开关顶点是起点,其入度为 0。每个开关顶点都有一个内部状态(L/R)。一个小球从起点出发,沿着路径向下到达终点,在每个开关顶点处,它会根据该开关顶点的内部状态选择向左或向右的边。一个小球通过后,顶点的内部状态会发生翻转。小球总是向下运动,因此不会进入循环。
我们可以通过指定图的结构、每个开关顶点的初始状态以及进入的小球数量来“编程”这台机器。计算的结果是计算结束时所有开关的状态。有趣的是,人们可以利用这台机器编写相当复杂的算法,例如加法、乘法、除法,甚至是稳定婚姻问题。然而,它不是图灵完备的。
Photo by oskay from Flickr, cc by-sa
输入格式
输入包含:
- 一行,包含两个整数 $n$ ($0 \le n \le 10^{18}$) 和 $m$ ($1 \le m \le 500\,000$),分别表示小球的数量和图中开关的数量;
- $m$ 行,按顺序描述开关 $1$ 到 $m$。每行包含一个字符 $c$('L' 或 'R')和两个整数 $L$ 和 $R$ ($0 \le L, R \le m$),描述开关的初始状态 ($c$) 以及向左 ($L$) 和向右 ($R$) 边所指向的顶点。$L$ 和 $R$ 可以相等。
顶点 $0$ 是终点,顶点 $1$ 是起点。图中没有环,即小球通过一个开关后,永远不会回到该开关。
输出格式
输出一行,包含一个长度为 $m$ 的字符串,由字符 'L' 和 'R' 组成,描述开关(按 $1$ 到 $m$ 的顺序)的最终状态。
样例
样例输入 1
5 3 L 2 3 R 0 3 L 0 0
样例输出 1
RLL