#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
template <class T>
T lcm(T a, T b) {
  return (a / gcd<T>(a, b) * b);
}
template <class T>
inline T modinverse(T a, T M) {
  return bigmod(a, M - 2, M);
}
template <class T>
inline T bigmod(T p, T e, T M) {
  long long ret = 1;
  for (; e > 0; e >>= 1) {
    if (e & 1) ret = (ret * p) % M;
    p = (p * p) % M;
  }
  return (T)ret;
}
template <typename T>
string NtoS(T Number) {
  stringstream ss;
  ss << Number;
  return ss.str();
}
long long pow(long long x, long long y) {
  long long res = 1;
  for (; y;) {
    if ((y & 1)) {
      res *= x;
    }
    x *= x;
    y >>= 1;
  }
  return res;
}
int main() {
  int a, b, c, d, n, m, s[1001], t[100];
  scanf("%d", &n);
  for (int i = n; i >= 1; i--) {
    s[n - i + 1] = i;
    t[n - i + 1] = i;
  }
  for (int i = 1; i <= n - 1; i++) {
    for (int j = i; j < n - 1; j++) {
      if (s[j] > s[j + 1]) swap(s[j], s[j + 1]);
    }
  }
  for (int i = 1; i <= n; i++) {
    if (s[i] != t[i]) {
      for (int i = 1; i <= n; i++) cout << t[i] << " ";
      return 0;
    }
  }
  cout << "-1";
  return 0;
}
