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

const int LIMIT = 5001;

int main()
{
	int n;

	while( cin >> n && n )
	{
		bool map[ LIMIT ][ 5 ] = {0};
		int h[ 5 ] = {0};
		for( int i = 0; i < n; ++i ){
			int d, p, q;
			cin >> d >> p >> q;
			q -= 1;

			int w = ( d == 1 ? p : 1 );
			int hh = 0;
			for( int i = 0; i < w; ++i ){
				hh = max( hh, h[ q + i ] );
			}
			if( d == 1 ){
				for( int i = 0; i < w; ++i ){
					map[ hh ][ q + i ] = true;
					h[ q + i ] = hh + 1;
				}
			}else{
				for( int i = 0; i < p; ++i ){
					map[ hh + i ][ q ] = true;
				}
				h[ q ] = hh + p;
			}

			for( int i = 0; i < 5; ++i ){
				hh = max( hh, h[ i ] );
			}
			for( int i = 0; i < hh; ++i ){
				bool full = true;
				for( int j = 0; j < 5; ++j ){
					if( !map[ i ][ j ] ){
						full = false;
						break;
					}
				}
				if( full ){
					for( int j = i; j < hh; ++j ){
						for( int k = 0; k < 5; ++k ){
							map[ j ][ k ] = map[ j + 1 ][ k ];
						}
					}
					for( int j = 0; j < 5; ++j ){
						int p = hh;
						while( p >= 0 && !map[ p ][ j ] ){
							--p;
						}
						h[ j ] = p + 1;
					}
					--hh;
					--i;
				}
			}
		}
		int hh = 0;
		for( int i = 0; i < 5; ++i ){
			hh = max( hh, h[ i ] );
		}
		int ans = 0;
		for( int i = 0; i < hh; ++i ){
			for( int j = 0; j < 5; ++j ){
				if( map[ i ][ j ] ) ++ans;
			}
		}
		cout << ans << endl;
	}

	return 0;
}