2015 年的国际信息学奥林匹克竞赛在哈萨克斯坦举行。哈萨克斯坦的“哈萨克”在字母表中可拼写为“QAZAQ”,这是一个回文。得知此事的 JOI 君对回文产生了兴趣,于是决定从他看到的文本中构造回文。
JOI 君看到的是一个长度为 的字符串。每个字符对应一个从 1 到 的整数,将字符串的字符替换为整数后得到数列 。从数列 的第 项到第 项()取出的子序列 称为片段 。若将片段 前后翻转后和原来相等,即 时,称该片段为回文。
JOI 君通过以下操作构造回文:
- 首先,选择一个片段。设所选片段为 。
- 将片段 升序排序,得到 。
- 在数列 中,将片段 替换为 ,得到新数列 。具体而言,若 JOI 君选择片段 ,则将 升序排序,得到 ,并令 。
- 然后,在 中寻找回文片段。
JOI 君希望通过此操作构造尽可能长的回文。
给定 JOI 君看到的字符串对应的数列 ,求 JOI 君能够构造出的回文的最大长度。