#include <bits/stdc++.h>
using namespace std;
int num[100005];
bool life[100005];
int init[25];
int lowbit(int x) { return -x & x; }
int main() {
  int n, x;
  init[1] = 1;
  for (int i = 2; i <= 20; i++) init[i] = init[i - 1] * 2;
  scanf("%d", &n);
  if (n % 2)
    printf("NO\n");
  else {
    printf("YES\n");
    for (int i = n; i; i -= 2) {
      for (int j = 20; j; j--) {
        x = init[j] - i - 1;
        if (x > 0 && x < n && !life[x]) {
          num[i] = x;
          num[x] = i;
          life[x] = 1;
          break;
        }
      }
    }
    for (int i = 1; i <= n; i++) {
      printf("%d", num[i]);
      if (i == n)
        printf("\n");
      else
        printf(" ");
    }
  }
  if (n < 6 || lowbit(n) == n)
    printf("NO\n");
  else {
    printf("YES\n");
    if (n == 6)
      printf("3 6 2 5 1 4\n");
    else {
      if (n == 7)
        printf("3 6 2 7 1 4 5\n");
      else {
        printf("3 6 2 7 1 4 5");
        x = 7;
        for (int i = 1; i <= 20; i++) {
          if (init[i] - 1 > x && x < n) {
            for (int j = x + 1; j < init[i] - 1 && j < n; j++)
              printf(" %d", j + 1);
            printf(" %d", x + 1);
            x = min(n, init[i] - 1);
          }
        }
        printf("\n");
      }
    }
  }
  return 0;
}
