#include <bits/stdc++.h>
using namespace std;
int read() {
  int s = 0;
  char c = getchar(), lc = '+';
  while (c < '0' || '9' < c) lc = c, c = getchar();
  while ('0' <= c && c <= '9') s = s * 10 + c - '0', c = getchar();
  return lc == '-' ? -s : s;
}
void write(int x) {
  if (x < 0) {
    putchar('-');
    x = -x;
  }
  if (x < 10)
    putchar(x + '0');
  else {
    write(x / 10);
    putchar(x % 10 + '0');
  }
}
void print(int x, char c = '\n') {
  write(x);
  putchar(c);
}
void output(int x, int y) {
  print(x, ' ');
  print(y);
}
signed main(signed Recall, char *_902_[]) {
  (void)Recall, (void)_902_;
  int n = read();
  if (n % 4 >= 2)
    puts("NO");
  else {
    puts("YES");
    for (int i = 0; i < n / 4; i++) {
      int x = i * 4;
      output(x + 1, x + 2);
      output(x + 3, x + 4);
      output(x + 1, x + 4);
      output(x + 2, x + 3);
      if (n & 1) output(x + 1, n);
      if (n & 1) output(x + 2, n);
      output(x + 1, x + 3);
      output(x + 2, x + 4);
      if (n & 1) output(x + 4, n);
      if (n & 1) output(x + 3, n);
    }
    for (int i = 0; i < n / 4; i++)
      for (int j = i + 1; j < n / 4; j++) {
        int x = i * 4, y = j * 4;
        output(x + 1, y + 1);
        output(x + 2, y + 2);
        output(x + 1, y + 2);
        output(x + 2, y + 1);
        output(x + 1, y + 3);
        output(x + 2, y + 4);
        output(x + 1, y + 4);
        output(x + 2, y + 3);
        output(x + 3, y + 1);
        output(x + 4, y + 2);
        output(x + 3, y + 2);
        output(x + 4, y + 1);
        output(x + 3, y + 3);
        output(x + 4, y + 4);
        output(x + 3, y + 4);
        output(x + 4, y + 3);
      }
  }
  return 0;
}
