include
using namespace std; struct node{ int vet; int net; }edge[205]; int hend[205]; int ind[105],outd[105]; int edgenum=0; void A(int u,int v){ edgenum++; edge[edgenum].vet=v; edge[edgenum].net=hend[u]; hend[u]=edgenum; } int main(){ int n,m; cin>>n>>m; for(int i=1;i<=m;i++){ int u,v; cin>>u>>v; A(u,v); ind[v]++; outd[u]++; } int root=0; for(int i=1;i<=n;i++){ if(ind[i]==0){ root=i;break; } } printf("%d\n",root); int maxu=root; int max=0; for(int i=1;i<=n;i++){ if(outd[i]>max){ max=outd[i]; maxu=i; } } printf("%d\n",maxu); vectored; for(int e=hend[maxu];e;e=edge[e].net){ ed.push_back(edge[e].vet); } sort(ed.begin(),ed.end()); for(int i=0;i<ed.size();i++){ printf("%d ",ed[i]); } cout<<endl; return 0; }