#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
const int maxn = 1e5 + 300;
const int INF = 0x3f3f3f3f;
int main() {
  int k;
  scanf("%d", &k);
  if (k == 1) {
    puts("YES\n2 1\n1 2");
  } else if (k % 2 == 0) {
    puts("NO");
  } else {
    puts("YES");
    printf("%d %d\n", 2 * k + 4, k * (k + 2));
    for (int i = 2; i <= k; i++) {
      printf("1 %d\n", i);
    }
    int nn = k + 2;
    for (int i = 2; i <= k; i++) {
      printf("%d %d\n", i, k + 1);
      printf("%d %d\n", i, k + 2);
      for (int j = i + 1; j <= k; j++) {
        if (i % 2 == 0 && j == i + 1) continue;
        printf("%d %d\n", i, j);
      }
    }
    printf("%d %d\n", k + 1, k + 2);
    for (int i = 2; i <= k; i++) {
      printf("%d %d\n", 1 + nn, i + nn);
    }
    for (int i = 2; i <= k; i++) {
      printf("%d %d\n", i + nn, nn + k + 1);
      printf("%d %d\n", i + nn, nn + k + 2);
      for (int j = i + 1; j <= k; j++) {
        if (i % 2 == 0 && j == i + 1) continue;
        printf("%d %d\n", i + nn, j + nn);
      }
    }
    printf("%d %d\n", k + 1 + nn, k + 2 + nn);
    printf("%d %d\n", 1, nn + 1);
  }
  return 0;
}
