hashashashashash….
这题也要看题解,没救了…
#include<bits/stdc++.h>
#define rep(i,k,n) for(int i=k;i<=(n);i++)
#define si 131
using namespace std;
typedef unsigned long long ll;
const int N=30005;
ll hash[N][205],a[N],ans=0,po[205];
char s[N][205];int n,k;
void solve(int pos){
rep(i,1,n)a[i]=hash[i][k]-hash[i][pos]*po[k-pos]+hash[i][pos-1]*po[k-pos];
sort(a+1,a+n+1);int cnt;
rep(i,1,n){
if(a[i]!=a[i-1])cnt=0;
else cnt++;
ans+=cnt;
}
}
int main(){//freopen("in.in","r",stdin);
scanf("%d%d%*d",&n,&k);
po[0]=1;rep(i,1,200)po[i]=po[i-1]*si;
rep(i,1,n)scanf("%s",s[i]+1);
rep(i,1,n)rep(j,1,k){hash[i][j]=hash[i][j-1]*si+s[i][j];}
rep(i,1,k){
solve(i);
}printf("%lld",ans);
return 0;
}