class Node:
    def __init__(self,val=None):
        self.val=val
        self.pre=None
        self.next=None

#双向链表+字典
n=int(input())
dummy=Node()
tail=Node()
dummy.next=tail
tail.pre=dummy
d={} #记录数值x对应的结点,用列表存储,可能有多个值为x的结点
for i in range(n):
    op=input().split()
    if op[0]=='insert':
        num1, num2=op[1],op[2]
        if num1 in d.keys(): #假设说链表中存在这个值
            p=d[num1][-1]
        else:
            p=tail
        #插入到p.pre和p之间
        node=Node(num2)
        node.next=p 
        p.pre.next=node
        node.pre=p.pre
        p.pre=node 
        #插入之后需要维护一下字典
        if num2 not in d.keys():
            d[num2]=[node] #新建一个list
        else:
            d[num2].append(node) #加到list末尾

    elif op[0]=='delete':
        num=op[1]
        if num in d.keys():#存在的时候才需要执行删除操作,并维护字典
            node=d[num][-1]
            node.pre.next=node.next
            node.next.pre=node.pre
            del node
            #维护字典
            if len(d[num])>1:
                d[num].pop()
            else:
                del d[num]
cur=dummy.next
if not cur.val:
    print('NULL')
else:
    while cur!=tail:
        print(cur.val,end=' ')
        cur=cur.next