#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
const double PI = 3.141592653589793;
const int N = 100005;
int m, n, lista[N], v, v2, d, akt, i;
void jedz() {
  if (m < n - 1 || m > ((n - 1) * 1LL * (n - 2)) / 2 + 1) {
    printf("-1\n");
    return;
  }
  v2 = (v == n ? n - 1 : n);
  printf("%d %d\n", v, v2);
  lista[0] = v;
  d = 0;
  for (i = 1; i <= n; i++)
    if (i != v && i != v2) {
      d++;
      lista[d] = i;
    }
  for (i = 1; i < n - 1; i++) printf("%d %d\n", lista[i - 1], lista[i]);
  m -= (n - 1);
  d = 0;
  akt = 2;
  while (m > 0) {
    if (akt > n - 2) {
      d++;
      akt = d + 2;
    }
    printf("%d %d\n", lista[d], lista[akt]);
    akt++;
    m--;
  }
}
int main() {
  scanf("%d %d %d", &n, &m, &v);
  jedz();
  return 0;
}
