#include #include #include #include #include using namespace std; vector> Adj; vector valid; vector vis; int sol=0; void dfs(int x){ vis[x]=1; for(int i : Adj[x]) if(!vis[i]){ valid[i]=false; ++sol; dfs(i); } } int main() { int n,k; cin>>n>>k; Adj.resize(n+1); vis.resize(n+1); valid.resize(n+1,0); vector x(k); for(int i=0;i>x[i]; valid[x[i]]=1; } while(cin.get()!='\n') ; string buff; for(int i=0;i>from; getline(cin,buff); istringstream iss(buff); int to; while(iss>>to){ Adj[from].push_back(to); valid[to]=0;} } int mx=0; int imx=n+1; int st; for(int i=0;imx || (sol==mx&&imx>st)){ mx=sol; imx=st; } } cout<