#include #include #include using namespace std; int main(){ int n; cin >> n; vector a(n); for(int i = 0; i < n; i++){ cin >> a[i]; } vector> ans; auto op = [&](int l, int r, int v){ ans.emplace_back(l, r, v); for(int i = l; i <= r; i++){ a[i] += v; } sort(a.begin(), a.end()); }; while(a[0] != a[n - 1]){ int z = a[0] ^ a[n - 1]; for(int i = 29; i >= 0; i--){ if(z & (1 << i)){ for(int j = 0; j < n; j++){ if(a[j] & (1 << i)){ op(0, j - 1, (1 << i)); break; } } break; } } } cout << ans.size() << endl; for(auto [l, r, v] : ans){ cout << l + 1 << " " << r + 1 << " " << v << endl; } }