# 第一题 反转单词
s = input()
res = " ".join(s.split()[::-1])
print(res)


# 第二题 最小整数 冒泡算法
n = input()
nums = n.split(',')
s = ''
for j in range(len(nums)-1, 0, -1):
    for i in range(j):
        if int(nums[i] + nums[i+1]) > int(nums[i+1] + nums[i]):
            nums[i], nums[i+1] = nums[i+1], nums[i]
for x in nums:
    s += str(x)
print(s)

# 背包问题
import sys
if __name__ == "__main__":
    # 读取第一行的n
    n = int(sys.stdin.readline().strip())  
    m = int(sys.stdin.readline().strip())
    line1 = sys.stdin.readline().strip()
    line2 = sys.stdin.readline().strip()
    w = list(map(int, line1.split()))
    v = list(map(int, line2.split()))

    value = [[0 for j in range(m+1)] for i in range(n+1)]
    for i in range(1, n+1):
        for j in range(1, m+1):
            value[i][j] = value[i-1][j]
            if j >= w[i-1] and value[i][j] < value[i-1][j-w[i-1]] + v[i-1]:
                value[i][j] = value[i-1][j-w[i-1]] + v[i-1]
    print(value[n][c])