#include <iostream>
#include <string>
#include <vector>

using namespace std;

const int MX = 100000;
bool sieve[MX];

int main() {
    vector<int> vp;
    for (int i=2; i<=MX; ++i) {
        if (sieve[i]) continue;
        vp.push_back(i);
        for (int j=i*i; 0<j && j<=MX; j+=i) {
            sieve[j] = true;
        }
    }

    long long m, a, b;
    while (cin >> m >> a >> b && (m && a && b)) {
        long long mx = 0;
        pair<int,int> ans;
        for (int i=0; i<(int)vp.size(); ++i) {
            if (vp[i] * vp[i] > m) break;
            for (int j=i; j<(int)vp.size(); ++j) {
                if (vp[i] * vp[j] > m || a * vp[j] > b * vp[i]) break;
                if (mx < vp[i] * vp[j]) {
                    mx = vp[i] * vp[j];
                    ans = make_pair(vp[i], vp[j]);
                }
            }
        }
        cout << ans.first << " " << ans.second << endl;
    }
    return 0;
}