#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int v, need[26], g, ing[16][26], have[26], ans[26];
void dfs(int i, int cnt, int cur)
{
if (i < 1)
{
for (int j = 1; j <= v; j++)
{
if (have[j] < need[j]) return;
}
cout << cnt << ' ';
for (int j = cur; j >= 1; j--)
{
cout << ans[j] << ' ';
}
exit(0);
}
dfs(i-1, cnt, cur);
for (int j = 1; j <= v; j++)
{
have[j] += ing[i][j];
}
cur++;
ans[cur] = i;
dfs(i-1, cnt+1, cur);
}
int main(){
cin >> v;
for (int i = 1; i <= v; i++)
{
cin >> need[i];
}
cin >> g;
for (int i = 1; i <= g; i++)
{
for (int j = 1; j <= v; j++)
{
cin >> ing[i][j];
}
}
dfs(g, 0, 0);
return 0;
}