#coding:utf-8

# 【问题描述】请使用循环结构读入一组整数并存入列表中（整数取值范围从 −100 至 +100，整数的个数不定，大于或等于 1，读入空字符串表示输入结束）。之后首先输出其中的最大值、最小值和输入的第 n/2（取整）个整数，其中 n 表示输入的行数（包括最后一个空字符串）。然后将列表排序，按从大到小的顺序拼接成字符串并输出（两个相邻的整数之间以空格分割）。提示：字符串拼接函数的输入列表只能由字符串构成。

# 【输入形式】第1行至第n-1行为一个整数（1≤n≤100），第n行为空字符
# 【输出形式】第一行为已输入整数的最大值；第二行为已输入整数的最小值；第三行为输入的第n/2个整数（直接保留整数，无需四舍五入）；第四行为一行字符串，为从大到小排序后的整数，两个整数之间以空格分割。

# 【样例输入】
# 75
# -1
# -33
# 99
# 42

# 【样例输出】
# 99
# -33
# -33
# 99 75 42 -1 -33

# 【样例说明】共输入6行（最后一行为空字符），其中最大值为99，最小值为-33，第n/2行取整为第3行，为-33，最后为倒序输出
nums = []
s = input()
while s.strip():
    nums.append(int(s))
    s = input()
l = len(nums)
max = max(nums)
min = min(nums)
print(max)
print(min)
print(nums[int((l+1)/2)-1])
for i in sorted(nums, reverse=True):
    print(i, end=' ')
