KMP
문자열 $T$와 문자열 $P$가 주어진다.
$T$에서 $P$와 일치하는 부분 문자열이 시작하는 모든 위치를 구하라.
문자열의 첫 번째 문자의 위치는 1이다.
서로 겹치는 부분 문자열도 모두 포함한다.
입력
첫 번째 줄에 문자열 $T$가 주어진다. $(1 \leq |T| \leq 1\,000\,000)$
두 번째 줄에 문자열 $P$가 주어진다. $(1 \leq |P| \leq 1\,000\,000)$
두 문자열은 알파벳 소문자로만 이루어져 있다.
출력
첫 번째 줄에 $T$에서 $P$가 등장하는 횟수를 출력한다.
$P$가 한 번 이상 등장한다면 두 번째 줄에 각 부분 문자열이 시작하는 위치를 오름차순으로 출력한다.
위치는 공백으로 구분한다.
예제 입력 1
ababa aba
예제 출력 1
2 1 3
예제 입력 2
abcdefgh ijk
예제 출력 2
0