#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, m, k; cin >> n >> m >> k; vector> ans; array,100> B{}; for(int i = 0; i <= k; i++){ for(int j = i + 2; j <= k; j++){ B[i][j] = B[j][i] = true; ans.emplace_back(i + 1, j + 1); } } for(int i = k + 1; i < n; i++){ for(int j = 3; j <= k; j++){ B[j][i] = B[i][j] = true; ans.emplace_back(j + 1, i + 1); } } if(m < ans.size()){ cout << "No" << endl; return 0; } for(int i = 0; i < n; i++){ for(int j = i + 1; j < n; j++){ if(!B[i][j]) ans.emplace_back(i + 1, j + 1); } } if(ans.size() < m){ cout << "No" << endl; }else{ cout << "Yes\n"; for(int i = 0; i < m; i++){ auto [u, v] = ans[i]; cout << u << ' ' << v << '\n'; } } }