#include <bits/stdc++.h>   using namespace std;   const int maxn = 1e5 + 100;   struct node {     int x, y;   } point[maxn];   bool check(node a, node b, node c, node d) {     if (a.x - b.x == c.x - d.x && a.y - b.y == c.y - d.y) return true;     return false;   }   int main() {     int n;     cin >> n;     for (int i = 0; i < n; ++i) cin >> point[i].x >> point[i].y;     if (n & 1) {       cout <<  nO  << endl;     } else {       bool flag = true;       for (int i = 0; i < n; ++i) {         if (!check(point[(i + 1) % n], point[i], point[(i + n / 2) % n],                    point[(i + n / 2 + 1) % n]))           flag = false;       }       if (flag)         cout <<  YES  << endl;       else         cout <<  nO  << endl;     }     return 0;   }   