#include <bits/stdc++.h>
using namespace std;
int n, m, v;
vector<int> vi;
int main() {
  scanf("%d%d%d", &n, &m, &v);
  if (m < n - 1) {
    puts("-1");
    return 0;
  }
  if (m - 1 > (long long)(n - 1) * (n - 2) / 2) {
    puts("-1");
    return 0;
  }
  for (int i = 1; i <= n; ++i) {
    if (i != v) {
      vi.push_back(i);
    }
  }
  int u = vi.back();
  vi.pop_back();
  vi.push_back(v);
  printf("%d %d\n", u, v);
  for (int i = 0; i < (int)vi.size() - 1; ++i) {
    printf("%d %d\n", vi[i], vi[i + 1]);
  }
  int cnt = vi.size();
  for (int i = 0; i < (int)vi.size(); ++i) {
    for (int j = i + 2; j < (int)vi.size(); ++j) {
      if (cnt < m) {
        printf("%d %d\n", vi[i], vi[j]);
        cnt++;
      } else {
        j = vi.size();
        i = vi.size();
      }
    }
  }
  return 0;
}
