#include <bits/stdc++.h>
using namespace std;
int n, k, m;
bool spec[303];
vector<int> a, b;
int main() {
  cin >> n >> m >> k;
  if (k == n) {
    cout << -1;
    return 0;
  }
  for (int x, i = 0; i < k; i++) {
    cin >> x;
    spec[x] = true;
  }
  int fix = 1, u = 1, v = 1;
  for (; spec[fix]; fix++)
    ;
  for (; not spec[u] or u == fix; u++)
    ;
  for (; not spec[v] or v == fix or v == u; v++)
    ;
  a.push_back(u), b.push_back(fix);
  for (int i = 1; i <= n; i++) {
    if (i != v and i != u) {
      a.push_back(v), b.push_back(i);
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = i + 1; j <= n; j++) {
      if (i == v or j == v or (i == u and spec[j]) or (j == u and spec[i]) or
          (i == u and j == fix or i == fix and j == u) or
          (i == v and j == fix or i == fix and j == v) or
          (i == u and j == v or i == v and j == u)) {
        continue;
      }
      a.push_back(i), b.push_back(j);
    }
  }
  if (a.size() >= m) {
    for (int i = 0; i < m; i++) {
      cout << a[i] << ' ' << b[i] << endl;
    }
  } else {
    cout << -1 << endl;
  }
}
