#include <bits/stdc++.h>
using namespace std;
vector<int> d[111111];
int i, n, m, v1, v2, h[111111], s[111111];
bool ok() {
  int v = 0;
  for (int t = 0; t < 4; t++) {
    if (d[h[n]][t] == h[1]) ++v;
    if (d[h[n]][t] == h[2]) ++v;
    if (d[h[n - 1]][t] == h[1]) ++v;
  }
  if (v == 3)
    return true;
  else
    return false;
}
void go(int x) {
  int t;
  if (x - 1 == n && ok()) {
    for (t = 1; t <= n; t++) cout << h[t] << " ";
    exit(0);
  }
  if (x - 1 == n) return;
  int r = h[x - 1], pr = h[x - 2];
  for (t = 0; t < 4; t++)
    if (!s[d[r][t]]) {
      int j, l = d[r][t];
      for (j = 0; j < 4; j++)
        if (d[l][j] == pr) {
          h[x] = l;
          s[l] = 1;
          go(x + 1);
          s[l] = 0;
        }
    }
}
int main() {
  cin >> n;
  for (i = 1; i <= n * 2; i++) {
    cin >> v1 >> v2;
    d[v1].push_back(v2);
    d[v2].push_back(v1);
  }
  for (i = 1; i <= n; i++)
    if (d[i].size() < 4) {
      puts("-1");
      return 0;
    }
  h[1] = 1;
  s[1] = 1;
  for (i = 0; i < 4; i++) {
    h[2] = d[1][i];
    s[d[1][i]] = 1;
    go(3);
    s[d[1][i]] = 0;
  }
  puts("-1");
  return 0;
}
