import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    static class Node {
        private final int val;
        private Node next;

        public Node(int val) {
            this.val = val;
            //JVM在进行类加载是next会自动初始化为null
            // this.next=null;
        }
    }

    static class MyList {
        private final Node dummyHead;

        public MyList() {
            dummyHead = new Node(-1);
        }

        public void insert(int x, int y) {
            Node cur = dummyHead;
            while (true) {
                if (cur.next == null || cur.next.val == x) {
                    Node newNode = new Node(y);
                    newNode.next = cur.next;
                    cur.next = newNode;
                    break;
                }
                cur = cur.next;
            }
        }

        public void delete (int x) {
            Node cur = dummyHead;
            while (cur != null) {
                if (cur.next != null && cur.next.val == x) {
                    Node GCnode = cur.next;
                    cur.next = cur.next.next;
                    /*
                     * 虽然我们逻辑上删除了链表中的结点,但是对象之间的强引用会阻止垃圾收集器回收它们,
                     * 在删除节点后,我们手动设置被删除节点的  next 引用为 null,以便Java的垃圾收集器可以回收该节点。
                     */
                    GCnode = null;
                    break;
                }
                cur = cur.next;
            }
        }

        public Node getHead() {
            return dummyHead.next;
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in)
        );
        StringBuilder sb = new StringBuilder();
        int commandsCount = Integer.parseInt(br.readLine());
        MyList list = new MyList();
        while (commandsCount > 0) {
            String[] command = br.readLine().split(" ");
            if (command[0].equals("insert")) {
                int x = Integer.parseInt(command[1]);
                int y = Integer.parseInt(command[2]);
                list.insert(x, y);
            } else if (command[0].equals("delete")) {
                int x = Integer.parseInt(command[1]);
                list.delete(x);
            }
            commandsCount--;
        }
        Node cur = list.getHead();
        if (cur == null) {
            sb.append("NULL");
        } else {
            while (cur != null) {
                sb.append(cur.val).append(" ");
                cur = cur.next;
            }
        }
        System.out.println(sb);
    }
}