#include<cstdio> using namespace std; const int maxn=1001; int n; int cnt[maxn]; int child[maxn][maxn]; int unlock[maxn]; int points; int threshold[maxn],bonus[maxn]; bool find(){ int target=-1; for(int i=1;i<=n;++i) if(___(1)___&&___(2)___){ target=i; break; } if(target==-1) return false; unlock[target]=-1; ____(3)_____ for(int i=0;i<cnt[target];++i) ____(4)____ return true; } int main(){ scanf("%d%d",&n,&points); for(int i=1;i<=n;++i){ cnt[i]=0; scanf("%d%d",&threshold[i],&bonus[i]); } for(int i=1;i<=n;++i){ int m; scanf("%d",&m); ____(5)____; for(int j=0;j<m;++j){ int fa; scanf("%d",&fa); child[fa][cnt[fa]]=i; ++cnt[fa]; } } int ans=0; while(find()) ++ans; printf("%d\n",ans); return 0; }
