#include #define Nmax 200005 using namespace std; int n; set v[Nmax]; set> s; int d[Nmax]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i < n; i++) { int x, y; cin >> x >> y; v[x].insert(y); v[y].insert(x); } for(int i=1;i<=n;i++) d[i] = 1; for(int i=1;i<=n;i++) if(v[i].size() == 1) s.insert(make_pair(d[i], i)); while(!s.empty()) { auto [nothing, x] = *s.begin(); s.erase(s.begin()); if(v[x].size() == 0) break; auto it = *v[x].begin(); if(d[x] > d[it]) { cout << "NO"; return 0; } v[it].erase(x); d[it] += d[x]; if(v[it].size() == 1) s.insert(make_pair(d[it], it)); } cout << "YES"; return 0; }