def _init_(self, session_id, duration):
        self.session_id = session_id
        self.duration = duration
        self.prev = None
        self.next = None

class DoublyLinkedList:
    def _init_(self):
        self.head = None
        self.tail = None

    def append(self, session_id, duration):
        new_node = Node(session_id, duration)
        if self.head is None:
            self.head = self.tail = new_node
        else:
            self.tail.next = new_node
            new_node.prev = self.tail
            self.tail = new_node

    def delete_last(self):
        if self.tail is None:
            return None
        deleted = self.tail
        if self.tail.prev:
            self.tail = self.tail.prev
            self.tail.next = None
        else:
            self.head = self.tail = None
        return deleted

    def display(self):
        if self.head is None:
            print("Log is empty")
            return
        current = self.head
        while current:
            print(current.session_id, current.duration)
            current = current.next

def main():
    try:
        n = int(input().strip())
        if n < 1 or n > 1000:
            print("Invalid input")
            return

        dll = DoublyLinkedList()
        for _ in range(n):
            parts = input().strip().split()
            if len(parts) != 2:
                print("Invalid input")
                return
            session_id, duration = parts
            if not (session_id.isdigit() and duration.isdigit()):
                print("Invalid input")
                return
            dll.append(int(session_id), int(duration))

        deleted = dll.delete_last()
        if deleted:
            print(deleted.session_id, deleted.duration)
        else:
            print("Log is empty")
            return

        dll.display()

    except:
        print("Invalid input")

if _name_ == "_main_":
    main()