#include <bits/stdc++.h>
using namespace std;
struct PEDARE_TOURIST {
  int n;
  vector<pair<int, int> > RES;
  void DOWNLOAD() { cin >> n; }
  void HAMLE1(int i) {
    int a = i * 4 + 1, b = i * 4 + 2, c = i * 4 + 3, d = i * 4 + 4;
    RES.push_back(make_pair(a, b));
    RES.push_back(make_pair(c, d));
    RES.push_back(make_pair(a, c));
    RES.push_back(make_pair(b, d));
    RES.push_back(make_pair(a, d));
    RES.push_back(make_pair(b, c));
  }
  void HAMLE2(int i) {
    int a = i * 4 + 1, b = i * 4 + 2, c = i * 4 + 3, d = i * 4 + 4, e = n;
    RES.push_back(make_pair(a, b));
    RES.push_back(make_pair(a, c));
    RES.push_back(make_pair(d, e));
    RES.push_back(make_pair(c, n));
    RES.push_back(make_pair(a, d));
    RES.push_back(make_pair(b, e));
    RES.push_back(make_pair(a, e));
    RES.push_back(make_pair(b, d));
    RES.push_back(make_pair(c, d));
    RES.push_back(make_pair(b, c));
  }
  void HAMLE3(int i, int j) {
    int a1 = i * 4 + 1, b1 = i * 4 + 2, c1 = i * 4 + 3, d1 = i * 4 + 4;
    int a2 = j * 4 + 1, b2 = j * 4 + 2, c2 = j * 4 + 3, d2 = j * 4 + 4;
    RES.push_back(make_pair(a1, a2));
    RES.push_back(make_pair(b1, b2));
    RES.push_back(make_pair(c1, c2));
    RES.push_back(make_pair(d1, d2));
    RES.push_back(make_pair(a1, c2));
    RES.push_back(make_pair(b1, d2));
    RES.push_back(make_pair(c1, a2));
    RES.push_back(make_pair(d1, b2));
    RES.push_back(make_pair(a1, d2));
    RES.push_back(make_pair(b1, a2));
    RES.push_back(make_pair(c1, b2));
    RES.push_back(make_pair(d1, c2));
    RES.push_back(make_pair(a1, b2));
    RES.push_back(make_pair(b1, c2));
    RES.push_back(make_pair(c1, d2));
    RES.push_back(make_pair(d1, a2));
  }
  void FATH() {
    if (n % 4 == 2 || n % 4 == 3) return;
    if (n % 4 == 0)
      for (int i = 0; i < n / 4; i++) HAMLE1(i);
    else
      for (int i = 0; i < n / 4; i++) HAMLE2(i);
    for (int i = 0; i < n / 4; i++)
      for (int j = i + 1; j < n / 4; j++) HAMLE3(i, j);
  }
  void UPLOAD() {
    if (n % 4 == 2 || n % 4 == 3) return cout << "NO\n", void();
    cout << "YES\n";
    for (pair<int, int> x : RES) cout << x.first << ' ' << x.second << '\n';
  }
} pedare_tourist;
int main() {
  pedare_tourist.DOWNLOAD();
  pedare_tourist.FATH();
  pedare_tourist.UPLOAD();
}
