#include <bits/stdc++.h>
using namespace std;
const int inf = (int)1e9 + 100;
const long double eps = 1e-11;
const long double pi = acos(-1.0L);
int myrand() { return rand(); }
unsigned rdtsc() {
  unsigned ans;
  asm("rdtsc" : "=a"(ans));
  return ans;
}
int rnd(int x) { return myrand() % x; }
void precalc() {}
int n, k;
int a, b, c, d;
bool read() {
  if (scanf("%d%d", &n, &k) < 2) {
    return false;
  }
  scanf("%d%d%d%d", &a, &b, &c, &d);
  return true;
}
void solve() {
  if (n <= 4 || k < n + 1) {
    printf("-1\n");
    return;
  }
  vector<int> path;
  for (int i = 1; i <= n; i++) {
    if (i != a && i != b && i != c && i != d) {
      path.push_back(i);
    }
  }
  printf("%d %d ", a, c);
  for (int i = 0; i < ((int)((path).size())); i++) {
    printf("%d ", path[i]);
  }
  printf("%d %d\n", d, b);
  printf("%d %d ", c, a);
  for (int i = 0; i < ((int)((path).size())); i++) {
    printf("%d ", path[i]);
  }
  printf("%d %d\n", b, d);
}
int main() {
  srand(rdtsc());
  precalc();
  while (true) {
    if (!read()) {
      break;
    }
    solve();
  }
  return 0;
}
