#include <cmath>
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;

vector<int> sieve(int n) {
	vector<int> res(1, 2);
	vector<bool> prime(n, true);
	for(int i = 3; i < n; i += 2) {
		if(prime[i]) {
			res.push_back(i);
			for(int j = i * 3; j < n; j += i * 2)
				prime[j] = false;
		}
	}

	return res;
}

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);

	const int MAX = 100000;
	vector<int> primes = sieve(MAX / 2 + 30);

	for(int m, a, b; cin >> m >> a >> b, m;) {
		const int sq = (int)sqrt(m);
		const double ab = (double)a / b;
		int p = 0, q = 0;
		for(int i = 0; primes[i] <= sq; ++i) {
			for(int j = i; primes[i] * primes[j] <= m; ++j) {
				if(p * q < primes[i] * primes[j] && a * primes[j] <= b * primes[i]) {
					p = primes[i];
					q = primes[j];
				}
			}
		}

		cout << p << " " << q << endl;
	}

	return EXIT_SUCCESS;
}