#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 6;
int g[N];
int main() {
  int n, m, v, i;
  cin >> n >> m >> v;
  long long top = 1 + (n - 1) * (n - 2) / 2;
  if (n - 1 > m || top < (long long)m) {
    cout << -1;
    return 0;
  }
  --v;
  for (i = 0; i < n; ++i) g[i] = i;
  swap(g[1], g[v]);
  for (i = 0; i < n - 1; ++i) {
    cout << g[i] + 1 << " " << g[i + 1] + 1 << endl;
    --m;
  }
  int j;
  for (i = 1; i < n - 1 && m; ++i) {
    for (j = i + 2; j < n && m; ++j) {
      cout << g[i] + 1 << " " << g[j] + 1 << endl;
      --m;
    }
  }
  return 0;
}
