#include using namespace std; int main() { int N, M, K; cin >> N >> M >> K; int T = N * (N - 1) / 2; // 適当な判定。実際には正しくない。 if (K == 1 && M == T) { cout << "No\n"; return 0; } cout << "Yes\n"; // WRONG: // 頂点番号 N+1 を含む不正な辺を出力する。 for (int i = 0; i < M; ++i) { cout << 1 << ' ' << N + 1 << '\n'; } return 0; }