#include<bits/stdc++.h>
using ll=long long;
using namespace std;
//本の問題と全く同じ

int main(){
  //input1
  int le;
  cin>>le;
  for(int pp=0;pp<le;pp++){
    //input2
    string x,y;
    cin>>x>>y;
    int n,m;
    n=x.size();
    m=y.size();

    int dp[1001][1001];//dp[i+1][j+1]:x[0]~x[i]とy[0]~y[j]のLCSの長さ

    for(int i=0;i<n;i++){
      for(int j=0;j<m;j++){
	if(x[i]==y[j])dp[i+1][j+1]=dp[i][j]+1;//後ろが同じなら１加えていいよね
	else dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);}}//どっちかの共通部分列のうち長い方でいいよね
    cout<<dp[n][m]<<endl;
  }
  return 0;
}

