func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   vector<array<int, 2>> v, good;   long long f(int x, int y) {     return abs(v[x][0] - v[y][0]) + abs(v[x][1] - v[y][1]);   }   int main() {     ios_base::sync_with_stdio(0), cin.tie(0);     cin >> n;     v.resize(n);     long long ans = 0;     for (int i = 0; i < n; i++) {       cin >> v[i][0] >> v[i][1];     }     int min_x = -1, max_x = -1, min_y = -1, max_y = -1;     for (int i = 0; i < n; i++) {       if (min_x == -1 || v[i][0] < v[min_x][0]) {         min_x = i;       }       if (max_x == -1 || v[i][0] > v[max_x][0]) {         max_x = i;       }       if (min_y == -1 || v[i][1] < v[min_y][1]) {         min_y = i;       }       if (max_y == -1 || v[i][1] > v[max_y][1]) {         max_y = i;       }       ans += f(i, (i + 1) % n);     }     if (n == 3) {       return cout << ans, 0;     }     set<int> st;     st.insert(min_x), st.insert(max_x), st.insert(min_y), st.insert(max_y);     for (int i : st) good.push_back(v[i]);     long long ans3 = 0;     if ((int)(good).size() < 4) {       ans3 = ans;     } else {       for (int i = 0; i < n; i++) {         for (int j = 0; j < 4; j++) {           for (int k = j + 1; k < 4; k++) {             long long cur = 0;             cur += abs(good[j][0] - v[i][0]) + abs(good[j][1] - v[i][1]);             cur += abs(good[j][0] - good[k][0]) + abs(good[j][1] - good[k][1]);             cur += abs(good[k][0] - v[i][0]) + abs(good[k][1] - v[i][1]);             ans3 = max(ans3, cur);           }         }       }     }     cout << ans3 <<    ;     for (int i = 4; i <= n; i++) {       cout << ans <<    ;     }   }   