새로운 등장
시간 제한1초메모리 제한1024 MB
문자열 S의 각 접두사에서 모든 부분 문자열의 등장 횟수를 제곱하여 더한 값을 구합니다.
문제
두 문자열 와 에 대해, 는 가 에서 연속한 부분 문자열로 등장하는 횟수이다. 예를 들어 이고, 이다.
문자열 에 대해 는 가능한 모든 문자열 에 대한 의 합이다.
길이가 인 문자열 이 주어진다. 라고 하자. 이는 의 처음 자리에 대한 등장 횟수 제곱의 합이다. 의 변화를 보면 문자열 뒤에 글자가 하나 추가될 때 새로 찾을 수 있는 부분 문자열이 얼마나 늘어나는지 알 수 있다. 부터 까지 모두 구하는 프로그램을 작성하라.
입력
첫 번째 줄에 길이가 이상 이하인 문자열 가 주어진다. 는 알파벳 소문자로만 이루어져 있다.
출력
개의 줄에 걸쳐 정답을 출력한다. 번째 줄에는 만 출력한다.