#include using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) using ll =long long; template void fin(T a){ cout<>n; vector> g(n); REP(_,n-1){ int u,v;cin>>u>>v;u--;v--; g[u].push_back(v); g[v].push_back(u); } int id=-1; queue que; REP(i,n) if(g[i].size()>2){ if(~id)fin("No"); id=i; } else if(g[i].size()==1) que.push(i); if(id<0)fin("Yes"); set se; while(que.size()){ int p=que.front();que.pop(); int cnt=0; int pre=-1; while(p!=id){ if(g[p][0]==pre)p=g[p][1]; else p=g[p][0]; cnt++; } se.insert(cnt); } if(se.size()==1)fin("Yes"); fin("No"); }