func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, viz[501], a[501][2], l[501], sol[501];   int ABC(int a) { return (a) > 0 ? (a) : (-(a)); }   int main() {     int i, j, x;     cin >> n >> m;     for (i = 0; i < n; i++) cin >> a[i][0] >> a[i][1];     for (i = 0; i < m; i++) cin >> l[i];     for (i = 0; i < n; i++)       for (j = 0; j < m && !viz[i]; j++)         if (i > 0 && i < n - 1) {           if ((x = (ABC(a[i][0] - a[i - 1][0]) + ABC(a[i][1] - a[i - 1][1]) +                     ABC(a[i][0] - a[i + 1][0]) + ABC(a[i][1] - a[i + 1][1]))) ==               l[j]) {             viz[i] = viz[i - 1] = viz[i + 1] = 1;             sol[i - 1] = sol[i + 1] = -1;             sol[i] = j + 1;             l[j] = -1;             break;           }         } else if (!i) {           if ((x = ABC(a[i][0] - a[n - 1][0]) + ABC(a[i][1] - a[n - 1][1]) +                    ABC(a[i][0] - a[i + 1][0]) + ABC(a[i][1] - a[i + 1][1])) ==               l[j]) {             viz[i] = viz[n - 1] = viz[i + 1] = 1;             sol[n - 1] = sol[i + 1] = -1;             sol[i] = j + 1;             l[j] = -1;             break;           }         } else if ((x = ABC(a[i][0] - a[i - 1][0]) + ABC(a[i][1] - a[i - 1][1]) +                         ABC(a[i][0] - a[0][0]) + ABC(a[i][1] - a[0][1])) ==                    l[j]) {           viz[i] = viz[i - 1] = viz[0] = 1;           sol[i - 1] = sol[0] = -1;           sol[i] = j + 1;           l[j] = -1;           break;         }     for (i = 0; i < n; i++)       if (!viz[i]) break;     if (i < n)       cout <<  NO n ;     else {       cout <<  YES n ;       for (i = 0; i < n; i++) cout << sol[i] <<    ;     }     return 0;   }   