#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;
}
