#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define f first
#define s second
using namespace std;
int main(){
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--){
ll n, m, ans = 0;
cin >> n >> m;
string s[n];
ll a[m][26], v[n][m];
for (int i = 0; i < m; i++){
for (int j = 0; j < 26; j++){
a[i][j] = 0;
}
}
ll f = 0;
for (int i = 0; i < n; i++){
cin >> s[i];
for (int j = 0; j < m; j++){
a[j][s[i][j] - 97]++;
ll mx = 0;
for (int k = 0; k < 26; k++){
mx = max(mx, a[j][k]);
}
v[i][j] = mx;
}
if (i == 0) continue;
if (!f) ans = 0;
bool ok = true;
for (int j = 0; j < m; j++){
if (v[i - 1][j] != v[i][j]){
ok = false;
break;
}
}
if (ok && f == 0){
for (int j = 0; j < m; j++){
ans += v[i - 1][j];
for (int k = 0; k < 26; k++){
a[j][k] = 0;
}
}
for (int j = 0; j < m; j++){
a[j][s[i][j] - 97]++;
v[i][j] = 1;
}
f++;
}
}
for (int i = 0; i < m; i++){
ans += v[n - 1][i];
}
if (f == 0){
ans = 0;
for (int i = 0; i < m; i++){
ans += min(n, v[n - 1][i] + 1);
}
}
cout << ans << endl;
}
}