아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

마법 상자

시간 제한5초메모리 제한512 MB

요약
문자열에서 내용이 같은 두 구간을 고를 때, 활성화되는 칸이 k개인 경우의 수를 k=0부터 n까지 구합니다.
난이도

어려움10점 중 9점

유형
문자열 매칭, 문자열, 조합론
정답자
아직 제출이 없습니다

문제

Rikka는 최근 마법 상자를 얻었다. 상자에는 한 줄로 늘어선 nn개의 칸이 있고, 각 칸에는 영어 소문자가 하나씩 적혀 있다. 마법사인 Rikka는 칸에 주문을 걸어 마법의 힘을 줄 수 있다.

먼저 연속된 구간을 하나 골라, 그 구간의 문자를 이어 붙여 주문을 만든다. 이 주문으로 칸들에 "빛의 힘"을 준다. 예를 들어 왼쪽부터 'a', 'b', 'c'가 적힌 구간을 고르면 주문은 "abc"이다.

다음으로 연속된 구간을 하나 더 고른다. 앞서 고른 구간과 같아도 되고 달라도 된다. 같은 방식으로 주문을 만들어 칸들에 "어둠의 힘"을 준다.

마지막으로 두 힘을 동시에 받은 칸은 활성화된다.

Rikka는 두 주문이 완전히 같기를 원한다. 00부터 nn까지의 각 kk에 대해, 같은 주문을 두 번 사용하여 정확히 kk개의 칸을 활성화하는 방법의 수를 구하라.

입력

첫째 줄에 영어 소문자로 이루어진 문자열 ss가 주어진다. ii번째 문자는 왼쪽에서 ii번째 칸에 적힌 문자이다. ss의 길이는 11 이상 5⋅1055 \cdot 10^5 이하이다.

출력

n+1n+1개의 정수를 한 줄에 출력한다. ii번째 정수는 정확히 i−1i-1개의 칸을 활성화하는 방법의 수이다. 여기서 nn은 입력 문자열의 길이이다.

예제1

  1. 예제 1

    입력
    aaaaa
    
    예상 출력
    13 9 6 4 2 1