#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int n, i, m;
while(scanf("%d", &n) != EOF)
{
struct node *h, *q, *p;
h = (struct node *)malloc(sizeof(struct node ));
h -> next = NULL;
q = h;
for(i = 0; i < n; i++)
{
p = (struct node *)malloc(sizeof(struct node ));
p -> next = NULL;
scanf("%d", &p -> data);
q -> next = p;
q = p;
}
scanf("%d", &m);
for(i = 0; i < m; i++)
{
int cmd;
scanf("%d", &cmd);
if(cmd == 1)
{
p = (struct node *)malloc(sizeof(struct node ));
p -> next = NULL;
scanf("%d", &p -> data);
q = h;
while(q -> next)
{
if(q -> next -> data > p -> data)break;
q = q -> next;
}
p -> next = q -> next;
q -> next = p;
}
else
{
p = h -> next;
printf("%d", p -> data);
p = p -> next;
while(p)
{
printf(" %d", p -> data);
p = p -> next;
}
printf("\n");
}
}
p = h;
while(p)
{
q = p -> next;
free(p);
p = q;
}
}
return 0;
}