/*H E A D*/int nxt[maxn],f[maxn],ans;char T[maxn],P[maxn];void init(){ int m=strlen(P+1); int j=0; nxt[1]=0; rep(i,2,m){ while(j>0&&P[i]!=P[j+1]) j=nxt[j]; if(P[i]==P[j+1])j++; nxt[i]=j; }}void match(){ int n=strlen(T+1); int m=strlen(P+1); int j=0; rep(i,1,n){ while(j>0&&(j==m||T[i]!=P[j+1])) j=nxt[j]; if(T[i]==P[j+1]) j++; f[i]=j; if(f[i]==m)ans++; }}int main(){ int t; iin(t); while(t--){ s1(P); s1(T); ans=0; init(); match(); println(ans); } return 0;}