#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define se second
#define fi first
#define pq priority_queue
#define endl "\n"
#define int long long
using namespace std;
string a[100005][10],s;
int t12,t14,t13,t34,t24,t23,n,m,x,k,y,z;
int32_t main(){
cin>>n>>m>>k;
for(int i=1;i<=n/4;i++){
cin>>s;
a[i][1]=s;
for(int j=1;j<=m-1;j++){
cin>>s;
a[i][1]+=" ";
a[i][1]+=s;
}
cin>>s;
a[i][2]=s;
for(int j=1;j<=m-1;j++){
cin>>s;
a[i][2]+=" ";
a[i][2]+=s;
}
cin>>s;
a[i][3]=s;
for(int j=1;j<=m-1;j++){
cin>>s;
a[i][3]+=" ";
a[i][3]+=s;
}
cin>>s;
a[i][4]=s;
for(int j=1;j<=m-1;j++){
cin>>s;
a[i][4]+=" ";
a[i][4]+=s;
}
t12=0;
t14=0;
t13=0;
t34=0;
t24=0;
t23=0;
int sayac=0,sira12=(int)a[i][2].size()-1,sira13=(int)a[i][3].size()-1,sira14=(int)a[i][4].size()-1;
for(int j=(int)a[i][1].size()-1;j>=1;j--){
if(sayac>=k || a[i][1][j]==' ' || a[i][2][sira12]==' ' || a[i][3][sira13]==' ' || a[i][4][sira14]==' ') break;
if(a[i][1][j]==a[i][2][sira12]) t12++;
if(a[i][1][j]==a[i][3][sira13]) t13++;
if(a[i][1][j]==a[i][4][sira14]) t14++;
sira12--;
sira13--;
sira14--;
sayac++;
}
if(t12==k && t13==k && t14==k){
x++;
y++;
z++;
}
else{
if(t12==k){
int sira34=(int)a[i][4].size()-1;
sayac=0;
for(int j=(int)a[i][3].size()-1;j>=1;j--){
if(sayac>=k || a[i][3][j]==' ' || a[i][4][sira34]==' ') break;
if(a[i][3][j]==a[i][4][sira34]) t34++;
sira34--;
sayac++;
}
if(t34==k){
x++;
}
}
if(t13==k){
int sira24=(int)a[i][4].size()-1;
sayac=0;
for(int j=(int)a[i][2].size()-1;j>=1;j--){
if(sayac>=k || a[i][2][j]==' ' || a[i][3][sira24]==' ') break;
if(a[i][2][j]==a[i][4][sira24]) t24++;
sira24--;
sayac++;
}
if(t24==k){
y++;
}
}
if(t14==k){
int sira23=(int)a[i][3].size()-1;
sayac=0;
for(int j=(int)a[i][2].size()-1;j>=1;j--){
if(sayac>=k || a[i][2][j]==' ' || a[i][3][sira23]==' ') break;
if(a[i][2][j]==a[i][3][sira23]) t23++;
sira23--;
sayac++;
}
if(t23==k){
z++;
}
}
}
}
cout<<x<<" "<<y<<" "<<z;
return 0;
}
//TASACAK BU DENIZ