#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const double pi = acos(-1.0);
const int N = 1e5 + 10;
vector<int> vec[N];
bool vis[N];
int dis[N], tt[N];
int n;
int spfa(int u) {
  if (vis[u]) return -1;
  vis[u] = 1;
  if (dis[u] != -1) return dis[u];
  if ((u * 2 + 1) % n == u) return dis[u] = spfa(u * 2 % n) + 1;
  int t1 = spfa((u * 2 + 1) % n), t2 = spfa((u * 2) % n);
  vis[u] = 0;
  return dis[u] = max(t1, t2) + 1;
}
int main() {
  int i;
  scanf("%d", &n);
  memset(dis, -1, sizeof(dis));
  dis[0] = 0;
  spfa(1);
  if (dis[1] != n - 1) {
    puts("-1");
    return 0;
  } else {
    for (i = 0; i < n; ++i) tt[dis[i]] = i;
  }
  printf("0 ");
  for (i = n - 1; i; --i) printf("%d ", tt[i]);
  printf("%d\n", tt[0]);
  puts("");
  return 0;
}
