#if __has_include() #include using namespace atcoder; #else #include #if __has_include() #include using namespace atcoder; #endif #endif using namespace std; #define int long long #define all(x) (x).begin(), (x).end() #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = (int)((n) - 1); i >= 0; i--) template bool chmax(T &a,const T &b){if(a bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;} // using mint = modint; signed main(){ int q, k; cin >> q >> k; if(q == 1){ cout << "Yes" << '\n'; cout << "1 2" << '\n'; return 0; } if(q == 2){ if(k == 2) cout << "No" << '\n'; else{ cout << "Yes" << '\n'; cout << "1 2" << '\n'; cout << "1 2" << '\n'; } return 0; } if(q == 3){ if(k == 2) cout << "No" << '\n'; else{ cout << "Yes" << '\n'; cout << "1 2" << '\n'; cout << "1 2" << '\n'; cout << "3 4" << '\n'; } return 0; } assert(false); if(q == 4){ if(k <= 3) cout << "No" << '\n'; else{ cout << "Yes" << '\n'; cout << "1 2" << '\n'; cout << "1 2" << '\n'; cout << "3 4" << '\n'; cout << "4 5" << '\n'; } return 0; } if(k <= 4) cout << "No" << '\n'; else{ cout << "Yes" << '\n'; cout << "1 2" << '\n'; cout << "1 2" << '\n'; cout << "3 4" << '\n'; cout << "4 5" << '\n'; cout << "4 5" << '\n'; rep(i, q - 5) cout << "6 7" << '\n'; } }