func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MOD = 1e9 + 7;   const long long N = 3e5 + 5;   const long long INF = 1e14;   vector<long long> adj[33];   int dirx[] = {-1, 1, 0, 0};   int diry[] = {0, 0, -1, 1};   long long ans[33][2];   void dfs(int u, int p, int dir, long long dist) {     int d = 0;     for (long long i = 0; i < adj[u].size(); i++) {       int v = adj[u][i];       if (v == p) continue;       if (dir == d) d++;       ans[v][0] = ans[u][0] + dist * dirx[d];       ans[v][1] = ans[u][1] + dist * diry[d];       dfs(v, u, d ^ 1, (dist >> 1));       d++;     }   }   int main() {     ios::sync_with_stdio(false);     int n;     int a, b;     cin >> n;     for (long long i = 0; i < n - 1; i++) {       cin >> a >> b;       a--;       b--;       adj[a].push_back(b);       adj[b].push_back(a);     }     for (long long i = 0; i < n; i++)       if (adj[i].size() > 4) {         cout <<  NO n ;         return 0;       }     ans[0][0] = 0;     ans[0][1] = 0;     dfs(0, -1, -1, (1 << 30));     cout <<  YES n ;     for (long long i = 0; i < n; i++)       cout << ans[i][0] <<     << ans[i][1] <<   n ;     return 0;   }   