#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  int marked[k];
  for (int i = 0; i < k; ++i) cin >> marked[i];
  if (k == n)
    cout << "-1";
  else {
    sort(marked, marked + k);
    int unmarked[n - k];
    for (int i = 1, j = 0, l = 0; i <= n and j < n - k; ++i) {
      if (l < k and marked[l] == i)
        ++l;
      else
        unmarked[j++] = i;
    }
    set<pair<int, int> > res;
    int a = marked[0], b = marked[1], c = unmarked[0];
    for (int i = 1; i <= n and res.size() < m; ++i) {
      if (i != a and i != b) res.insert(pair<int, int>(min(a, i), max(a, i)));
    }
    for (int i = 0; i < n - k and res.size() < m; ++i) {
      res.insert(pair<int, int>(min(b, unmarked[i]), max(b, unmarked[i])));
    }
    for (int i = 1; i <= n and res.size() < m; ++i) {
      if (i == a or i == b) continue;
      for (int j = i + 1; j <= n and res.size() < m; ++j) {
        if (j == a or j == b) continue;
        res.insert(pair<int, int>(i, j));
      }
    }
    if (res.size() != m)
      cout << "-1";
    else {
      for (auto it = res.begin(); it != res.end(); it++) {
        cout << it->first << " " << it->second << "\n";
      }
    }
  }
  return 0;
}
