#P13270. 【模板】最小表示法

【模板】最小表示法

题目背景

原模板题:P1368 工艺

题目描述

若长度为 nn 的字符串 ss 中可以选择一个位置 ii,使得 sisns1si1=t\overline{s_i\cdots s_ns_1\cdots s_{i-1}}=t,则称 sstt 循环同构。字符串 ss最小表示为与 ss 循环同构的所有字符串中字典序最小的字符串。

给定一个长度为 nn 的字符串 ss,请求出 ss 的最小表示。

输入格式

第一行一个整数 nn

第二行一个长度为 nn 的字符串 ss

输出格式

一行,一个字符串,为 ss 的最小表示。

10
caacabcaab
aabcaacabc

提示

对于全部数据,1n1071\le n\le 10^7,字符串 ss 仅包含小写英文字母(ASCII 9712297\sim 122)。

设置以下三档部分分,用于测试不同解法:

  • 对于 20%20\% 的数据,n103n\le 10^3
  • 对于 50%50\% 的数据,n105n\le 10^5
  • 对于 100%100\% 的数据,无特殊限制。