#include <bits/stdc++.h>
using namespace std;
vector<int> ansx, ansy;
int n, er;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  if (n % 4 == 1 || n % 4 == 0) {
    cout << "YES"
         << "\n";
    er = n % 4;
    if (n % 4) n--;
    for (int i = 1; i <= n; i += 4) {
      int a = i;
      int b = i + 1;
      int c = i + 2;
      int d = i + 3;
      for (int i = d + 1; i <= n; i++) ansx.push_back(a), ansy.push_back(i);
      ansx.push_back(a), ansy.push_back(b);
      for (int i = n; i > d; i--) ansx.push_back(b), ansy.push_back(i);
      for (int i = d + 1; i <= n; i++) ansx.push_back(c), ansy.push_back(i);
      ansx.push_back(c), ansy.push_back(d);
      for (int i = n; i > d; i--) ansx.push_back(d), ansy.push_back(i);
      ansx.push_back(a), ansy.push_back(d);
      ansx.push_back(b), ansy.push_back(c);
      ansx.push_back(a), ansy.push_back(c);
      ansx.push_back(b), ansy.push_back(d);
    }
    for (int i = 0; i < ansx.size(); i++) {
      if (er && ansy[i] - ansx[i] == 1 && ansy[i] % 2 == 0)
        cout << ansx[i] << " " << n + 1 << "\n";
      cout << ansx[i] << " " << ansy[i] << "\n";
      if (er && ansy[i] - ansx[i] == 1 && ansy[i] % 2 == 0)
        cout << ansy[i] << " " << n + 1 << "\n";
    }
  } else {
    cout << "NO"
         << "\n";
  }
}
