#include <iostream>
#include <map>
#include <string>
using namespace std;
int main(){
int n , strL , Change , scores{};
cin >> n >> strL >> Change;
string strN[n];
for(int i = 0 ; i < n ; ++i)cin >> strN[i];
for(int i = 0 ; i < Change ; ++i){
for(int ia = 0 ; ia < n ; ++ia){
int ro , roN = strL;
string temp = strN[ia];
cin >> ro;
ro%=strL;
int index = (strL-ro)%strL;
while(roN > 0){
if(index == strL)index = 0;
strN[ia][strL-roN] = temp[index];
++index;
--roN;
}
}
for(int ia = 0 ; ia < strL ; ++ia){
map<char,int> Sc;
for(int ib = 0 ; ib < n ; ++ib){
++Sc[strN[ib][ia]];
}
int max{};
for(auto i : Sc)if(i.second > max)max=i.second;
scores += max;
}
}
cout << scores;
}