#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
bool v[maxn << 2];
int q[maxn << 2], n, tot;
void dfs(int x) {
  v[x] = 1;
  if (!v[x * 2 % n]) dfs(x * 2 % n);
  if (!v[(x * 2 + 1) % n]) dfs((x * 2 + 1) % n);
  q[++tot] = x;
}
int main() {
  scanf("%d", &n);
  if (n & 1) {
    puts("-1");
    return 0;
  }
  dfs(0);
  putchar('0');
  for (int i = tot - 1; i >= 0; i--) printf(" %d", q[i]);
  putchar('\n');
}
