Eric 是一个酷孩子,他刚刚得知回文串是指正着读和反着读都相同的字符串。最近,他发现了一个由 $n$ 个英文小写字母组成的字符串。他立即开始在其中寻找回文子串(子串是字符串中连续的字符序列)。他很快发现这个字符串中并不包含很长的回文子串。
Eric 想要通过对字符串中的两个字母进行恰好一次交换(这两个字母必须处于不同的位置)来改善这种情况。在 Eric 进行恰好一次交换后,能够获得的最长回文子串的长度是多少?
输入格式
输入包含一个长度在 $2$ 到 $5\,000$ 之间(包含边界)且仅由英文小写字母(a-z)组成的字符串。
输出格式
输出一个整数,表示 Eric 在进行恰好一次交换后,所能获得的最长回文子串的最大长度。
样例
输入样例 1
ccbaada
输出样例 1
5
输入样例 2
ab
输出样例 2
1
说明
对于样例 1,Eric 可以交换第一个 c 和第一个 a(即交换 ccbaada 中下标为 0 和 3 的字符)。交换后的字符串为 acbcada,其中包含一个长度为 $5$ 的回文子串:acbca。