#include <bits/stdc++.h>
using namespace std;
int setBit(int n, int pos) { return n | (1 << pos); }
int resetBit(int n, int pos) { return n & ~(1 << pos); }
bool checkBit(int n, int pos) { return n & (1 << pos); }
inline long long bigmod(long long p, long long e, long long M) {
  long long ret = 1;
  while (e > 0) {
    if (e % 2) ret = (ret * p) % M;
    p = (p * p) % M;
    e /= 2;
  }
  return ret;
}
inline long long power(long long x, long long y) {
  long long ans = 1;
  while (y > 0) {
    if (y % 2) ans *= x;
    x *= x;
    y /= 2;
  }
  return ans;
}
template <class T>
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 * (b / gcd(a, b));
}
int n, k, a, b, c, d;
int vis[1003];
int main() {
  cin >> n >> k >> a >> b >> c >> d;
  if (k < n + 1 || n == 4) {
    cout << -1;
    return 0;
  }
  vis[a] = vis[b] = vis[c] = vis[d] = 1;
  printf("%d %d ", a, c);
  for (int i = 1; i <= n; i++) {
    if (vis[i] == 0) {
      printf("%d ", i);
    }
  }
  printf("%d %d\n", d, b);
  printf("%d %d ", c, a);
  for (int i = 1; i <= n; i++) {
    if (vis[i] == 0) {
      printf("%d ", i);
    }
  }
  printf("%d %d", b, d);
}
