#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int n;
stack<int> ans;
bool vis[maxn];
void dfs(int u) {
  if (vis[u]) return;
  vis[u] = true;
  dfs((u << 1) % n);
  dfs((u << 1 | 1) % n);
  ans.push(u);
}
int main() {
  scanf("%d", &n);
  if (n & 1)
    puts("-1");
  else {
    dfs(0);
    while (!ans.empty()) {
      printf("%d ", ans.top());
      ans.pop();
    }
    puts("0");
  }
  return 0;
}
