#include <bits/stdc++.h>
using namespace std;
long n, m, k, t, bd[2000], frend;
vector<pair<long, long> > v;
long fr1;
set<pair<long, long> > sett;
long svert;
vector<long> q;
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> m >> k;
  if (k == n)
    cout << -1 << endl;
  else {
    for (int i = 1; i <= k; i++) {
      cin >> t;
      bd[t] = 1;
    }
    for (int i = 1; i <= n; i++)
      if (bd[i] == 0) q.push_back(i);
    for (int i = 1; i <= n; i++)
      if (bd[i] == 1) {
        q.push_back(i);
        if (svert == 0) svert = i;
      }
    for (int i = 0; i < q.size(); i++)
      for (int j = i + 1; j < q.size(); j++) {
        if ((q[i] != svert && q[j] != svert) || (bd[q[i]] + bd[q[j]] < 2))
          v.push_back(make_pair(q[i], q[j]));
      }
    if (v.size() < m)
      cout << -1 << endl;
    else
      for (int i = 0; i < m; i++) {
        cout << v[i].first << " " << v[i].second << endl;
      }
  }
  cin.get();
  cin.get();
  return 0;
}
