#include <bits/stdc++.h>
using namespace std;
int n, m, v, p, q;
int main(){
cin >> n >> m >> v;
if (v == 1) p = 2;
else p = 1;
if (m < n - 1 || m > n - 1 + (n - 2) * (n - 3) / 2) {
cout << -1;return 0;
}
for (int i = 1; i <= n; i++){
if (i == v) continue;
cout << v << ' ' << i << endl;
}
m -= (n - 1);
for (int i = 1; i <= n; i++){
if (i == v || i == p) continue;
for (int j = i + 1; j <= n; j++){
if (j == v || j == p) continue;
if (m == 0) return 0;
cout << i << ' ' << j << endl;
m--;
}
}
return 0;
}
1455C - Ping-pong | 1644C - Increase Subarray Sums |
1433A - Boring Apartments | 1428B - Belted Rooms |
519B - A and B and Compilation Errors | 1152B - Neko Performs Cat Furrier Transform |
1411A - In-game Chat | 119A - Epic Game |
703A - Mishka and Game | 1504C - Balance the Bits |
988A - Diverse Team | 1312B - Bogosort |
1616B - Mirror in the String | 1660C - Get an Even String |
489B - BerSU Ball | 977C - Less or Equal |
1505C - Fibonacci Words | 1660A - Vasya and Coins |
1660E - Matrix and Shifts | 1293B - JOE is on TV |
1584A - Mathematical Addition | 1660B - Vlad and Candies |
1472C - Long Jumps | 1293D - Aroma's Search |
918A - Eleven | 1237A - Balanced Rating Changes |
1616A - Integer Diversity | 1627B - Not Sitting |
1663C - Pōja Verdon | 1497A - Meximization |