#include <bits/stdc++.h>
using namespace std;
int Set(int N, int pos) { return N = N | (1 << pos); }
int reset(int N, int pos) { return N = N & ~(1 << pos); }
bool check(int N, int pos) { return (bool)(N & (1 << pos)); }
int cas = 1;
int dxx[] = {-1, -1, -1, 0, 0, 1, 1, 1};
int dyy[] = {-1, 0, 1, -1, 1, -1, 0, 1};
int dx[] = {-1, 0, 0, 1};
int dy[] = {0, -1, 1, 0};
int main() {
  int k, i, j, l, m, n;
  scanf("%d", &k);
  if (k % 2 == 0) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  if (k == 1) {
    printf("2 1\n1 2\n");
    return 0;
  }
  n = (k + 1) * 2 + 2;
  m = (n * k) / 2;
  printf("%d %d\n", n, m);
  n = k;
  printf("%d %d\n", 1, n + 3);
  for (i = 2; i <= n; i++) {
    printf("1 ");
    printf("%d\n", i);
    printf("%d %d\n", n + 1, i);
    printf("%d %d\n", n + 2, i);
    if (i % 2 == 0)
      j = i + 2;
    else
      j = i + 1;
    for (; j <= n; j++) {
      printf("%d %d\n", i, j);
    }
  }
  printf("%d %d\n", n + 1, n + 2);
  for (i = 2 + n + 2; i <= n + n + 2; i++) {
    printf("%d %d\n", 1 + n + 2, i);
    printf("%d %d\n", n + 1 + n + 2, i);
    printf("%d %d\n", n + 2 + n + 2, i);
    if (i % 2 == 0)
      j = i + 1;
    else
      j = i + 2;
    for (; j <= n + n + 2; j++) {
      printf("%d %d\n", i, j);
    }
  }
  printf("%d %d\n", n + 1 + n + 2, n + 2 + n + 2);
}
