//#pragma GCC optimize("Ofast,unroll-loops")
//#pragma GCC target("avx2,tune=native")
#include <bits/stdc++.h>
using namespace std;
 
#define file "o"
#define ff(i,a,b) for (auto i=(a); i<=(b); ++i)
#define ffr(i,b,a) for (auto i=(b); i>=(a); --i)
#define nl "\n"
#define pb emplace_back
#define fi first
#define se second
#define all(s) (s).begin(), (s).end()
#define ms(a,x) memset(a, x, sizeof(a))
#define re exit(0)
 
typedef long long ll;
typedef pair<ll,ll> pll;
typedef vector<ll> vll;
typedef vector<pll> vpll;
 
const int maxn = 105;
const int base = 256;
const int MOD1 = 998244353;
const int MOD2 = 1000000007;
 
int n, m;
char a[maxn][maxn], b[maxn][maxn];
pll p[maxn*maxn], invp[maxn*maxn];
pll s[2][maxn][maxn];
 
inline int id(int i, int j){ return (i-1)*m + j; }
 
ll bpow(ll a, ll b, ll mod){
    ll res=1;
    while(b){
        if(b&1) res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
 
pll operator+(pll A, pll B){ return {(A.fi+B.fi)%MOD1, (A.se+B.se)%MOD2}; }
pll operator-(pll A, pll B){ return {(A.fi-B.fi+MOD1)%MOD1, (A.se-B.se+MOD2)%MOD2}; }
pll operator*(pll A, pll B){ return {A.fi*B.fi%MOD1, A.se*B.se%MOD2}; }
pll operator*(pll A, ll k){ return {A.fi*k%MOD1, A.se*k%MOD2}; }
 
void pre(){
    int lim = 100*100+5;
    ll inv1 = bpow(base, MOD1-2, MOD1);
    ll inv2 = bpow(base, MOD2-2, MOD2);
    p[0] = {1,1};
    invp[0] = {1,1};
    ff(i,1,lim){
        p[i] = {p[i-1].fi*base%MOD1, p[i-1].se*base%MOD2};
        invp[i] = {invp[i-1].fi*inv1%MOD1, invp[i-1].se*inv2%MOD2};
    }
}
 
inline pll get(int t, int x, int y, int u, int v){
    pll ans = s[t][u][v];
    ans = ans + s[t][x-1][y-1];
    ans = ans - s[t][x-1][v];
    ans = ans - s[t][u][y-1];
    ans = ans * invp[id(x, y)];
    return ans;
}
 
inline bool check(int r, int c){
    vpll v;
    ff(i,1,n-r+1) ff(j,1,m-c+1)
        v.pb(get(0,i,j,i+r-1,j+c-1));
    sort(all(v)); v.erase(unique(all(v)), v.end());
    ff(i,1,n-r+1) ff(j,1,m-c+1){
        pll cur = get(1,i,j,i+r-1,j+c-1);
        if(binary_search(all(v), cur)) return 1;
    }
    return 0;
}
 
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    if(fopen(file".inp","r")){
        freopen(file".inp","r",stdin);
        freopen(file".out","w",stdout);
    }
    pre();
    int tt; cin >> tt;
    while(tt--){
        cin >> n >> m;
        ff(i,1,n) ff(j,1,m) cin >> a[i][j];
        ff(i,1,n) ff(j,1,m) cin >> b[i][j];
        ff(t,0,1) ff(i,0,n) ff(j,0,m) s[t][i][j] = {0,0};
        ff(i,1,n) ff(j,1,m){
            s[0][i][j] = s[0][i-1][j] + s[0][i][j-1] - s[0][i-1][j-1] + p[id(i,j)] * a[i][j];
            s[0][i][j].fi%=MOD1; s[0][i][j].se%=MOD2;
            s[1][i][j] = s[1][i-1][j] + s[1][i][j-1] - s[1][i-1][j-1] + p[id(i,j)] * b[i][j];
            s[1][i][j].fi%=MOD1; s[1][i][j].se%=MOD2;
        }
        int c=m, ans=0;
        ff(r,1,n){
            while(c>0 && !check(r,c)) --c;
            ans = max(ans, r*c);
        }
        cout << ans << nl;
    }
    re;
}
 
				Ly8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QsdW5yb2xsLWxvb3BzIikKLy8jcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsdHVuZT1uYXRpdmUiKQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgZmlsZSAibyIKI2RlZmluZSBmZihpLGEsYikgZm9yIChhdXRvIGk9KGEpOyBpPD0oYik7ICsraSkKI2RlZmluZSBmZnIoaSxiLGEpIGZvciAoYXV0byBpPShiKTsgaT49KGEpOyAtLWkpCiNkZWZpbmUgbmwgIlxuIgojZGVmaW5lIHBiIGVtcGxhY2VfYmFjawojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgYWxsKHMpIChzKS5iZWdpbigpLCAocykuZW5kKCkKI2RlZmluZSBtcyhhLHgpIG1lbXNldChhLCB4LCBzaXplb2YoYSkpCiNkZWZpbmUgcmUgZXhpdCgwKQoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxsbCxsbD4gcGxsOwp0eXBlZGVmIHZlY3RvcjxsbD4gdmxsOwp0eXBlZGVmIHZlY3RvcjxwbGw+IHZwbGw7Cgpjb25zdCBpbnQgbWF4biA9IDEwNTsKY29uc3QgaW50IGJhc2UgPSAyNTY7CmNvbnN0IGludCBNT0QxID0gOTk4MjQ0MzUzOwpjb25zdCBpbnQgTU9EMiA9IDEwMDAwMDAwMDc7CgppbnQgbiwgbTsKY2hhciBhW21heG5dW21heG5dLCBiW21heG5dW21heG5dOwpwbGwgcFttYXhuKm1heG5dLCBpbnZwW21heG4qbWF4bl07CnBsbCBzWzJdW21heG5dW21heG5dOwoKaW5saW5lIGludCBpZChpbnQgaSwgaW50IGopeyByZXR1cm4gKGktMSkqbSArIGo7IH0KCmxsIGJwb3cobGwgYSwgbGwgYiwgbGwgbW9kKXsKICAgIGxsIHJlcz0xOwogICAgd2hpbGUoYil7CiAgICAgICAgaWYoYiYxKSByZXM9cmVzKmElbW9kOwogICAgICAgIGE9YSphJW1vZDsKICAgICAgICBiPj49MTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCnBsbCBvcGVyYXRvcisocGxsIEEsIHBsbCBCKXsgcmV0dXJuIHsoQS5maStCLmZpKSVNT0QxLCAoQS5zZStCLnNlKSVNT0QyfTsgfQpwbGwgb3BlcmF0b3ItKHBsbCBBLCBwbGwgQil7IHJldHVybiB7KEEuZmktQi5maStNT0QxKSVNT0QxLCAoQS5zZS1CLnNlK01PRDIpJU1PRDJ9OyB9CnBsbCBvcGVyYXRvcioocGxsIEEsIHBsbCBCKXsgcmV0dXJuIHtBLmZpKkIuZmklTU9EMSwgQS5zZSpCLnNlJU1PRDJ9OyB9CnBsbCBvcGVyYXRvcioocGxsIEEsIGxsIGspeyByZXR1cm4ge0EuZmkqayVNT0QxLCBBLnNlKmslTU9EMn07IH0KCnZvaWQgcHJlKCl7CiAgICBpbnQgbGltID0gMTAwKjEwMCs1OwogICAgbGwgaW52MSA9IGJwb3coYmFzZSwgTU9EMS0yLCBNT0QxKTsKICAgIGxsIGludjIgPSBicG93KGJhc2UsIE1PRDItMiwgTU9EMik7CiAgICBwWzBdID0gezEsMX07CiAgICBpbnZwWzBdID0gezEsMX07CiAgICBmZihpLDEsbGltKXsKICAgICAgICBwW2ldID0ge3BbaS0xXS5maSpiYXNlJU1PRDEsIHBbaS0xXS5zZSpiYXNlJU1PRDJ9OwogICAgICAgIGludnBbaV0gPSB7aW52cFtpLTFdLmZpKmludjElTU9EMSwgaW52cFtpLTFdLnNlKmludjIlTU9EMn07CiAgICB9Cn0KCmlubGluZSBwbGwgZ2V0KGludCB0LCBpbnQgeCwgaW50IHksIGludCB1LCBpbnQgdil7CiAgICBwbGwgYW5zID0gc1t0XVt1XVt2XTsKICAgIGFucyA9IGFucyArIHNbdF1beC0xXVt5LTFdOwogICAgYW5zID0gYW5zIC0gc1t0XVt4LTFdW3ZdOwogICAgYW5zID0gYW5zIC0gc1t0XVt1XVt5LTFdOwogICAgYW5zID0gYW5zICogaW52cFtpZCh4LCB5KV07CiAgICByZXR1cm4gYW5zOwp9CgppbmxpbmUgYm9vbCBjaGVjayhpbnQgciwgaW50IGMpewogICAgdnBsbCB2OwogICAgZmYoaSwxLG4tcisxKSBmZihqLDEsbS1jKzEpCiAgICAgICAgdi5wYihnZXQoMCxpLGosaStyLTEsaitjLTEpKTsKICAgIHNvcnQoYWxsKHYpKTsgdi5lcmFzZSh1bmlxdWUoYWxsKHYpKSwgdi5lbmQoKSk7CiAgICBmZihpLDEsbi1yKzEpIGZmKGosMSxtLWMrMSl7CiAgICAgICAgcGxsIGN1ciA9IGdldCgxLGksaixpK3ItMSxqK2MtMSk7CiAgICAgICAgaWYoYmluYXJ5X3NlYXJjaChhbGwodiksIGN1cikpIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnNpZ25lZCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgaWYoZm9wZW4oZmlsZSIuaW5wIiwiciIpKXsKICAgICAgICBmcmVvcGVuKGZpbGUiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKGZpbGUiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICBwcmUoKTsKICAgIGludCB0dDsgY2luID4+IHR0OwogICAgd2hpbGUodHQtLSl7CiAgICAgICAgY2luID4+IG4gPj4gbTsKICAgICAgICBmZihpLDEsbikgZmYoaiwxLG0pIGNpbiA+PiBhW2ldW2pdOwogICAgICAgIGZmKGksMSxuKSBmZihqLDEsbSkgY2luID4+IGJbaV1bal07CiAgICAgICAgZmYodCwwLDEpIGZmKGksMCxuKSBmZihqLDAsbSkgc1t0XVtpXVtqXSA9IHswLDB9OwogICAgICAgIGZmKGksMSxuKSBmZihqLDEsbSl7CiAgICAgICAgICAgIHNbMF1baV1bal0gPSBzWzBdW2ktMV1bal0gKyBzWzBdW2ldW2otMV0gLSBzWzBdW2ktMV1bai0xXSArIHBbaWQoaSxqKV0gKiBhW2ldW2pdOwogICAgICAgICAgICBzWzBdW2ldW2pdLmZpJT1NT0QxOyBzWzBdW2ldW2pdLnNlJT1NT0QyOwogICAgICAgICAgICBzWzFdW2ldW2pdID0gc1sxXVtpLTFdW2pdICsgc1sxXVtpXVtqLTFdIC0gc1sxXVtpLTFdW2otMV0gKyBwW2lkKGksaildICogYltpXVtqXTsKICAgICAgICAgICAgc1sxXVtpXVtqXS5maSU9TU9EMTsgc1sxXVtpXVtqXS5zZSU9TU9EMjsKICAgICAgICB9CiAgICAgICAgaW50IGM9bSwgYW5zPTA7CiAgICAgICAgZmYociwxLG4pewogICAgICAgICAgICB3aGlsZShjPjAgJiYgIWNoZWNrKHIsYykpIC0tYzsKICAgICAgICAgICAgYW5zID0gbWF4KGFucywgcipjKTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBhbnMgPDwgbmw7CiAgICB9CiAgICByZTsKfQo=