#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int LCS(string a, string b){
int n=a.length();
int m=b.length();
int **C=new int* [n+1];
for (int i=0; i<n+1; i++)
C[i]=new int[m+1];
for (int i=0; i<n+1; i++)
C[i][0]=0;
for (int j=0; j<m+1; j++)
C[0][j]=0;
//int C[n+1][m+1];
//for (int i=0; i<n+1; i++)
// C[i][0]=0;
//for (int j=0; j<m+1; j++)
// C[0][j]=0;
for (int i=1; i<n+1; i++){
for (int j=1; j<m+1; j++){
if (a[i-1]==b[j-1])
C[i][j]=C[i-1][j-1]+1;
else if (C[i-1][j]>C[i][j-1])
C[i][j]=C[i-1][j];
else
C[i][j]=C[i][j-1];
}
}
int len=C[n][m];
for (int i=0; i<n; i++)
delete[] C[i];
delete[] C;
//memset(C, 0, sizeof(C));
return len;
}
int main(){
int t;
string a, b;
cin>>t;
while (t--){
cin>>a;
cin>>b;
int k=LCS(a, b);
cout<<k<<endl;
}
}