#include <stdio.h> int n,m; int a[1111][1111],b[1111],t; void dd(int x) { int i; b[x]=1; t++; for(i=1;i<=n;i++) if((a[x][i]==1)&&(b[i]==0)) dd(i); } int run() { int i,j,k; for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; for(i=1;i<=n;i++) b[i]=0; t=0; for(i=1;i<=m;i++) { scanf("%d%d",&j,&k); a[j][k]=1; a[k][j]=1; } dd(1); if(t<n) printf("NO\n"); else printf("YES\n"); } int main() { scanf("%d%d",&n,&m); while(n!=0) { run(); scanf("%d%d",&n,&m); } return 0; } /************************************************************** Problem: 2191 User: admin Language: C++ Result: Accepted Time:13 ms Memory:5972 kb ****************************************************************/