#include <bits/stdc++.h>
using namespace std;
bool marked[300];
int n, m, k;
int cnt;
void print(int x, int y) {
  cout << x + 1 << " " << y + 1 << endl;
  if (++cnt == m) exit(0);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> m >> k;
  for (int i = 0; i < (int)(k); i++) {
    int x;
    cin >> x;
    marked[--x] = true;
  }
  if (k == n)
    cout << -1 << endl;
  else if (m > n * (n - 1) / 2 - k + 1)
    cout << -1 << endl;
  else {
    int x0 = 0;
    int y0 = 0;
    for (int i = 0; i < (int)(n); i++)
      if (marked[i]) {
        x0 = i;
        break;
      }
    for (int i = 0; i < (int)(n); i++)
      if (!marked[i]) {
        y0 = i;
        break;
      }
    for (int i = 0; i < (int)(n); i++)
      if (i != y0) print(i, y0);
    for (int i = 0; i < (int)(n); i++)
      if (!marked[i] && i != y0) print(i, x0);
    for (int i = 0; i < (int)(n); i++)
      for (int j = (int)(i + 1); j < (int)(n); j++) {
        if (i == x0 || i == y0) continue;
        if (j == x0 || j == y0) continue;
        print(i, j);
      }
  }
  return 0;
}
