#include <bits/stdc++.h>
using namespace std;
int n, m, k, x, y, a[1100], b[1100], f[1100][1100];
int main() {
  scanf("%d%d%d", &n, &m, &k);
  if (n == k || m > n * (n - 1) / 2 - k + 1) return printf("-1\n"), 0;
  for (int i = 1; i <= k; i++) {
    scanf("%d", &a[i]);
    b[a[i]] = 1;
  }
  x = a[1];
  if (a[1] == 1)
    y = 2;
  else
    y = 1;
  for (int i = y + 1; i <= n; i++)
    if (i != x) {
      if (x == y) y++;
      printf("%d %d\n", y, i);
      f[y][i] = f[i][y] = 1, m--;
      y++;
    }
  for (int i = 1; m && i <= n; i++)
    if (!b[i]) f[x][i] = f[i][x] = 1, m--, printf("%d %d\n", x, i);
  for (int i = 1; m && i <= n; i++)
    if (i != x)
      for (int j = i + 1; m && j <= n; j++)
        if (j != x && !f[i][j]) {
          f[i][j] = f[j][i] = 1, m--;
          printf("%d %d\n", i, j);
        }
  return 0;
}
