#yukicoder3184 Make Same #入力受取 N = int(input()) A = list(map(int, input().split())) #分かった 上の桁から足して ~ ( - 1 << 30 )にすればいいんだ すごい! ans = [] has_bit = lambda S, x: S >> x & 1 for k in range(29, -1, -1): for i in range(N + 1): if i == N or has_bit(A[i], k): break assert all(has_bit(A[j], k) == 0 for j in range(i)) assert all(has_bit(A[j], k) == 1 for j in range(i, N)) if i == 0: continue else: ans.append((0, i, 1 << k)) for j in range(i): A[j] += 1 << k A.sort() print( len(ans) ) for Li, Ri, Vi in ans: print(Li + 1, Ri, Vi)