#include <bits/stdc++.h>
using namespace std;
int n, m;
set<pair<int, int> > s;
int a, b;
vector<int> v;
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 1; i <= (n); ++i) v.push_back((i + 666) % n + 1);
  for (int i = 1; i <= (m); ++i) {
    scanf("%d %d", &a, &b);
    s.insert(pair<int, int>(a, b));
    s.insert(pair<int, int>(b, a));
  }
  int iter = 200;
  int cnt = 0;
  while (cnt < iter) {
    cnt++;
    random_shuffle(v.begin(), v.end());
    int ok = 1;
    for (int i = 0; i < m; i++) {
      if (((s).find(pair<int, int>(v[i], v[(i + 1) % n])) != (s).end())) ok = 0;
    }
    if (ok == 1) {
      for (int i = 0; i < m; i++) {
        printf("%d %d\n", v[i], v[(i + 1) % n]);
      }
      return 0;
    }
  }
  printf("-1\n");
  return 0;
}
