class Node:
    def __init__(self, data):
        self.data = data
        self.prev = None
        self.next = None

class DoublyLinkedList:
    def __init__(self):
        self.head = None
        self.tail = None

    def append(self, data):
        new_node = Node(data)
        if self.head is None:  # first node
            self.head = new_node
            self.tail = new_node
        else:
            self.tail.next = new_node
            new_node.prev = self.tail
            self.tail = new_node

    def display(self):
        current = self.head
        result = []
        while current:
            result.append(str(current.data))
            current = current.next
        return " ".join(result)


def main():
    try:
        n = int(input().strip())
        if n <= 0:
            print("Invalid Input")
            return
        
        dll = DoublyLinkedList()

        for _ in range(n):
            try:
                val = int(input().strip())
                dll.append(val)
            except ValueError:
                print("Invalid Input")
                return
        
        print(dll.display())
    
    except ValueError:
        print("Invalid Input")


if __name__ == "__main__":
    main()