func_code_string: #include <bits/stdc++.h>   using namespace std;   int N;   int mov[2][4] = {{-1, 0, 0, 1}, {0, -1, 1, 0}};   long long X[31], Y[31];   vector<int> graph[31];   void BuildTree(int node, int parent, int dir, long long dist) {     if (graph[node].size() > 4) {       cout <<  NO n ;       exit(0);     }     for (int i = 0, j = 0; i < graph[node].size(); i++)       if (graph[node][i] != parent) {         if (dir == 3 - j) j = (j + 1) % 4;         X[graph[node][i]] = X[node] + dist * mov[0][j];         Y[graph[node][i]] = Y[node] + dist * mov[1][j];         BuildTree(graph[node][i], node, j, dist / 2);         j = (j + 1) % 4;       }   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie();     cin >> N;     for (int i = 0; i < N - 1; i++) {       int u, v;       cin >> u >> v;       graph[u].push_back(v);       graph[v].push_back(u);     }     BuildTree(1, 1, -1, 1ll << 30);     cout <<  YES n ;     for (int i = 1; i <= N; i++) cout << X[i] <<     << Y[i] <<   n ;   }   