#include <bits/stdc++.h>
const int MAXN = 205;
using namespace std;
bool adj[MAXN][MAXN];
int main() {
  int k;
  scanf("%d", &k);
  if (!(k & 1)) {
    printf("NO\n");
    return 0;
  }
  if (k == 1) {
    printf("YES\n2 1\n1 2\n");
    return 0;
  }
  int n = 2 * k + 4, m = (k + 2) * k;
  for (int i = 2; i <= k; i++) {
    adj[1][i] = true;
    adj[i][k + 1] = true;
    adj[i][k + 2] = true;
    for (int j = i + 1; j <= k; j++) adj[i][j] = true;
  }
  adj[k + 1][k + 2] = true;
  for (int i = k + 4; i <= 2 * k + 2; i++) {
    adj[k + 3][i] = true;
    adj[i][2 * k + 3] = true;
    adj[i][2 * k + 4] = true;
    for (int j = i + 1; j <= 2 * k + 2; j++) adj[i][j] = true;
  }
  adj[2 * k + 3][2 * k + 4] = true;
  adj[1][k + 3] = true;
  for (int i = 2; i <= k; i += 2) {
    adj[i][i + 1] = false;
    adj[i + k + 2][i + k + 3] = false;
  }
  printf("YES\n%d %d\n", n, m);
  for (int i = 1; i <= n; i++)
    for (int j = i + 1; j <= n; j++)
      if (adj[i][j]) printf("%d %d\n", i, j);
  return 0;
}
