#include <bits/stdc++.h>
using namespace std;
const int N=1010;
int cnt1[N],cnt0[N];
bool st[N];
int n,m,l;
string s;
string a;
int min_wz;
int ans;
int find()
{
int wz;
int mi=1e9;
for (int i=0;i<l;i++)
{
if (mi>abs(cnt1[i]-cnt0[i])&&!st[i])
{
mi=abs(cnt1[i]-cnt0[i]);
wz=i;
}
}
return wz;
}
int main()
{
cin >> n >> m >> l;
for (int i=1;i<=n;i++)
{
cin >> s;
for (int j=0;j<l;j++)
{
if (s[j]=='0') cnt0[j]++;
if (s[j]=='1') cnt1[j]++;
}
}
for (int i=0;i<l;i++)
{
if (cnt1[i]<cnt0[i]) ans+=cnt1[i],a+='0';
else ans+=cnt0[i],a+='1';
}
for (int i=1;i<=m;i++)
{
cin >> s;
if (a==s)
{
min_wz=find();
if (a[min_wz]=='0') ans=ans-cnt1[min_wz]+cnt0[min_wz];
if (a[min_wz]=='1') ans=ans-cnt0[min_wz]+cnt1[min_wz];
}
}
cout << ans;
return 0;
}