#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100000],b[1000][1000],t[100000],minn=5e9;
bool cmp[100000],p[100000];
void dfs(int id,int x)
{
if(id<1){
long long c=0;
for(int i=1;i<=n;i++){
if(t[i]>=a[i]) c++;
}
if(minn>x&&c==n){
minn=x;
for(int i=1;i<=m;i++){
p[i]=cmp[i];
}
}
return;
}
dfs(id-1,x);
for(int i=1;i<=n;i++){
t[i]=t[i]+b[id][i];
}
cmp[id]=1;
dfs(id-1,x+1);
for(int i=1;i<=n;i++){
t[i]=t[i]-b[id][i];
}
cmp[id]=0;
}
int main(){
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
cin>>m;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>b[i][j];
}
}
dfs(m,0);
cout<<minn<<" ";
for(int i=1;i<=n;i++){
if(p[i]==1) cout<<i<<" ";
}
return 0;
}