#include<bits/stdc++.h>
using namespace std;
int n, m;
vector<int> a;
vector<vector<int>> sl, ans;
vector<bool> vis;
void DFS(int step) {
if (step == m) {
int k = 0;
vector<int> t(n);
vector<int> res;
for (int i = 0; i < m; i++) {
if (vis[i]) {
k++;
res.push_back(i);
for (int j = 0; j < n; j++) {
t[j] += sl[i][j];
}
}
}
if (ans[k][0]) {
return;
}
for (int i = 0; i < n; i++) {
if (t[i] < a[i]) {
return;
}
}
ans[k] = res;
}
vis[step] = true;
DFS(step + 1);
vis[step] = false;
DFS(step + 1);
}
int main() {
cin >> n;
a.resize(n + 1);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cin >> m;
sl.resize(m, vector<int>(n));
vis.resize(m, false);
ans.resize(m + 1, vector<int>(m + 1, 0));
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> sl[i][j];
}
}
DFS(0);
for (int i = 1; ; i++) {
if (ans[i][0]) {
cout << i;
for (int j = 0; j < i; j++) {
cout << ' ' << ans[i][j];
return 0;
}
}
}
}