using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[] LList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => int.Parse(ReadLine())).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, q) = (c[0], c[1]); var x = LList(n); var dic = new Dictionary(); var ans = new List(); var pos = 1; for (var i = 0; i < n; ++i) { if (!dic.ContainsKey(x[i])) { ans.Add($"1 {pos} {x[i]}"); dic[x[i]] = pos; ++pos; } ans.Add($"2 {dic[x[i]]}"); } if (ans.Count > q) { WriteLine("No"); return; } WriteLine("Yes"); while (ans.Count < q) ans.Add($"1 1 1"); WriteLine(string.Join("\n", ans)); } }