글자 빈도 차이

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

소문자 알파벳('a'부터 'z')으로만 이루어진 길이 nn의 단어가 주어진다. 이 단어에서 비어 있지 않은 연속한 부분 문자열(한 덩어리로 이어진 조각)을 하나 골라, 그 조각 안에서 가장 많이 나오는 글자의 등장 횟수와 가장 적게 나오는 글자의 등장 횟수의 차이를 최대로 만들고 싶다. 이때 '가장 적게 나오는 글자'는 그 조각 안에 적어도 한 번은 등장해야 한다. 특히 조각이 한 종류의 글자로만 이루어져 있다면, 가장 많이 나오는 글자와 가장 적게 나오는 글자가 같으므로 그 차이는 00이다.

입력

첫째 줄에 단어의 길이를 나타내는 정수 nn이 주어진다 (1n1061 \le n \le 10^6). 둘째 줄에 소문자 알파벳으로 이루어진 길이 nn의 단어가 주어진다.

출력

비어 있지 않은 연속한 부분 문자열 전체에 대해 얻을 수 있는, 가장 많이 나오는 글자의 등장 횟수와 가장 적게 나오는 글자의 등장 횟수의 최대 차이를 정수 하나로 출력한다.

힌트

예를 들어 단어가 aabbaaabab일 때, 부분 문자열 aaaba에서는 a가 4번, b가 1번 나와 차이가 33이 되며 이것이 최댓값이다.