#include <bits/stdc++.h>
using namespace std;
int dx[4] = {-1, 1, 0, 0};
int dy[4] = {0, 0, -1, 1};
const int inf = 0x7f7f7f7f;
const int mod = 1000000007;
const double eps = 1e-8;
int n, m;
int id[100007];
set<pair<int, int> > st;
bool solve() {
  for (int i = 1; i <= n; ++i) id[i] = i;
  random_shuffle(id + 1, id + 1 + n);
  id[n + 1] = id[1];
  int cnt = 0;
  for (int i = 2; i <= n + 1; ++i) {
    if (st.find(make_pair(id[i - 1], id[i])) == st.end()) cnt++;
  }
  if (cnt < m) return false;
  for (int i = 2; i <= n + 1 && m; ++i) {
    if (st.find(make_pair(id[i - 1], id[i])) == st.end()) {
      printf("%d %d\n", id[i - 1], id[i]);
      m--;
    }
  }
  return true;
}
int main() {
  scanf("%d%d", &n, &m);
  int x, y;
  st.clear();
  for (int i = 0; i < m; ++i) {
    scanf("%d%d", &x, &y);
    st.insert(make_pair(x, y));
    st.insert(make_pair(y, x));
  }
  for (int i = 0; i < 100; ++i) {
    if (solve()) return 0;
  }
  printf("-1\n");
  return 0;
}
