/**
* Author: Sergey Kopeliovich (Burunduk30@gmail.com)
*/
#include <bits/stdc++.h>
using namespace std;
#define forn(i, n) for (int i = 0; i < (int)(n); i++)
typedef pair <int, int> pii;
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
int n, l = INT_MIN, r = INT_MAX, a, b;
cin >> n;
vector<pii> ans;
forn(i, n) {
cin >> a >> b;
if (max(l, a) > min(r, b)) {
ans.push_back(pii(i, l));
l = a, r = b;
}
l = max(l, a), r = min(r, b);
}
ans.push_back(pii(n, l));
int cur = 0;
cout << ans.size() << "\n";
for (pii p : ans)
cout << cur + 1 << " " << p.first - cur << " " << p.second << "\n", cur = p.first;
return 0;
}