#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int adj[12][22][22], dp[12][(1<<20)+5];
int n[12], tong[22];
int l, k, ans = 1e6;
int dem(int mask){
int cnt = 0;
while (mask){
cnt++;
mask = mask&(mask-1);
}
return cnt;
}
int check(int cl, int mask){
if (cl > l){
if (dem(mask) >= k) return 1;
return 0;
}
for (int i = 0; i < n[cl]; i++) tong[i] = 0;
for (int u = 0; u < n[cl-1]; u++){
if ((mask>>u)&1){
for (int v = 0; v < n[cl]; v++){
tong[v] += adj[cl][u][v];
}
}
}
int nmask = 0;
for (int i = 0; i < n[cl]; i++){
if (tong[i] > 0) nmask = nmask|(1<<i);
}
if (dp[cl][nmask] != -1) return dp[cl][nmask];
return dp[cl][nmask] = check(cl+1, nmask);
}
void solve(){
for (int i = 1; i <= l; i++){
for (int j = 0; j <= (1<<n[i]); j++) dp[i][j] = -1;
}
for (int mask = 1; mask < (1<<n[1]); mask++){
if (check(2, mask) == 1){
ans = min(ans, dem(mask));
}
}
if (ans == 1e6) cout << "-1\n";
else cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> l >> k;
for (int i = 1; i <= l; i++) cin >> n[i];
for (int i = 1; i < l; i++){
for (int j = 0; j < n[i]; j++){
for (int d = 0; d < n[i+1]; d++){
cin >> adj[i+1][j][d];
}
}
}
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKaW50IGFkalsxMl1bMjJdWzIyXSwgZHBbMTJdWygxPDwyMCkrNV07CmludCBuWzEyXSwgdG9uZ1syMl07CmludCBsLCBrLCBhbnMgPSAxZTY7CgppbnQgZGVtKGludCBtYXNrKXsKICAgIGludCBjbnQgPSAwOwogICAgd2hpbGUgKG1hc2spewogICAgICAgIGNudCsrOwogICAgICAgIG1hc2sgPSBtYXNrJihtYXNrLTEpOwogICAgfQogICAgcmV0dXJuIGNudDsKfQoKaW50IGNoZWNrKGludCBjbCwgaW50IG1hc2spewogICAgaWYgKGNsID4gbCl7CiAgICAgICAgaWYgKGRlbShtYXNrKSA+PSBrKSByZXR1cm4gMTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG5bY2xdOyBpKyspIHRvbmdbaV0gPSAwOwogICAgZm9yIChpbnQgdSA9IDA7IHUgPCBuW2NsLTFdOyB1KyspewogICAgICAgIGlmICgobWFzaz4+dSkmMSl7CiAgICAgICAgICAgIGZvciAoaW50IHYgPSAwOyB2IDwgbltjbF07IHYrKyl7CiAgICAgICAgICAgICAgICB0b25nW3ZdICs9IGFkaltjbF1bdV1bdl07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaW50IG5tYXNrID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbltjbF07IGkrKyl7CiAgICAgICAgaWYgKHRvbmdbaV0gPiAwKSBubWFzayA9IG5tYXNrfCgxPDxpKTsKICAgIH0KCiAgICBpZiAoZHBbY2xdW25tYXNrXSAhPSAtMSkgcmV0dXJuIGRwW2NsXVtubWFza107CiAgICByZXR1cm4gZHBbY2xdW25tYXNrXSA9IGNoZWNrKGNsKzEsIG5tYXNrKTsKfQoKdm9pZCBzb2x2ZSgpewogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbDsgaSsrKXsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8PSAoMTw8bltpXSk7IGorKykgZHBbaV1bal0gPSAtMTsKICAgIH0KCiAgICBmb3IgKGludCBtYXNrID0gMTsgbWFzayA8ICgxPDxuWzFdKTsgbWFzaysrKXsKICAgICAgICBpZiAoY2hlY2soMiwgbWFzaykgPT0gMSl7CiAgICAgICAgICAgIGFucyA9IG1pbihhbnMsIGRlbShtYXNrKSk7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChhbnMgPT0gMWU2KSBjb3V0IDw8ICItMVxuIjsKICAgIGVsc2UgY291dCA8PCBhbnMgPDwgJ1xuJzsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgY2luID4+IGwgPj4gazsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGw7IGkrKykgY2luID4+IG5baV07CiAgICBmb3IgKGludCBpID0gMTsgaSA8IGw7IGkrKyl7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuW2ldOyBqKyspewogICAgICAgICAgICBmb3IgKGludCBkID0gMDsgZCA8IG5baSsxXTsgZCsrKXsKICAgICAgICAgICAgICAgIGNpbiA+PiBhZGpbaSsxXVtqXVtkXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBzb2x2ZSgpOwp9