N = input() A = map(int, raw_input().split()) left = [0 for _ in xrange(N)] right = [0 for _ in xrange(N)] left[0] = A[0] right[-1] = A[-1] for i in xrange(1, N): left[i] = max(A[i], left[i-1]) right[-i-1] = max(A[-i-1], right[-i]) ans = [min(left[i], right[i]) for i in xrange(N)] print ' '.join(map(str, ans))