#include <stdio.h>
#include <stdlib.h>
#define MAX 0x3f3f3f3f	
	
int main(void) 
{
	int i, j, flag = 0, m;
	scanf("%d", &m);
	int **mat = malloc(m * sizeof(int*));
	for (i = 0; i < m; i++) {
		mat[i] = malloc(2 * sizeof(int));
	}
	for (i = 0; i < m; i++) {
		scanf("%d", &mat[i][0]);
		if (mat[i][0] == 2) {
			mat[i][1] = -1;
		} else { 
			scanf("%d", &mat[i][1]);
		}
	}
	int *v = malloc(m * sizeof(int));	
	for (i = 0; i < m; i++) {
		v[i] = MAX;
	}
	for (i = 0; i < m; i++) {
		if (mat[i][0] == 1) {	
			j = 0;
			while (v[j] != MAX) {
				j++;
			}
			v[j] = mat[i][1];
		} else if (mat[i][0] == 2) {	
			j = 0;
			while (v[j] != MAX) {
				j++;
			}
			v[j - 1] = MAX;
		} else {
			for (j = 0; j < m; j++)	{
				if (v[j] <= mat[i][1]) {
					flag = 1;
					printf("%d ", v[j]);
				}
			}
			if (flag == 0) {
				printf("Empty\n");	
			} else {
				printf("\n");
			}
		}
	}
	return 0;
}