#include <bits/stdc++.h>
using namespace std;
bool v[300];
int main() {
  int n, m, k, t1, t2;
  cin >> n >> m >> k;
  for (int i = 0; i < k; i++) {
    int a;
    cin >> a;
    if (i == 0) t1 = a;
    if (i == 1) t2 = a;
    v[a] = 1;
  }
  if (t1 > t2) {
    t1 += t2;
    t2 = t1 - t2;
    t1 -= t2;
  }
  if (m > n * (n - 1) / 2 - k + 1 || n == k)
    cout << "-1" << endl;
  else {
    for (int i = 1; i <= n; i++)
      if (!v[i]) {
        v[i] = 1;
        cout << t1 << " " << i << endl;
        for (int j = 1; j <= n; j++) {
          if (j != t1 && j != t2) cout << t2 << " " << j << endl;
        }
        break;
      }
    m -= n - 1;
    for (int i = 1; i <= n && m; i++)
      for (int j = i + 1; j <= n && m; j++)
        if ((i == t1 && v[j]) || (v[i] == 1 && j == t1) || i == t2 || j == t2)
          continue;
        else {
          cout << i << " " << j << endl;
          m--;
        }
  }
}
