#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > ans;
vector<int> v1, v2;
int n, m, v;
void addE(int a, int b) {
  ans.push_back({a, b});
  --m;
}
void solve() {
  scanf("%d %d %d", &n, &m, &v);
  if (m < n - 1) {
    printf("-1");
    return;
  }
  int p = n - 2;
  for (int i = 1; i <= n; ++i) {
    if (i == v) {
      continue;
    }
    if (p > 0) {
      v1.push_back(i);
    } else {
      v2.push_back(i);
    }
    --p;
  }
  v1.push_back(v);
  v2.push_back(v);
  for (int i = 0; i + 1 < v1.size(); ++i) {
    addE(v1[i], v1[i + 1]);
  }
  for (int i = 0; i + 1 < v2.size(); ++i) {
    addE(v2[i], v2[i + 1]);
  }
  for (int i = 0; i < v1.size() && m > 0; ++i) {
    for (int j = i + 2; j < v1.size() && m > 0; ++j) {
      addE(v1[i], v1[j]);
    }
  }
  if (m > 0) {
    printf("-1");
    return;
  }
  for (auto it : ans) {
    int a, b;
    tie(a, b) = it;
    printf("%d %d\n", a, b);
  }
}
int main() {
  int tt = 1;
  while (tt--) {
    solve();
  }
  return 0;
}
