#include<iostream>
#include<string.h>
using namespace std;
void calculate(int *ind, char *a, int len) {
if(len==0) return ;
ind[0]=0;
int j = 0 ;
for(int i = 1; i < len ; i++ ) {
if(a[j]==a[i]) {
ind[i]=j++;
} else {
while(j>0) {
j=ind[j-1];
if(a[j]==a[i]) {
ind[i]=j++;
break;
}
}
}
cout<<i<<" "<<ind[i]<<endl;
}
return ;
}
int findAinB(char *b, char *a, int *indTable, int n, int m) {
int j = 0;
for(int i = 0 ; i < m ; i++) {
if(a[j]==b[i]) {
j++;
i++;
if(j==n) { return i-n+1; }
} else {
if(j>0) { j=indTable[j-1]; }
}
}
return -1;
}
int main() {
char a[256];
scanf("%s",a);
int len = strlen(a);
int indTable[len];
calculate(indTable, a, len);
char b[256];
cin>>b;
cout<<findAinB(b, a, indTable, len, strlen(b))<<endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjYWxjdWxhdGUoaW50ICppbmQsIGNoYXIgKmEsIGludCBsZW4pIHsKCWlmKGxlbj09MCkgcmV0dXJuIDsKCWluZFswXT0wOwoJaW50IGogPSAwIDsKCWZvcihpbnQgaSA9IDE7IGkgPCBsZW4gOyBpKysgKSB7CgkJaWYoYVtqXT09YVtpXSkgewoJCQlpbmRbaV09aisrOwoJCX0gZWxzZSB7CgkJCXdoaWxlKGo+MCkgewoJCQkJaj1pbmRbai0xXTsKCQkJCWlmKGFbal09PWFbaV0pICB7CgkJCQkJaW5kW2ldPWorKzsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCQljb3V0PDxpPDwiICI8PGluZFtpXTw8ZW5kbDsKCX0KCXJldHVybiA7Cn0KCmludCBmaW5kQWluQihjaGFyICpiLCBjaGFyICphLCBpbnQgKmluZFRhYmxlLCBpbnQgbiwgaW50IG0pIHsKCWludCBqID0gMDsKCWZvcihpbnQgaSA9IDAgOyBpIDwgbSA7IGkrKykgewoJCWlmKGFbal09PWJbaV0pIHsKCQkJaisrOwoJCQlpKys7CgkJCWlmKGo9PW4pIHsgcmV0dXJuIGktbisxOyB9CgkJfSBlbHNlIHsKCQkJaWYoaj4wKSB7IGo9aW5kVGFibGVbai0xXTsgfQoJCX0KCX0KCXJldHVybiAtMTsKfQoKaW50IG1haW4oKSB7CgljaGFyIGFbMjU2XTsKCXNjYW5mKCIlcyIsYSk7CglpbnQgbGVuID0gc3RybGVuKGEpOwoJaW50IGluZFRhYmxlW2xlbl07CgljYWxjdWxhdGUoaW5kVGFibGUsIGEsIGxlbik7CgljaGFyIGJbMjU2XTsKCWNpbj4+YjsKCWNvdXQ8PGZpbmRBaW5CKGIsIGEsIGluZFRhYmxlLCBsZW4sIHN0cmxlbihiKSk8PGVuZGw7CgkKCXJldHVybiAwOwp9