#include<stdio.h>
#include<queue>
#include<iostream>
using namespace std;
typedef long long ll;
vector<ll> ar[305];
ll colour[305];
queue<ll> q;
int main()
{
ll t,v,c,i,a,b,p,count,j,g;
ll n;
while(scanf("%lld",&n) && n!=0)
{
p=1;
for(i=0;i<305;i++)
ar[i].clear();
while(q.empty()==false)
q.pop();
while(scanf("%lld%lld",&a,&b) && (a!=0 || b!=0))
{
ar[a].push_back(b);
ar[b].push_back(a);
}
for(i=0;i<305;i++)
colour[i]=3;
colour[1]=1;
q.push(1);
while(q.empty()==false && p==1)
{
ll k=q.front();
q.pop();
for(j=0;j<ar[k].size();j++)
{
g=ar[k][j];
if(colour[g]==3)
{
colour[g]=1-colour[k];
q.push(g);
}
else if(colour[g]==colour[k])
{
p=2;
break;
}
}
}
if(p==2)
printf("NO\n");
if(p==1)
printf("YES\n",count);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdmVjdG9yPGxsPiBhclszMDVdOwpsbCBjb2xvdXJbMzA1XTsKcXVldWU8bGw+IHE7CmludCBtYWluKCkKewoJbGwgdCx2LGMsaSxhLGIscCxjb3VudCxqLGc7CglsbCBuOwoJd2hpbGUoc2NhbmYoIiVsbGQiLCZuKSAmJiBuIT0wKQoJewoJCXA9MTsKCQlmb3IoaT0wO2k8MzA1O2krKykKCSAgICBhcltpXS5jbGVhcigpOwoJICAgIHdoaWxlKHEuZW1wdHkoKT09ZmFsc2UpCgkgICAgcS5wb3AoKTsKCQkKCQkJd2hpbGUoc2NhbmYoIiVsbGQlbGxkIiwmYSwmYikgJiYgKGEhPTAgfHwgYiE9MCkpCgkJCXsKCQkJYXJbYV0ucHVzaF9iYWNrKGIpOwoJCQlhcltiXS5wdXNoX2JhY2soYSk7CgkJfQoJCWZvcihpPTA7aTwzMDU7aSsrKQoJCWNvbG91cltpXT0zOwoJCWNvbG91clsxXT0xOwoJCXEucHVzaCgxKTsKCQkJd2hpbGUocS5lbXB0eSgpPT1mYWxzZSAmJiBwPT0xKQoJCQl7CgkJCQlsbCBrPXEuZnJvbnQoKTsKCQkJCXEucG9wKCk7CgkJCQlmb3Ioaj0wO2o8YXJba10uc2l6ZSgpO2orKykKCQkJCXsKCQkJCQlnPWFyW2tdW2pdOwoJCQkJCWlmKGNvbG91cltnXT09MykKCQkJCQl7CgkJCQkJCWNvbG91cltnXT0xLWNvbG91cltrXTsKCQkJCQkJcS5wdXNoKGcpOwoJCQkJCX0KCQkJCQllbHNlIGlmKGNvbG91cltnXT09Y29sb3VyW2tdKQoJCQkJCXsKCQkJCQkJcD0yOwoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYocD09MikKCQkJcHJpbnRmKCJOT1xuIik7CgkJaWYocD09MSkKCQlwcmludGYoIllFU1xuIixjb3VudCk7Cgl9CglyZXR1cm4gMDsKfQo=