#include<bits/stdc++.h>
#include<queue>
#include<set>
#include<stack>
#define ll long long
using namespace std;
const int N=1e5;
const int M=2023;
const int inf=0x3f3f3f3f;
string z;
string a;
int i=1,flag,QAQ[N],ans,num,s[N],wdf;
int main()
{
getline(cin,z);
getline(cin,a);
for(int i=0;i<z.size();i++)
{
if(z[i]>='A' and z[i]<='Z')z[i]+=32;
}
for(int i=0;i<a.size();i++)
{
if(a[i]>='A' and a[i]<='Z')a[i]+=32;
}
for(int i=0;i<a.size();i++)
{
if(a[i]==' ')
{
QAQ[ans]=i;
ans++;
}
}
for(int i=0;i<ans;i++)
{
flag=0;
wdf=0;
if(i==0)
{
for(int j=0;j<QAQ[0];j++)
{
if(wdf>z.size())
{
continue;
}
if(a[j]!=z[wdf])
{
flag=1;
}
wdf++;
}
if(flag==0 )
{
num++;
s[num]=i;
}
}
else if(flag==0 and i!=0 and i!=(ans-1))
{
for(int j=QAQ[i]+1;j<=QAQ[i+1]-1;j++)
{
if(wdf>z.size())
{
continue;
}
if(a[j]!=z[wdf])
{
flag=1;
}
wdf++;
}
if(flag==0 )
{
num++;
s[num]=i;
}
}
else if(i==ans-1)
{
for(int j=QAQ[ans-1]+1;j<a.size()+1;j++)
{
if(wdf>z.size())
{
continue;
}
if(a[j]!=z[wdf])
{
flag=1;
}
wdf++;
}
if(flag==0)
{
num++;
s[num]=i;
}
}
}
if(num!=0)
cout<<num<<" "<<s[1];
else
cout<<"-1";
return 0;
}