#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
****************************************************************/