#include <algorithm>
#include <vector>
#include <iostream>

using namespace std;

using line_t = pair<int, int>;

vector<line_t> lines;
vector<line_t> solution;

void print( size_t i )
{
	solution.push_back( lines[i] );
	
	for( size_t j = i + 1; j < lines.size(); ++j ) {
		if( lines[j].first >= lines[i].second ) {
			print( j );
		}
	}
	
	for( auto& p : solution ) {
		cout << "[" << p.first << "-" << p.second << "] ";
	}
	cout << endl;
	
	solution.pop_back();
}

int main() {
	size_t n;
	cin >> n;
	
	lines.resize( n );
	for( auto& p : lines ) {
		cin >> p.first >> p.second;
	}
	sort( lines.begin(), lines.end() );
	
	for( size_t i = 0; i < n; ++i ) {
		print( i );
	}
}