#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 10;
int a[4], b[4];
int i, j, k, l, t, n, m;
void work() {
  int i, j, l, r;
  for (i = 0; i <= 1; i++)
    for (j = 0; j <= 1; j++) {
      l = i * 2;
      r = j * 2;
      printf("%d %d\n", a[l], b[r + 1]);
      printf("%d %d\n", a[l + 1], b[r]);
      printf("%d %d\n", a[l], b[r]);
      printf("%d %d\n", a[l + 1], b[r + 1]);
    }
}
void solve4() {
  printf("%d %d\n", a[0], a[2]);
  printf("%d %d\n", a[1], a[3]);
  printf("%d %d\n", a[0], a[3]);
  printf("%d %d\n", a[1], a[2]);
  printf("%d %d\n", a[0], a[1]);
  printf("%d %d\n", a[2], a[3]);
}
void solve5() {
  printf("%d %d\n", a[0], n);
  printf("%d %d\n", a[1], n);
  printf("%d %d\n", a[0], a[2]);
  printf("%d %d\n", a[1], a[3]);
  printf("%d %d\n", a[3], n);
  printf("%d %d\n", a[2], n);
  printf("%d %d\n", a[0], a[3]);
  printf("%d %d\n", a[1], a[2]);
  printf("%d %d\n", a[0], a[1]);
  printf("%d %d\n", a[2], a[3]);
}
int main() {
  scanf("%d", &n);
  if (n % 4 > 1)
    printf("NO\n");
  else {
    printf("YES\n");
    for (i = 1; i <= n / 4; i++)
      for (j = i + 1; j <= n / 4; j++) {
        for (k = 0; k <= 3; k++) a[k] = (i - 1) * 4 + k + 1;
        for (k = 0; k <= 3; k++) b[k] = (j - 1) * 4 + k + 1;
        work();
      }
    for (i = 1; i <= n / 4; i++) {
      for (k = 0; k <= 3; k++) a[k] = (i - 1) * 4 + k + 1;
      if (n % 4 == 0)
        solve4();
      else
        solve5();
    }
  }
}
