#include <stdio.h>
#include<string.h>
#include<malloc.h>


typedef struct Node {
    int val;
    struct Node* next;
} Node;

//初始化
Node* Init() {
    Node* n = (Node*)malloc(sizeof(Node));
    n->next = NULL;
    return n;
}


void Insert(Node* n, int x, int y) {
    Node* new = (Node* )malloc(sizeof(Node));
    new->next = NULL;
    new->val = y;

    while (n->next != NULL) {
        if (n->next->val ==x)
            break;
        else
            n = n->next;
    }
    new->next = n->next;
    n->next = new;
}

void  Delete(Node* n, int x) {
    while (n->next != NULL) {
        if (n->next->val == x) {
            Node* jump = n->next;
            n->next = n->next->next;
            free(jump);
            break;
        } else {
            n = n->next;
        }
    }
}

void Print(Node* n) {
    if (n->next == NULL) {
        printf("NULL");
        return;
    }
    while (n->next != NULL) {
        printf("%d ", n->next->val);
        n = n->next;
    }
}



int main() {
    int num;
    while (scanf("%d", &num) != EOF) {
        char op[20];
        int a, b;
        Node* n = Init();
        //初始化
        for (int i = 0; i < num; i++) {
            scanf("%s %d %d", op, &a, &b);
            if (strcmp(op, "insert") == 0) {
                Insert(n, a, b);   //插入
            } else if (strcmp(op, "delete") == 0) {
                Delete(n, a); //删除

            }
        }
        Print(n);  //打印
    }
}