func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1e9 + 7;   const long long inf = 1e18;   const long double eps = 1e-10;   struct Pnt {     long long x, y;     Pnt(long long x, long long y) : x(x), y(y) {}   };   Pnt operator+(Pnt a, Pnt b) { return {a.x + b.x, a.y + b.y}; }   bool operator==(Pnt a, Pnt b) { return (a.x == b.x) && (a.y == b.y); }   struct Solver {     vector<Pnt> a;     long long n;     Solver(vector<Pnt> a) : a(a) { n = a.size(); }     long long solve() {       if (n % 2) return 0;       long long d = n / 2;       Pnt mid = a[0] + a[d];       for (long long i = 0; i < n; ++i) {         long long j = (i + d) % n;         if (!(a[i] + a[j] == mid)) return 0;       }       return 1;     }   };   const long long debug = 0;   int32_t main() {     if (debug) freopen( input.txt ,  r , stdin);     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long tests = 1;     if (debug) cin >> tests;     while (tests--) {       long long stress = 0;       if (!stress) {         long long n;         cin >> n;         vector<Pnt> a;         a.reserve(n);         for (long long i = 0; i < n; ++i) {           long long x, y;           cin >> x >> y;           a.push_back({x, y});         }         Solver solver(a);         long long res = solver.solve();         if (res)           cout <<  YES n ;         else           cout <<  NO n ;       } else {       }     }     return 0;   }   