#include using namespace std; #include "testlib.h" using T = tuple; int main() { registerValidation(); int n = inf.readInt(2, 2000); inf.readSpace(); int k = inf.readInt(1, n - 1); inf.readEoln(); inf.readEof(); if(k == 1 or k == n - 1 or k == 2 and n & 1) { puts("No"); return 0; } vector res; if(k == 2) { for(int i = 2; i <= n; i++) { if(i & 1) res.push_back(T(i - 1, i, -1000000000)); else res.push_back(T(i - 1, i, 999999999)); } } else { for(int i = 1; i <= k - 2; i++) res.push_back(T(i, i + 1, 0)); res.push_back(T(k - 1, k, -1000000000)); for(int i = k + 1; i <= n; i++) res.push_back(T(k, i, 999999999)); } puts("Yes"); for(const auto &[u, v, d] : res) printf("%d %d %d\n", u, v, d); return 0; }