#include using namespace std; using i64 = long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); auto solve = [&]() { int n, q; cin >> n >> q; vector x(n); for (int i = 0; i < n; i++) { cin >> x[i]; } auto sx = x; sort(sx.begin(), sx.end()); sx.erase(unique(sx.begin(), sx.end()), sx.end()); if (sx.size() > q - n) { cout << "No" << '\n'; return; } cout << "Yes" << '\n'; for (int i = 0; i < q - n; i++) { cout << 1 << ' ' << i + 1 << ' ' << (i < sx.size() ? sx[i] : 1) << '\n'; } for (int i = 0; i < n; i++) { cout << 2 << ' ' << lower_bound(sx.begin(), sx.end(), x[i]) - sx.begin() + 1 << '\n'; } }; solve(); return 0; }