#include<iostream>
using namespace std;
void getZarr(string str, int Z[]);
void search(string text, string pattern)
{
string concat = pattern + "$" + text;
int l = concat.length();
int Z[l];
getZarr(concat, Z);
int cnt=0;
for (int i = 0; i < l; ++i)
{
if (Z[i] == pattern.length())
{
cnt++;
}
}
cout<<cnt<<endl;
}
void getZarr(string str, int Z[])
{
int n = str.length();
int L, R, k;
L = R = 0;
for (int i = 1; i < n; ++i)
{
if (i > R)
{
L = R = i;
while (R<n && str[R-L] == str[R])
{
R++;
Z[i] = R-L;
}
R--;
}
else
{
k = i-L;
if (Z[k] < R-i+1)
{
Z[i] = Z[k];
}
else
{
L = i;
while (R<n && str[R-L] == str[R])
{
R++;
Z[i] = R-L;
}
R--;
}
}
}
}
int main()
{
string text;
string pattern;
cin>>pattern;
cin>>text;
search(text, pattern);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGdldFphcnIoc3RyaW5nIHN0ciwgaW50IFpbXSk7Cgp2b2lkIHNlYXJjaChzdHJpbmcgdGV4dCwgc3RyaW5nIHBhdHRlcm4pCnsKICAgIHN0cmluZyBjb25jYXQgPSBwYXR0ZXJuICsgIiQiICsgdGV4dDsKICAgIGludCBsID0gY29uY2F0Lmxlbmd0aCgpOwogICAgaW50IFpbbF07CiAgICBnZXRaYXJyKGNvbmNhdCwgWik7CiAgICBpbnQgY250PTA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGw7ICsraSkKICAgIHsKICAgICAgICBpZiAoWltpXSA9PSBwYXR0ZXJuLmxlbmd0aCgpKQogICAgICAgIHsKICAgICAgICAgIGNudCsrOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGNudDw8ZW5kbDsKfQoKdm9pZCBnZXRaYXJyKHN0cmluZyBzdHIsIGludCBaW10pCnsKICAgIGludCBuID0gc3RyLmxlbmd0aCgpOwogICAgaW50IEwsIFIsIGs7CiAgICBMID0gUiA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IG47ICsraSkKICAgIHsKICAgICAgICBpZiAoaSA+IFIpCiAgICAgICAgewogICAgICAgICAgICBMID0gUiA9IGk7CiAgICAgICAgICAgIHdoaWxlIChSPG4gJiYgc3RyW1ItTF0gPT0gc3RyW1JdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgUisrOwogICAgICAgICAgWltpXSA9IFItTDsKICAgICAgICAgICAgfQogICAgICAgICAgICBSLS07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGsgPSBpLUw7CiAgICAgICAgICAgIGlmIChaW2tdIDwgUi1pKzEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBaW2ldID0gWltrXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEwgPSBpOwogICAgICAgICAgICAgICAgd2hpbGUgKFI8biAmJiBzdHJbUi1MXSA9PSBzdHJbUl0pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIFIrKzsKICAgICAgICAgICAgICBaW2ldID0gUi1MOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgUi0tOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIHN0cmluZyB0ZXh0OwogICAgc3RyaW5nIHBhdHRlcm47CiAgICBjaW4+PnBhdHRlcm47CiAgICBjaW4+PnRleHQ7CiAgICBzZWFyY2godGV4dCwgcGF0dGVybik7CiAgICByZXR1cm4gMDsKfQ==