具体代码:#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6;
int Next[N],cn,idx;
void getNext(string s,int Next[]){ 
	Next[0]=-1;
	int i=0,j=-1;
	while(i<s.size()){
		if(j==-1||s[i]==s[j]){
			i++;
			j++;
			if(s[i]==s[j])Next[i]=Next[j];
			else Next[i]=j;
		}else j=Next[j];
	} 
} 
int kmp(string t,string p) {
    getNext(p,Next);
    int i=0,j=0,ans=0;
    while(i<t.size()){
        if(j==-1||t[i]==p[j]){
            i++;
            j++;
            if(j==p.size()){
	            ans++;
	            if(ans==1)idx=(i-1)-(p.size()-1);
	            j=Next[j];
	        }
        }else j=Next[j];
    }
    return ans;
}
int main(){
	string t,p;
	getline(cin,p);
	getline(cin,t);
	for(int i=0;i<p.size();i++){
		p[i]=tolower(p[i]);
	}	 
	for(int i=0;i<t.size();i++){
		t[i]=tolower(t[i]);
	}
	p=" "+p+" ";
	t=" "+t+" ";
	cn=kmp(t,p); 
	if(cn)cout<<cn<<' '<<idx<<endl; 
	else cout<<-1<<endl;
	return 0;
}