def bsr(x: int) -> int: """1 が立っている最上位ビットの位置を返す (0-indexed)""" assert x != 0 return x.bit_length() - 1 N = int(input()) A = list(map(int, input().split())) ma = max(A) if ma == 0: print(0) exit() xs = A[:] ans = [] for i in reversed(range(bsr(ma)+1)): if xs[0] & (1 << i): continue ind = N for j in range(N): if xs[j] & (1 << i): ind = j break xs[j] |= (1 << i) ans.append((i, ind)) xs.sort() print(len(ans)) for p, r in ans: print(1, r, 1 << p)