#include<bits/stdc++.h>
using namespace std;
int n,m;
int goal[50];
int s[50][50];
int cur[50];
bool vis[50];
bool dfs(int x, int mx, int last) {
if (x == mx + 1) {
for (int i = 1; i <= n; i++) {
int sum = 0;
for (int j = 1; j <= mx; j++) sum += s[cur[j]][i];
cout<<sum<<" ";
if (sum < goal[i]) return 0;
}
printf("%d ", mx);
for (int i = 1; i <= mx; i++) printf("%d ", cur[i]);
return 1;
}
for (int i = last + 1; i <= m; i++) {
if (vis[i]) continue;
vis[i] = 1;
cur[x] = i;
if (dfs(x + 1, mx, i)) return 1;
vis[i] = 0;
}
return 0;
}
int main() {
cin>>n;
for(int i=1; i<=n; i++) cin>>goal[i];
cin>>m;
for(int i=1; i<=m; i++) {
for(int j=1; j<=n; j++) {
cin>>s[i][j];
}
}
for(int i=1; i<=m; i++) {
if(dfs(i,1,0)) break;
}
return 0;
}