开始: 2025-03-24 00:00:00

(24-25赛季)稠州常规赛17

结束: 2025-03-27 00:00:00
当前  2025-04-16 09:11:16  类型: IOI  状态: 已经结束 

P1. 美丽字符串 (str)
描述

在一个神秘的字母王国,所有的字母都有其独特的魅力。**每当一个字符串的第一个字符和最后一个字符相同时,它就被称为“美丽的”**。这个王国的居民们喜欢通过旋转字符串来寻找美丽的字符串。

给定一个长度为 n 的字符串 S = s_0 s_1 \ldots s_{n-1},定义一个操作 f(S, d) 表示将字符串 S 向左旋转 d 次后得到的新字符串。具体来说,f(S, d) = s_{(d+0) \mod n} s_{(d+1) \mod n} \ldots s_{(d+n-1) \mod n}

你需要找出最小的非负整数 d,使得 f(S, d) 是美丽的。如果不存在这样的 d,则输出 `-1`。


输入

第一行输入一个仅由小写英文字母组成的字符串 s_0 s_1 \ldots s_{n-1} (1 \leq n \leq 5 \times 10^5)。


输出

每组数据输出一行一个整数,表示满足 f(S, d) 是美丽的最小非负整数 d。若不存在这样的 d,输出 `-1`。

样例

输入

agnnmddxd

输出

3

输入

abc

输出

-1
提示

解释1

f(S, 3) = \text{nmddxdagn}。由于它的第一个字符和最后一个字符都是 n,因此它是一个美丽的字符串。虽然 f(S, 6) = \text{dxdagnnmd} 也是美丽的,但我们需要返回最小的非负整数 d。所以答案是 3

数据范围与约定

- 对于 30\% 的数据,n \leq 13

- 对于 50\% 的数据,n \leq 5 \times 10^4

- 对于 100\% 的数据,1 \leq n \leq 2 \times 10^6


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交