#include using namespace std; long long n,m,p[10005],a,brGlumaca,sol,br=1; vector vg[5005]; bool bio[5005]; struct glumac{int index;int plata;}; glumac g[10005]; bool cmpKes(glumac a, glumac b) {return a.plata > b.plata;} void ulaz(){ cin >> n >> m; for(int i=1;i<=n;i++){ cin >> p[i]; g[i].index=i;g[i].plata=p[i]; } for(int i=1;i<=m;i++){ cin >> brGlumaca; for(int j=1;j<=brGlumaca;j++){ cin >> a; vg[i].push_back(a); } } } void izlaz(){ sort(g+1,g+n+1,cmpKes); for(int k=1;k<=n;k++){ for(int i=1;i<=m;i++){ if(count(vg[i].begin(), vg[i].end(), g[k].index)>0 and bio[i]==0){ cout << i << " "; bio[i]=1; } } } } int main(){ freopen("star.in", "r", stdin); freopen("star.out", "w", stdout); ulaz(); izlaz(); return 0; }