#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int ans[N], n, tot = 0;
bool vis[N];
inline void dfs(int x) {
  vis[x] = 1;
  if (!vis[2 * x % n]) dfs(2 * x % n);
  if (!vis[(2 * x + 1) % n]) dfs((2 * x + 1) % n);
  ans[++tot] = x;
}
int main() {
  scanf("%d", &n);
  if (n & 1) {
    printf("-1\n");
    return 0;
  }
  memset(vis, 0, sizeof vis);
  dfs(0);
  printf("0");
  while (tot--) printf(" %d", ans[tot]);
  return 0;
}
