#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<math.h>
#include<set>
#define MAXN 1000010
using namespace std;
char a[1000100], b[1000100];
int p[1000100];
int main()
{
int t;
cin >> t;
while (t--)
{
scanf("%s%s", b + 1, a + 1);
int la = strlen(a + 1), lb = strlen(b + 1);
int j = 0;
p[1] = 0;
int ans = 0;
for (int i = 2; i <= lb; i++)
{
while (j > 0 && b[i] != b[j + 1]) j = p[j];
if (b[i] == b[j + 1]) j++;
p[i] = j;
}
j = 0;
for (int i = 1; i <= la; i++)
{
while (j > 0 && a[i] != b[j + 1]) j = p[j];
if (a[i] == b[j + 1]) j++;
if (j == lb) ans++, j = p[j];
}
printf("%d\n", ans);
}
return 0;
}
08-03
08-03
08-03
08-03