CF1550E Stringforces

Description

You are given a string $ s $ of length $ n $ . Each character is either one of the first $ k $ lowercase Latin letters or a question mark. You are asked to replace every question mark with one of the first $ k $ lowercase Latin letters in such a way that the following value is maximized. Let $ f_i $ be the maximum length substring of string $ s $ , which consists entirely of the $ i $ -th Latin letter. A substring of a string is a contiguous subsequence of that string. If the $ i $ -th letter doesn't appear in a string, then $ f_i $ is equal to $ 0 $ . The value of a string $ s $ is the minimum value among $ f_i $ for all $ i $ from $ 1 $ to $ k $ . What is the maximum value the string can have?

Input Format

N/A

Output Format

N/A

Explanation/Hint

In the first example the question marks can be replaced in the following way: "aaaababbbb". $ f_1 = 4 $ , $ f_2 = 4 $ , thus the answer is $ 4 $ . Replacing it like this is also possible: "aaaabbbbbb". That way $ f_1 = 4 $ , $ f_2 = 6 $ , however, the minimum of them is still $ 4 $ . In the second example one of the possible strings is "aabbccdda". In the third example at least one letter won't appear in the string, thus, the minimum of values $ f_i $ is always $ 0 $ .