#pragma GCC optimize("O3,inline")
#include <bits/stdc++.h>
using namespace std;
#define int long long
bool comp(pair<vector<int>, int>& a, pair<vector<int>, int>& b) {
int sa = 0, sb = 0;
for (int i : a.first) sa += i;
for (int i : b.first) sb += i;
if (sa == sb) return a.second > b.second;
return sa < sb;
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int N, M, K, a, ans = 0; cin >> N >> M >> K;
vector<pair<vector<int>, int>> A(N, pair<vector<int>, int>(vector<int>(M, 0), 0));
vector<int> sums;
for (int i = 0; i < N; i++) {
A[i].second = i;
int csum = 0;
for (int j = 0; j < M; j++) {
cin >> a;
A[i].first[j] = a;
csum += a;
}
sums.push_back(csum);
}
sort(A.begin(), A.end(), comp);
sort(sums.begin(), sums.end());
for (int i = 0; i < M; i++)
ans += A[0].first[i] + (1 - A.back().first[i]);
for (int i = 1; i < N; i++) {
int s1 = 0, s2 = 0;
for (int j = 0; j < M; j++) s1 += 1 - A[i - 1].first[j], s2 += A[i].first[j];
ans += min(sums[i] - sums[i - 1] - (A[i].second > A[i - 1].second), s1 + s2);
}
cout << N * M - ans << '\n';
}