#include <bits/stdc++.h>
using namespace std;
long i, k, i2, i1, r, k1, j, m, l, n, i3, j10, j2, j3, a1, a2, v;
long cas, s, c, t1, a, b, k2, d, z, t, ng, dmax;
long long zz, zzn;
char we[30][30];
int main() {
  scanf("%ld%ld%ld", &n, &m, &v);
  zzn = (long long)(n);
  zz = 1 + ((zzn - 1) * (zzn - 2)) / 2;
  if (zz >= (long long)(m) && m >= n - 1) {
    if (v != 1) {
      printf("1 %ld\n", v);
      i = 0;
      k = 1;
      if (k < m) {
        for (i = 2; i < n; i++) {
          for (j = i + 1; j <= n; j++) {
            printf("%ld %ld\n", i, j);
            k++;
            if (k == m) break;
          }
          if (k == m) break;
        }
      }
    } else {
      printf("%ld %ld\n", n, v);
      i = 0;
      k = 1;
      if (k < m) {
        for (i = 1; i < n - 1; i++) {
          for (j = i + 1; j <= n - 1; j++) {
            printf("%ld %ld\n", i, j);
            k++;
            if (k == m) break;
          }
          if (k == m) break;
        }
      }
    }
  } else
    printf("-1\n");
  return 0;
  return 0;
}
