#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:268435456")
using namespace std;
template <typename T>
T sqr(const T &x) {
  return x * x;
}
template <typename T>
T my_abs(const T &x) {
  return x < 0 ? -x : x;
}
const int INF = (int)1e9;
const long long LINF = (long long)6e18;
const long long INF64 = LINF;
const long long INFLL = LINF;
const long double EPS = 1e-8;
const long double PI = 3.1415926535897932384626433832795;
const long double ME = 1e-5;
const long long MOD = (int)1e9 + 7;
const long long MOD2 = (int)1e9 + 21;
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
const int N = (int)5e3 + 10;
inline void solve() {
  int n, k;
  cin >> n >> k;
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  if (n == 4 || k < n + 1) {
    cout << -1 << endl;
    return;
  }
  vector<int> p;
  for (int i = 1; i < int(n + 1); ++i) {
    if (i != a && i != b && i != c && i != d) {
      p.push_back(i);
    }
  }
  cout << a << ' ' << c;
  for (int i = 0; i < int(int(p.size())); ++i) {
    cout << ' ' << p[i];
  }
  cout << ' ' << d << ' ' << b << endl;
  cout << c << ' ' << a;
  for (int i = 0; i < int(int(p.size())); ++i) {
    cout << ' ' << p[i];
  }
  cout << ' ' << b << ' ' << d << endl;
}
int main() {
  std::ios::sync_with_stdio(false);
  srand((unsigned int)time(NULL));
  cout << setprecision(15) << fixed;
  solve();
  cerr << clock() << endl;
  return 0;
}
