#include <bits/stdc++.h>
using namespace std;
double PI = 3.1415926535897932384626;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, m, v;
  cin >> n >> m >> v;
  long long max_edges = (n - 1) * (n - 2) / 2 + 1;
  long long min_edges = n - 1;
  if (m > max_edges || m < min_edges) {
    cout << -1;
  } else {
    long long ccount = 0;
    long long v1 = (v % n) + 1;
    if (ccount >= m) {
      return 0;
    }
    cout << v1 << " " << v << endl;
    ccount++;
    if (ccount >= m) return 0;
    for (long long i = 1; i <= n; i++) {
      if (i == v1) continue;
      if (ccount >= m) {
        return 0;
      }
      for (long long j = i + 1; j <= n; j++) {
        if (j == v1) continue;
        cout << i << " " << j << endl;
        ccount++;
        if (ccount >= m) return 0;
      }
      if (ccount >= m) return 0;
    }
  }
  return 0;
}
