Border
시간 제한2초메모리 제한512 MB
시드로 생성된 문자열에서 i<j인 모든 쌍에 대해, i에서 시작하는 접두사와 j에서 끝나는 접미사가 일치하는 최대 길이 k의 합을 구합니다.
문제
문자열 이 주어진다. 부분 문자열은 로 나타내며, 이면 빈 문자열이다. 를 다음과 같이 정의한다.
를 출력한다.
문자열 는 다음 방식으로 생성된다. 과 는 생성기의 매개변수이다.
long long seed;
for (int i = 1; i <= n; i++) {
seed = (seed * 13331 + 23333) % 1000000007;
s[i] = 'a' + (seed & 1);
}
입력
첫 번째 줄에 정수 과 가 주어진다 (, ).
출력
답을 출력한다.