#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
//英语 看博友分析 抄博友程序 dp 背
int dp[105][105];
int a[105];
int b[105];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
memset(dp,0,sizeof(dp));
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=m;i++)
{
scanf("%d",&b[i]);
}
for(int i=2;i<=n;i++)//抄博友程序 背
{
for(int j=2;j<=m;j++)
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
if(a[i]!=b[j])
{
int k1,k2;
for(k1=i-1;k1>=1;k1--)
{
if(a[k1]==b[j])
{
break;
}
}
for(k2=j-1;k2>=1;k2--)
{
if(b[k2]==a[i])
{
break;
}
}
if(k1&&k2)
{
dp[i][j]=max(dp[i][j],dp[k1-1][k2-1]+2);
}
}
}
}
cout<<dp[n][m]<<endl;
}
return 0;
}