#include<iostream>
#include<vector>
#include<string>
using namespace std;
void getNext(vector<int> &next, const string &pattern)
{
next[1] = 0;
int k = 0;
for(int q=2;q<=pattern.length();++q)
{
while((k>0) && (pattern[k] != pattern[q-1]))
k = next[k];
if(pattern[k]==pattern[q-1])
++k;
next[q] = k;
}
}
int kmp(const vector<int> &next, const string &pattern, const string &str)
{
int result = 0;
int q = 0;
for(int i=0;i<str.length();++i)
{
while(q>0 && pattern[q] != str[i])
q = next[q];
if(pattern[q] == str[i])
++q;
if(q == pattern.length())
{
++result;
q = next[q];
}
}
return result;
}
int main()
{
int n;
string pattern,str;
cin>>n;
while(n)
{
cin>>pattern>>str;
vector<int> next(pattern.length()+1,0);
getNext(next,pattern);
cout<<kmp(next,pattern,str)<<endl;
--n;
}
return 0;
}