#!/usr/bin/env python

# Written by Magnus Lie Hetland 

"Everybody's favourite sorting algorithm... :)"

def partition(list, start, end):
    pivot = list[end]	# Пусть последний элем. будет разделяющим,
    bottom = start-1	# Начинаем извне разделяемой части списка
    top = end		# Аналогично

    done = 0
    while not done:	# Пока не все элем. разделены ...

        while not done:	# Пока мы не найдём
				# неупорядоченный элемент ...
            bottom = bottom+1	# ... Двигаем нижний индекс вверх.

            if bottom == top:	# Если он совпадёт с верхним ...
                done = 1	# ... то всё сделано.
                break

            if list[bottom] > pivot:	# Не является ли нижний эл.
					#неупорядоченным?
                list[top] = list[bottom]# Тогда перемещаем его
				# на место верхнего ...
                break		# ... и начинаем поиск сверху.

        while not done:	# Пока не найдём неупорядоченный эл. ...
            top = top-1	# ... двигаем верхний индекс вниз.

            if top == bottom:	# Если он совпал с нижним ...
                done = 1	# ... то всё сделано.
                break

            if list[top] < pivot:	# Является ли верхний
					# элем. неупорядоченным?
                list[bottom] = list[top]# Если да, то перемещаем
			# его на место нижнего ...
                break	# ...и начинаем поиск снизу.

    list[top] = pivot	# Помещаем разделяющий элемент на место.
    return top	# И возвращаем его индекс
		# (точку разделения подсписков).


def quicksort(list,start,end):
    if start < end:		# Если есть хотя бы
				# два элемента ...
        split = partition(list, start, end)	# ...то разделяем на
						# два подсписка и ...
        quicksort(list, start, split-1)	# ...сортируем обе половины.
        quicksort(list, split+1, end)
    else:
        return


if __name__=="__main__":# Если этот скрипт выполняется как
			# независимая программа:
    import sys
    list = sys.argv[1:]	# Получаем аргументы командной строки
    start = 0
    end = len(list)-1
    quicksort(list,start,end)	# Сортируем весь список аргументов
    import string
    print string.join(list)	# Распечатываем сортированный список.
    sys.exit (0)   #Выход из программы. 
