#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++ ) {
cout<<i<<" "<<ind[i]<<" "<<j<<endl;
ind[i]=0;
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]<<" "<<j<<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+CiNpbmNsdWRlPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjYWxjdWxhdGUoaW50ICppbmQsIGNoYXIgKmEsIGludCBsZW4pIHsKCWlmKGxlbj09MCkgcmV0dXJuIDsKCWluZFswXT0wOwoJaW50IGogPSAwIDsKCWZvcihpbnQgaSA9IDE7IGkgPCBsZW4gOyBpKysgKSB7CgkJY291dDw8aTw8IiAiPDxpbmRbaV08PCIgIjw8ajw8ZW5kbDsKCQlpbmRbaV09MDsKCQlpZihhW2pdPT1hW2ldKSB7CgkJCWluZFtpXT1qKys7CgkJfSBlbHNlIHsKCQkJd2hpbGUoaj4wKSB7CgkJCQlqPWluZFtqLTFdOwoJCQkJaWYoYVtqXT09YVtpXSkgIHsKCQkJCQlpbmRbaV09aisrOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQl9CgkJfQoJCWNvdXQ8PGk8PCIgIjw8aW5kW2ldPDwiICI8PGo8PGVuZGw7Cgl9CglyZXR1cm4gOwp9CgppbnQgZmluZEFpbkIoY2hhciAqYiwgY2hhciAqYSwgaW50ICppbmRUYWJsZSwgaW50IG4sIGludCBtKSB7CglpbnQgaiA9IDA7Cglmb3IoaW50IGkgPSAwIDsgaSA8IG0gOyBpKyspIHsKCQlpZihhW2pdPT1iW2ldKSB7CgkJCWorKzsKCQkJaSsrOwoJCQlpZihqPT1uKSB7IHJldHVybiBpLW4rMTsgfQoJCX0gZWxzZSB7CgkJCWlmKGo+MCkgeyBqPWluZFRhYmxlW2otMV07IH0KCQl9Cgl9CglyZXR1cm4gLTE7Cn0KCmludCBtYWluKCkgewoJY2hhciBhWzI1Nl07CglzY2FuZigiJXMiLGEpOwoJaW50IGxlbiA9IHN0cmxlbihhKTsKCWludCBpbmRUYWJsZVtsZW5dOwoJY2FsY3VsYXRlKGluZFRhYmxlLCBhLCBsZW4pOwoJY2hhciBiWzI1Nl07CgljaW4+PmI7Cgljb3V0PDxmaW5kQWluQihiLCBhLCBpbmRUYWJsZSwgbGVuLCBzdHJsZW4oYikpPDxlbmRsOwoJCglyZXR1cm4gMDsKfQ==