#P16821. [NWRRC 2023]First Solved, Last Coded

[NWRRC 2023]First Solved, Last Coded

题目描述

在 ICPC 中,团队协作至关重要。你们队伍中,Sol 负责解题,Codie 负责实现,而你负责在两人之间传递题解纸。

比赛共有 nn 道题,每道题都有一个主题,用 11nn 的整数表示。不同题目的主题可以相同。

Sol 希望按照主题序列

a1,a2,,ana_1,a_2,\ldots,a_n

依次解题;Codie 则只愿意按照主题序列

b1,b2,,bnb_1,b_2,\ldots,b_n

依次编码。

Sol 会按 a1,a2,,ana_1,a_2,\ldots,a_n 的顺序把题解交给你。你只能把收到的题解纸放入一个栈中,并从栈顶取出题解交给 Codie。

在任意时刻,你最多可以执行以下两种操作之一:

  • 若仍有题目尚未被 Sol 解出,则让 Sol 交给你下一份题解,并将其压入栈顶。该操作记为字符 S
  • 若栈非空,则从栈顶取出一份题解并交给 Codie。该操作记为字符 C

请找出一个操作序列,使得 Sol 和 Codie 都能严格按照各自希望的主题顺序工作。

输入格式

第一行包含一个整数 nn,表示题目数量(1n1001\le n\le 100)。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示 Sol 希望的主题顺序(1ain1\le a_i\le n)。

第三行包含 nn 个整数 b1,b2,,bnb_1,b_2,\ldots,b_n,表示 Codie 希望的主题顺序(1bin1\le b_i\le n)。

保证两个序列作为多重集合相等,即每个整数在 AABB 中出现的次数相同。

输出格式

若无法完成任务,输出一行:

NO

否则,第一行输出:

YES

第二行输出一个长度为 2n2n 的字符串,其中恰好包含 nnSnnC,表示按顺序执行的操作。

不允许在所有题目都已解出后继续执行 S,也不允许把主题不符合 Codie 当前需求的题解交给他。

若有多种答案,输出任意一种。

样例 1

4
4 1 2 2
1 2 4 2
YES
SSCSCCSC

样例 2

3
2 3 1
1 2 3
NO