# 接收输入整数n
n = int(input())
# n个数字放入字符串列表m中
m = input().split()
# 字符串列表转换为整型列表
for i in range(0, n):
    m[i] = int(m[i])
# 求列表中最大值mx
mx = max(m)
mi = min(m)
for i in range(0, n):
    if m[i] == mx:
        m[i] = 2 * mx
    if m[i] == mi:
        m[i] = mi + 1
#循环列表,输出最终数字
for i in range(0, n):
    print(m[i], end=' ')
/**************************************************************
	Problem: 1583
	User: admin
	Language: Python
	Result: Accepted
	Time:141 ms
	Memory:34480 kb
****************************************************************/