/**
 * 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;
}