#include <stdio.h> int a[510][510]; int main() { int n,m,i,j,u,v,n1,k; while (scanf("%d %d",&n,&m)&&n) { for (i=0;i<=n;i++) for (j=1;j<=n;j++) { if (i==0) a[i][j]=1; else a[i][j]=0; } for (i=0;i<m;i++) { scanf("%d %d",&u,&v); a[u][v]++; } n1=n; while (n1--) { for (i=1;i<=n;i++) { if (a[0][i]==1) { for (j=1;j<=n;j++) if (a[j][i]!=0) break; } if ((j==n+1)&&(a[0][i]==1)) { a[0][i]=0; for (k=1;k<=n;k++) { if (a[i][k]!=0) a[i][k]--; } if (n1>0) printf("%d ",i); else printf ("%d\n",i); break; } } } } return 0; } /************************************************************** Problem: 2226 User: admin Language: C Result: Accepted Time:170 ms Memory:2160 kb ****************************************************************/