#!/usr/bin/python

# This heap class start from here.
class Heap:
    def __init__(self):  # Default constructor of heap class.
        self.h = []
        self.currsize = 0

    def leftChild(self, i):
        if 2 * i + 1 < self.currsize:
            return 2 * i + 1
        return None

    def rightChild(self, i):
        if 2 * i + 2 < self.currsize:
            return 2 * i + 2
        return None

    def maxHeapify(self, node):
        if node < self.currsize:
            m = node
            lc = self.leftChild(node)
            rc = self.rightChild(node)
            if lc is not None and self.h[lc] > self.h[m]:
                m = lc
            if rc is not None and self.h[rc] > self.h[m]:
                m = rc
            if m != node:
                temp = self.h[node]
                self.h[node] = self.h[m]
                self.h[m] = temp
                self.maxHeapify(m)

    def buildHeap(
        self, a
    ):  # This function is used to build the heap from the data container 'a'.
        self.currsize = len(a)
        self.h = list(a)
        for i in range(self.currsize // 2, -1, -1):
            self.maxHeapify(i)

    def getMax(self):  # This function is used to get maximum value from the heap.
        if self.currsize >= 1:
            me = self.h[0]
            temp = self.h[0]
            self.h[0] = self.h[self.currsize - 1]
            self.h[self.currsize - 1] = temp
            self.currsize -= 1
            self.maxHeapify(0)
            return me
        return None

    def heapSort(self):  # This function is used to sort the heap.
        size = self.currsize
        while self.currsize - 1 >= 0:
            temp = self.h[0]
            self.h[0] = self.h[self.currsize - 1]
            self.h[self.currsize - 1] = temp
            self.currsize -= 1
            self.maxHeapify(0)
        self.currsize = size

    def insert(self, data):  # This function is used to insert data in the heap.
        self.h.append(data)
        curr = self.currsize
        self.currsize += 1
        while self.h[curr] > self.h[curr / 2]:
            temp = self.h[curr / 2]
            self.h[curr / 2] = self.h[curr]
            self.h[curr] = temp
            curr = curr / 2

    def display(self):  # This function is used to print the heap.
        print(self.h)


def main():
    l = list(map(int, input().split()))
    h = Heap()
    h.buildHeap(l)
    h.heapSort()
    h.display()


if __name__ == "__main__":
    main()