#include<cstdio>
#include<cstring>
const int N=1e6+10;
int next[N],len1,len2;
char str1[N],str2[N];
void do_next(){
next[0]=0;
int i=1,len=0;
while(i<len2){
if(str2[i]==str2[len])
next[i++]=++len;
else{
if(len>0)
len=next[len-1];
else
next[i++]=len;
}
}
}
signed main(){
scanf("%s%s",str1,str2);
len1=strlen(str1);
len2=strlen(str2);
do_next();
printf("%d %d\n",len1,len2);
for(int i=0;i<len1;++i){
int f=-1;
for(int t=0;t<len2;++t)
if(str2[t]!=str1[i+t]){
f=t;break;
}
if(f==-1) printf("%d\n",i+1);
else if(f==0) continue;
else i+=next[f-1];
}
for(int i=0;i<len2;++i) printf("%d ",next[i]);
}