#include using namespace std; using ll = long long; #define rep(i, n) for(int i = 0; i < n; i++) int main() { int N, Q; cin >> N >> Q; vector x(N), t(Q), p(Q), xx(Q); map mp; rep(i, N) { cin >> x[i]; mp[x[i]]++; } int j = 0; for(auto it = mp.begin(); it != mp.end(); it++) { j++; it->second = j; } j = 0; for(auto it = mp.begin(); it != mp.end(); it++) { t[j] = 1; p[j] = it->second; xx[j] = it->first; j++; if(j >= Q) { cout << "No" << endl; return 0; } } rep(k, N) { t[j] = 2; p[j] = mp[x[k]]; j++; if(j >= Q && k + 1 < N) { cout << "No" << endl; return 0; } } while(j < Q) { t[j] = 1; p[j] = j + 1; xx[j] = 1; j++; } cout << "Yes" << endl; rep(i, Q) { if(t[i] == 1) { cout << t[i] << " " << p[i] << " " << xx[i] << endl; } else { cout << t[i] << " " << p[i] << " " << endl; } } }