#include <bits/stdc++.h>
using namespace std;
#define ii pair<int, int>
#define f first
#define s second
int main() {
int N, M, K;
cin >> N >> M >> K;
int a[N][M];
ii rank[N];
for (int i = 0; i < N; i++) {
int sum = 0;
for (int j = 0; j < M; j++) {
cin >> a[i][j];
sum += a[i][j];}
rank[i] = {sum, i};
}
sort(rank, rank+N);
for (ii p: rank) {
cout << p.f << " " << p.s << "\n";
}
int ans = 1234567890;
for (int k = 0; k < 1<<(N*M); k++) {
int mini[N];
int maxi[N];
int temp = 0;
memset(mini, 0, sizeof(mini));
memset(maxi, 0, sizeof(maxi));
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
if (k & (1<<(j+M*i))) {
mini[i] += a[i][j];
maxi[i] += a[i][j];
temp += 1;
}
else maxi[i] += K;
}}
bool b = true;
for (int i = 1; i < N; i++) {
int A = rank[i].s;
int B = rank[i-1].s;
if (A > B) b = b && (mini[A] > maxi[B]);
else b = b && (mini[A] >= maxi[B]);
}
if (!b) continue;
ans = min(temp, ans);
}
cout << ans;
return 0;
}