#ATagc055a. [AGC055A] ABC Identity

[AGC055A] ABC Identity

题目描述

给定一个长度为 3N3N 的字符串 SS,其中 SS 恰好包含 NNANNBNNC

我们称一个由 ABC 组成的字符串 TT好字符串,当且仅当满足以下条件:

  • TT 的长度能被 33 整除,记为 3K3K
  • T1=T2==TKT_1 = T_2 = \ldots = T_K
  • TK+1=TK+2==T2KT_{K+1} = T_{K+2} = \ldots = T_{2K}
  • T2K+1=T2K+2==T3KT_{2K+1} = T_{2K+2} = \ldots = T_{3K}
  • 字符 T1T_1TK+1T_{K+1}T2K+1T_{2K+1} 互不相同。

例如,ABCBBAACCAAACCCBBB 都是好字符串。

请你找到一种方法,将 SS 分解为不超过 66(不要求连续)的子序列,使得每个子序列都是好字符串。

在本题的限制下,必定存在这样的分解方法。

输入格式

输入从标准输入读入,格式如下:

NN SS

输出格式

请输出一个长度为 3N3N 的、仅包含 1166 的数字的字符串。对于每个 1i61 \leq i \leq 6,将 SS 中对应输出为 ii 的字符按顺序取出,组成的子序列应为好字符串。若有多种答案,输出任意一种均可。

样例 1

输入

2
ABCCBA

输出

111222

样例 2

输入

4
AABCBCAACBCB

输出

111211241244

说明/提示

限制

  • 1N21051 \leq N \leq 2 \cdot 10^5
  • 字符串 SS 恰好包含 NNANNBNNC

样例解释 1

SS 被分为子序列 ABCCBA,它们都是好字符串。

样例解释 2

输出为 11 的位置对应的子序列为 AABBCC,输出为 22 的位置对应的子序列为 CAB,输出为 44 的位置对应的子序列为 ACB,它们都是好字符串。

由 ChatGPT 4.1 翻译