#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k, a, v[333];
  cin >> n >> m >> k;
  memset(v, 0, sizeof(v));
  for (int i = 1; i <= k; i++) {
    cin >> a;
    v[a] = 1;
  }
  if (k == n || m > n - k + (n - 1) * (n - 2) / 2) {
    printf("-1\n");
    return 0;
  }
  int f = 1, last;
  while (!v[f]) f++;
  for (int i = 1; i <= n && m; i++) {
    if (v[i]) continue;
    printf("%d %d\n", f, i);
    last = i;
    m--;
    break;
  }
  for (int i = 1; i <= n && m; i++) {
    if (i == f) continue;
    for (int j = i + 1; j <= n && m; j++) {
      if (j == f) continue;
      printf("%d %d\n", i, j);
      m--;
    }
  }
  for (int i = last + 1; i <= n && m; i++) {
    if (v[i]) continue;
    printf("%d %d\n", f, i);
    m--;
  }
  return 0;
}
