#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

class TETORIS {
public:
	int N;
	vector<vector<int> > bd;
	TETORIS() : N(0) {}
	void put(int len, int pos) {
		int k = bd.size()-1;
		for (; k>=0; --k) {
			for (int i=0; i<len; ++i) {
				if (bd[k][pos+i]) goto brk;
			}
		} brk:;
		++k;
		if (bd.size() == k) bd.push_back(vector<int>(5, 0));
		for (int i=0; i<len; ++i) {
			bd[k][pos+i] = 1;
		}
		N += len;
	}
	void update() {
		for (int i=bd.size()-1; i>=0; --i) {
			if ( ! count(bd[i].begin(), bd[i].end(), 0)) {
				bd.erase(bd.begin()+i);
				N -= 5;
			}
		}
	}
};

int main() {
	int n, d, p, q;
	while (cin >> n, n) {
		TETORIS tet;
		for (int i=0; i<n; ++i) {
			cin >> d >> p >> q;
			if (d == 1) {
				tet.put(p, q-1);
				tet.update();
			} else {
				for (int j=0; j<p; ++j) tet.put(1, q-1);
				tet.update();
			}
		}
		cout << tet.N << endl;
	}
	return 0;
}