#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;

ll my_gcd(ll a, ll b) {
    ll ret = 0;
    if (a < b) {
        swap(a, b);
    }
    if (b == 0) {
        ret = a;
    } else {
        ret = my_gcd(b, a % b);
    }
    return ret;
}

int main() {
    ll N;
    cin >> N;
    vector<double> A(N);
    for (ll i = 0; i < N; i++) {
        cin >> A[i];
    }
    sort(A.begin(), A.end());
    ll ans_idx = 0;
    for (ll i = 0; i < N - 1; i++) {
        if (A[ans_idx] / A[ans_idx + 1] < A[i] / A[i + 1]) {
            ans_idx = i;
        }
    }
    ll g = my_gcd((ll)A[ans_idx], (ll)A[ans_idx + 1]);
    cout << A[ans_idx] << " " << A[ans_idx + 1] << endl;
}