마법 상자
시간 제한5초메모리 제한512 MB
문자열에서 내용이 같은 두 구간을 고를 때, 활성화되는 칸이 k개인 경우의 수를 k=0부터 n까지 구합니다.
문제
Rikka는 최근 마법 상자를 얻었다. 상자에는 한 줄로 늘어선 개의 칸이 있고, 각 칸에는 영어 소문자가 하나씩 적혀 있다. 마법사인 Rikka는 칸에 주문을 걸어 마법의 힘을 줄 수 있다.
먼저 연속된 구간을 하나 골라, 그 구간의 문자를 이어 붙여 주문을 만든다. 이 주문으로 칸들에 "빛의 힘"을 준다. 예를 들어 왼쪽부터 'a', 'b', 'c'가 적힌 구간을 고르면 주문은 "abc"이다.
다음으로 연속된 구간을 하나 더 고른다. 앞서 고른 구간과 같아도 되고 달라도 된다. 같은 방식으로 주문을 만들어 칸들에 "어둠의 힘"을 준다.
마지막으로 두 힘을 동시에 받은 칸은 활성화된다.
Rikka는 두 주문이 완전히 같기를 원한다. 부터 까지의 각 에 대해, 같은 주문을 두 번 사용하여 정확히 개의 칸을 활성화하는 방법의 수를 구하라.
입력
첫째 줄에 영어 소문자로 이루어진 문자열 가 주어진다. 번째 문자는 왼쪽에서 번째 칸에 적힌 문자이다. 의 길이는 이상 이하이다.
출력
개의 정수를 한 줄에 출력한다. 번째 정수는 정확히 개의 칸을 활성화하는 방법의 수이다. 여기서 은 입력 문자열의 길이이다.