#include <bits/stdc++.h>
using namespace std;
int n, m, v;
vector<int> num;
vector<pair<int, int> > ans;
int main() {
  scanf("%d %d %d", &n, &m, &v);
  if (m < (n - 1) || ((m - (n - 1)) > (n - 3) * (n - 2) / 2)) {
    printf("-1\n");
    return 0;
  }
  for (register int i = 1; i <= n; i++) {
    if (i == v)
      continue;
    else
      m--, printf("%d %d\n", i, v);
  }
  if (m == 0) return 0;
  if (v != n) {
    for (register int i = 1; i <= n; i++) {
      if (i == v || i == v + 1) continue;
      num.push_back(int(i));
    }
  } else {
    for (register int i = 1; i <= n; i++) {
      if (i == v || i == v - 1) continue;
      num.push_back(int(i));
    }
  }
  register int j = 1, i = 0;
  while (true) {
    if (j == (int)num.size()) i++, j = i + 1;
    if (i == (int)num.size() - 1) break;
    printf("%d %d\n", num[i], num[j]);
    m--, j++;
    if (m == 0) break;
  }
  return 0;
}
