#include <bits/stdc++.h>
using namespace std;
vector<long long int> adj[100005];
vector<bool> visited(100005, false);
void solve() {
  long long int n, m, u, v;
  cin >> n >> m;
  unordered_set<long long int> s;
  for (int i = 0; i < m; i++) {
    cin >> u >> v;
    s.insert(v);
    s.insert(u);
  }
  long long int c;
  for (int i = 1; i < n + 1; i++) {
    if (s.find(i) == s.end()) {
      c = i;
      break;
    }
  }
  cout << n - 1 << "\n";
  for (int i = 1; i < n + 1; i++) {
    if (i == c) continue;
    cout << i << " " << c << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int t;
  t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
