#include<iostream>
#include<string>
#include<map>
using namespace std;

string maps[252];
map<char,int> M;
int a[5];//记录每一个福娃在两行相同的位子出现的次数

int main()


{
    int text;
    cin>>text;
    M['B'] = 0;//将福娃与编号绑定
    M['J'] = 1;
    M['H'] = 2;
    M['Y'] = 3;
    M['N'] = 4;
    while(text--)

    
{
        int n,m;
        int i,j,k;
        cin>>n>>m;
        int ans = 0;
        for(i = 1;i <= n ;i++)
            cin>>maps[i];
        for(i = 1;i <= n;i++)//从第i行
            for(j = i+1; j <= n;j++)//到第j行

            
{
                memset(a,0,sizeof(a));
                for(k = 0;k < m;k++)//相同的k列是否是相同的福娃

                
{
                    if(maps[i][k] == maps[j][k])

                    
{                    
                        ans = ans + a[M[maps[i][k]]];//记录总的个数,先加以前的个数
                        a[M[maps[i][k]]] ++;//再将自身加一,很巧妙
                    }
                }

            }
        cout<<ans<<endl;
    }
    return 0;
}