#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; }