number 1:
def Quick_Sort(numbers, left, right):
if left >= right:
return numbers
baseNumber = numbers[left]
i = left
j = right
while i != j:
while j > i and numbers[j] >= baseNumber:
j -= 1
if j > i:
numbers[i], numbers[j] = numbers[j], numbers[i]
while i < j and numbers[i] <= baseNumber:
i += 1
if j > i:
numbers[i], numbers[j] = numbers[j], numbers[i]
Quick_Sort(numbers, left, i - 1)
Quick_Sort(numbers, i + 1, right)
nums = list(map(int, input().split()))
Quick_Sort(nums, 0, len(nums) - 1)
print(nums)
number 2:
n = int(input())
nums = list(map(int, input().split()))
def quick_sort(nums):
if len(nums) <= 1:
return nums
mid = nums[len(nums) // 2]
left = [x for x in nums if x < mid]
right = [x for x in nums if x > mid]
return quick_sort(left) + [mid] + quick_sort(right)
if __name__ == "__main__":
nums = quick_sort(nums)
print(" ".join(list(map(str, nums))))










