#include <bits/stdc++.h>
using namespace std;
int main() {
  long long T, N, i, C, X, M, V, Min, Y, Max, Ans, j;
  cin >> N >> M >> V;
  Min = N - 1;
  X = ((N - 2) * (N - 3)) / 2;
  Max = X + Min;
  if ((M < Min) || (M > Max)) {
    cout << "-1" << endl;
  } else {
    vector<int> U;
    for (i = 1; i <= N; i++) {
      if (i != V) {
        cout << i << " " << V << endl;
        U.push_back(i);
      }
    }
    Ans = N - 1;
    for (i = 0; i < U.size(); i++) {
      for (j = (i + 1); j < U.size() - 1; j++) {
        if (Ans < M) {
          cout << U[i] << " " << U[j] << endl;
          ++Ans;
        } else {
          break;
        }
      }
      if (Ans == M) break;
    }
  }
  return 0;
}
