P1460
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=25;
int n,m;
int a[N];
int s[N][N],sum[N];
vector<int>ans,chosen;
bool pd(){
memset(sum,0,sizeof sum);
for(int i=0;i<n;i++){
for(int j=0;j<chosen.size();j++){
sum[i]+=s[chosen[j]][i];
}
if(sum[i]<a[i]){
return false;
}
}
if(ans.empty()||ans.size()>chosen.size()||(ans.size()==chosen.size()&&ans>chosen)){
return true;
}
return false;
}
void dfs(int x){
if(x>n){
if(pd()){
ans=chosen;
}
return;
}
chosen.push_back(x);
dfs(x+1);
chosen.pop_back();
dfs(x+1);
}
signed main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
cin>>m;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>s[i][j];
}
}
dfs(0);
cout<<ans.size()<<" ";
for(auto i:ans){
cout<<i+1<<" ";
}
return 0;
}