#include<bits/stdc++.h>
using namespace std;const int NNN=1e6+10;
int T;
char s[NNN],t[NNN];
int nex[NNN],ls,lt;inline void get_next(){for(int i=1,j=0;i<lt;++i){while(j&&t[i+1]!=t[j+1]) j=nex[j];if(t[i+1]==t[j+1]) ++j;nex[i+1]=j;}
}inline void work(){int ans=0;for(int i=1,j=0;i<=ls;++i){while(j&&s[i]!=t[j+1]) j=nex[j];if(s[i]==t[j+1]) ++j;if(j==lt) j=nex[j],++ans;}printf("%dn",ans);
}int main(){scanf("%d",&T);while(T--){scanf("%s%s",s+1,t+1);swap(s,t);ls=strlen(s+1);lt=strlen(t+1);get_next();work();memset(s,0,sizeof(s));memset(t,0,sizeof(t));memset(nex,0,sizeof(nex));}return 0;
}
#include<bits/stdc++.h>
using namespace std;const int NNN=5e4+10;
char s[NNN],t[NNN];
int nex[NNN],len,ls,lt;inline void get_next(){for(int i=1,j=0;i<len;++i){while(j&&s[i+1]!=s[j+1]) j=nex[j];if(s[i+1]==s[j+1]) ++j;nex[i+1]=j;}
}int main(){while(scanf("%s",s+1)!=EOF){scanf("%s",t+1);ls=strlen(s+1);lt=strlen(t+1);strcat(s+1,t+1);len=strlen(s+1);get_next();if(nex[len]){ls=min(nex[len],min(ls,lt));s[ls+1]='