#include using namespace std; #define rep(i,a,b) for(int i=a;i<(b);++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair pii; typedef vector vi; #define pb push_back #define ff first #define ss second void solve(){ ll n; cin >> n; vector> adj(n); for(ll i = 0; i < n-1; ++i){ ll u, v; cin >> u >> v; u--; v--; adj[u].insert(v); adj[v].insert(u); } vector ct(n, 1); deque q; set act; for(ll i = 0; i < n; ++i){ act.insert(i); if(adj[i].size() == 1) q.pb(i); } while(!q.empty()){ ll nd = q.front(); q.pop_front(); if(act.find(nd) == act.end()) continue; ll pr = *adj[nd].begin(); if(ct[nd] > ct[pr]) continue; ct[pr] += ct[nd]; adj[pr].erase(nd); if(adj[pr].size() == 1) q.pb(pr); act.erase(nd); } if(act.size() <= 1){ cout << "YES\n"; }else{ cout << "NO\n"; } } int main(){ cin.tie(0); ios_base::sync_with_stdio(0); cout<