import sys
from collections import deque
from itertools import combinations
from itertools import permutations
import math
sys.setrecursionlimit(100000)
N = int(input())
arr = list(map(int, input().split()))
arr.sort()
answer = []
left, right = 0, len(arr) - 1
min_val = sys.maxsize
min_left, min_right = 0, 0
while left < right:
if arr[left] + arr[right] == 0:
min_left, min_right = left, right
break
elif abs(arr[left] + arr[right]) < min_val:
min_val = abs(arr[left] + arr[right])
min_left, min_right = left, right
else:
if arr[left] + arr[right] > 0:
right -= 1
else:
left += 1
print(arr[min_left], arr[min_right])
min_val은 최소 차이이다. 만약 두 용액의 차이가 최소 차이보다 작으면 최소차이를 갱신해주고, min_left, min_right도 갱신해준다. 다음 턴에서 만약 이 두 용액의 합이 양수 였으면 right -=1을 하고 음수였으면 left +=1을 해보면 된다.