{"raw_statement":[{"iden":"statement","content":"\nSwipe 是一款新的手机游戏，最近大受欢迎。在 Swipe 游戏的每一个关卡中，您都会得到两个长度为 $N$ 的数列 $A$ 和 $B$。Swipe 游戏的每个关卡的目标是把数组 $A$ 变成数组 $B$。\n\n现在有两种可以对 $A$ 进行的滑动操作。\n\n- 向右滑动：选择一个区间 $[l, r]$，对任意 $l \\leq i \\leq r$ 令 $A_i = A_l$。\n- 向左滑动：选择一个区间 $[l, r]$，对任意 $l \\leq i \\leq r$ 令 $A_i = A_r$。\n\n例如，一开始 $A = [0, 1, 2, 3, 4, 5]$，如果我们对区间 $[2, 4]$ 做向右滑动的操作，序列变为 $[0, 1, 2, 2, 2, 5]$。如果我们对区间 $[3, 5]$ 做向左滑动的操作，序列变为 $[0, 1, 2, 5, 5, 5]$。注意序列从 $0$ 开始编号。\n\n不幸的是，游戏存在一些问题，可能会包含无法通过的关卡。请问是否可以将数组 $A$ 转换为数组 $B$。如果可以，请给出任意一种将数组 $A$ 转换为数组 $B$ 的滑动操作方案。\n"},{"iden":"input","content":"\n输入的第一行包含一个正整数 $N$ 表示两个数列的长度。\n\n第二行包含 $N$ 个空格隔开的 $A$ 中的整数。\n\n第三行包含 $N$ 个空格隔开的 $B$ 中的整数。\n"},{"iden":"output","content":"如果存在一种操作方案可以把 $A$ 变为 $B$，在第一行输出 `YES`，否则输出 `NO`。\n\n如果在第一行输出了 `YES`，则下一行包含一个非负整数 $K$（$K \\leq N$）表示滑动次数。\n\n接下来 $K$ 行每行包含三个空格隔开的数 $D_j,l_j$ 和 $r_j$。$D_j$ 是 `R` 或者 `L` 表示第 $j$ 次操作是向右滑动还是向左滑动。\n\n$l_j$ 和 $r_j$ 表示这次滑动操作的左端和右端，必须满足 $0 \\leq l_j \\leq r_j < N$。\n"},{"iden":"note","content":"**本题采用捆绑测试。**\n\n对于所有数据，保证 $1 \\leq N \\leq 3 \\times 10^5$，$1 \\leq A_i, B_i \\leq 3 \\times 10^5$。\n\n下面的表格显示了 $15$ 分的分配方案：\n\n| 分值 | $N$ 的范围 | $A_i$ 和 $B_i$ 的范围 |\n| :-: | :-: | :-: |\n| $2$ | $N = 2$ | $1 \\leq A_i, B_i \\leq 3$ |\n| $4$ | $1 \\leq N \\leq 8$ | $1 \\leq A_i, B_i \\leq 8$ |\n| $4$ | $1 \\leq N \\leq 500$ | $1 \\leq A_i, B_i \\leq 3000$ |\n| $5$ | $1 \\leq N \\leq 3 \\times 10^5$ | $1 \\leq A_i, B_i \\leq 3 \\times 10^5$ |\n\n注意对于一个分值为 $M$ 的子任务，如果只答对了第一行的内容，你可以得到 $\\left\\lfloor\\dfrac M2\\right\\rfloor$ 分。"}],"translated_statement":null,"sample_group":[["3\n3 1 2\n3 1 1\n","YES\n1\nR 1 2\n"],["4\n1 2 4 3\n1 4 2 3\n","NO\n"],["4\n2 1 4 3\n2 1 4 3\n","YES\n0\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}