Вам задана строка \(s\), состоящая только из первых \(20\) строчных букв латинского алфавита ('a', 'b', ..., 't').
Напомним, что подстрокой \(s[l; r]\) строки \(s\) называется строка \(s_l s_{l + 1} \dots s_r\). Например, подстроками «codeforces» являются «code», «force», «f», «for», но не строки «coder» и «top».
Вы можете произвести следующую операцию не более одного раза: выбрать какую-то подстроку \(s[l; r]\) и развернуть ее (то есть строка \(s_l s_{l + 1} \dots s_r\) превращается в \(s_r s_{r - 1} \dots s_l\)).
Ваша задача — максимизировать длину максимальной подстроки \(s\), состоящей из различных (то есть уникальных) символов.
Строка состоит из различных символов, если ни один символ этой строки не встречается более одного раза. Например, строки «abcde», «arctg» и «minecraft» состоят из различных символов, а строки «codeforces», «abacaba» не состоят из различных символов.
Выходные данные
Выведите одно целое число — максимально возможную длину максимальной подстроки \(s\), состоящей из различных символов, после переворота не более чем одной ее подстроки.