#include using namespace std; struct f{ int l, r, v; }; int main() { int N; cin >> N; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } vector ans; for (int mask = 29; mask >= 0; mask--) { if ((A[0] >> mask) & 1 == 1) { continue; } int r = 0; while (r < N && ((A[r] >> mask) & 1) == 0) { A[r] += 1 << mask; r++; } ans.emplace_back(1, r, 1 << mask); sort(A.begin(), A.end()); } cout << ans.size() << endl; for (auto[l, r, v]: ans) { cout << l << ' ' << r << ' ' << v << endl; } return 0; }