def d_binomial_coefficients():

    from bisect import bisect_left

    N = int(eval(input()))

    A = sorted([int(i) for i in input().split()])  # ソートしておく



    n = A[-1]  # comb(n, r) の n をこの値以外にする理由はない

    r = min(A[:-1], key=lambda x: abs(n / 2 - x))

    return '{0} {1}'.format(n, r)



print((d_binomial_coefficients()))
def d_binomial_coefficients():

    N = int(eval(input()))

    A = sorted([int(i) for i in input().split()])  # ソートしておく



    n = A[-1]  # n を大きく、r を n/2 に近づけると comb(n, r) は大きい

    r = min(A[:-1], key=lambda x: abs(n / 2 - x))

    return f'{n} {r}'



print((d_binomial_coefficients()))
def d_binomial_coefficients():
    from bisect import bisect_left

    N = int(eval(input()))
    A = sorted([int(i) for i in input().split()])  # ソートしておく
    n = A[-1]  # comb(n, r) の n をこの値以外にする理由はない
    r = min(A[:-1], key=lambda x: abs(n / 2 - x))
    return "{0} {1}".format(n, r)


print((d_binomial_coefficients()))

def d_binomial_coefficients():
    N = int(eval(input()))
    A = sorted([int(i) for i in input().split()])  # ソートしておく
    n = A[-1]  # n を大きく、r を n/2 に近づけると comb(n, r) は大きい
    r = min(A[:-1], key=lambda x: abs(n / 2 - x))
    return f"{n} {r}"


print((d_binomial_coefficients()))

-    from bisect import bisect_left - -    n = A[-1]  # comb(n, r) の n をこの値以外にする理由はない +    n = A[-1]  # n を大きく、r を n/2 に近づけると comb(n, r) は大きい -    return "{0} {1}".format(n, r) +    return f"{n} {r}"