#include<bits/stdc++.h> using namespace std; void getnext(int next[],string s,int len) { int j=0,k=-1; next[0]=-1; while(j<len){ if(k==-1||s[j]==s[k]){ j++;k++; if(s[j]!=s[k]) next[j]=k; else{ next[j]=next[k]; } } else k=next[k]; } } int KMPMatch(string s1,string s2){ int next[s2.size()]; getnext(next,s2,s2.size()); int len1=s1.size(),len2=s2.size(); int i=0,j=0,ans=0; while(i<len1){ if(j==-1||s1[i]==s2[j]){ i++;j++; } else j=next[j]; if(j==len2) { ans++; j=next[j]; } } return ans; } int main() { ios::sync_with_stdio(false);cin.tie(nullptr); int n;cin>>n; while(n--){ string s1,s2; cin>>s1>>s2; cout<<KMPMatch(s2,s1)<<endl; } }