n = int(eval(input()))

a = list(map(int,input().split()))



a.sort()

m = a[-1]

def near_abs_id(l,n): # リストlの中で絶対値がもっともnに近い要素のindex

    idx = 0

    m = 10**12

    for i in range(len(l)):

        if abs(l[i]-n) < m:

            m = abs(l[i]-n)

            idx= i

    return idx

j = near_abs_id(a,m/2)

if j==n-1:

    j-=1

print((m,a[j]))


import bisect

def near_abs_id(a,target,fast=True): # a:listの中で絶対値がもっともtargetに近い要素のindex

    # 複数存在する場合は一番indexが小さいもの

    if fast: # O(logn)　### 昇順にソート済みで，全て正の数であることが必要

        idx = bisect.bisect_left(a,target)

        if idx==0: return idx

        elif idx==len(a): return len(a)-1

        else:

            if idx==len(a)-1:

                if abs(a[idx-1]-target)<=abs(a[idx]-target):

                    return idx-1

                else:

                    return idx

            else:

                now = abs(a[idx+1]-target)

                ans = idx+1

                for i in (0,-1):

                    if abs(a[idx+i]-target)<=now:

                        ans -= 1

                        now = abs(a[idx+i]-target)

                return ans

    else: # O(n)

        idx = 0

        m = float('inf')

        for i in range(len(a)):

            if abs(a[i]-target) < m:

                m = abs(a[i]-target)

                idx= i

        return idx



n = int(eval(input()))

a = list(map(int,input().split()))



a.sort()

m = a[-1]

j=near_abs_id(a,m/2)

if j==n-1:

    j-=1

print((m,a[j]))

n = int(eval(input()))
a = list(map(int, input().split()))
a.sort()
m = a[-1]


def near_abs_id(l, n):  # リストlの中で絶対値がもっともnに近い要素のindex
    idx = 0
    m = 10**12
    for i in range(len(l)):
        if abs(l[i] - n) < m:
            m = abs(l[i] - n)
            idx = i
    return idx


j = near_abs_id(a, m / 2)
if j == n - 1:
    j -= 1
print((m, a[j]))

import bisect


def near_abs_id(a, target, fast=True):  # a:listの中で絶対値がもっともtargetに近い要素のindex
    # 複数存在する場合は一番indexが小さいもの
    if fast:  # O(logn)　### 昇順にソート済みで，全て正の数であることが必要
        idx = bisect.bisect_left(a, target)
        if idx == 0:
            return idx
        elif idx == len(a):
            return len(a) - 1
        else:
            if idx == len(a) - 1:
                if abs(a[idx - 1] - target) <= abs(a[idx] - target):
                    return idx - 1
                else:
                    return idx
            else:
                now = abs(a[idx + 1] - target)
                ans = idx + 1
                for i in (0, -1):
                    if abs(a[idx + i] - target) <= now:
                        ans -= 1
                        now = abs(a[idx + i] - target)
                return ans
    else:  # O(n)
        idx = 0
        m = float("inf")
        for i in range(len(a)):
            if abs(a[i] - target) < m:
                m = abs(a[i] - target)
                idx = i
        return idx


n = int(eval(input()))
a = list(map(int, input().split()))
a.sort()
m = a[-1]
j = near_abs_id(a, m / 2)
if j == n - 1:
    j -= 1
print((m, a[j]))

+import bisect + + +def near_abs_id(a, target, fast=True):  # a:listの中で絶対値がもっともtargetに近い要素のindex +    # 複数存在する場合は一番indexが小さいもの +    if fast:  # O(logn)　### 昇順にソート済みで，全て正の数であることが必要 +        idx = bisect.bisect_left(a, target) +        if idx == 0: +            return idx +        elif idx == len(a): +            return len(a) - 1 +        else: +            if idx == len(a) - 1: +                if abs(a[idx - 1] - target) <= abs(a[idx] - target): +                    return idx - 1 +                else: +                    return idx +            else: +                now = abs(a[idx + 1] - target) +                ans = idx + 1 +                for i in (0, -1): +                    if abs(a[idx + i] - target) <= now: +                        ans -= 1 +                        now = abs(a[idx + i] - target) +                return ans +    else:  # O(n) +        idx = 0 +        m = float("inf") +        for i in range(len(a)): +            if abs(a[i] - target) < m: +                m = abs(a[i] - target) +                idx = i +        return idx + + - - -def near_abs_id(l, n):  # リストlの中で絶対値がもっともnに近い要素のindex -    idx = 0 -    m = 10**12 -    for i in range(len(l)): -        if abs(l[i] - n) < m: -            m = abs(l[i] - n) -            idx = i -    return idx - -