#include<iostream>#include<cstring>#include<cstdio>#define max(a,b) (a>b?a:b)using namespace std;char str1[101],str2[101];char map[101];int gene[101][101];int main(){map['A']=0;map['C']=1;map['G']=2;map['T']=3;map['-']=4;int score[5][5]={{5,-1,-2,-1,-3},{-1,5,-3,-2,-4},{-2,-3,5,-2,-2},{-1,-2,-2,5,-1},{-3,-4,-2,-1,0}};int icase;int i,j,k;int first,second;scanf("%d",&icase);for(k=0;k<icase;k++){scanf("%d%s",&first,str1);scanf("%d%s",&second,str2);gene[0][0]=0;for(i=1;i<=first;i++)gene[i][0]=gene[i-1][0]+score[map[str1[i-1]]][4];for(i=1;i<=second;i++)gene[0][i]=gene[0][i-1]+score[4][map[str2[i-1]]];int m1,m2,m3;for(i=1;i<=first;i++)for(j=1;j<=second;j++){m1=gene[i-1][j]+score[map[str1[i-1]]][4];m2=gene[i][j-1]+score[4][map[str2[j-1]]];m3=gene[i-1][j-1]+score[map[str1[i-1]]][map[str2[j-1]]];gene[i][j]=max(m1,max(m2,m3));}printf("%d\n",gene[first][second]);}return 0;}