#include <bits/stdc++.h>
using namespace std;
using namespace std;
const long long int mod = 1e9 + 7;
const long long int MAX = LLONG_MAX;
const long long int MIN = LLONG_MIN;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long int n, m, v;
  cin >> n >> m >> v;
  long long int x = ((n) * (n - 1)) / 2;
  long long int y = (((n - 1) * (n - 2)) / 2) + 1;
  if (m < n - 1 || m > y) {
    cout << -1 << "\n";
  } else {
    long long int c = 0;
    if (v != 1)
      cout << 1 << " " << v << "\n";
    else {
      cout << 2 << " " << v << "\n";
      c++;
      for (long long int i = 3; i <= n; i++) {
        if (i != v) {
          cout << v << " " << i << "\n";
          c++;
        }
      }
      if (c >= m) {
        goto k;
      }
      for (long long int i = 3; i <= n; i++) {
        for (long long int j = i + 1; j <= n; j++) {
          if (i != v && j != v) {
            cout << i << " " << j << "\n";
            c++;
            if (c == m) {
              goto k;
            }
          }
        }
      }
    }
    c++;
    for (long long int i = 2; i <= n; i++) {
      if (i != v) {
        cout << v << " " << i << "\n";
        c++;
      }
    }
    if (c >= m) {
      goto k;
    }
    for (long long int i = 2; i <= n; i++) {
      for (long long int j = i + 1; j <= n; j++) {
        if (i != v && j != v) {
          cout << i << " " << j << "\n";
          c++;
          if (c == m) {
            goto k;
          }
        }
      }
    }
  k : {}
  }
  return 0;
}
