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