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

#define REP(i,n,m) for(int i=n;i<m;i++)
#define rep(i,n) REP(i,0,n)

vector<int> p;

bool isPrime(int x){
	for(int i=0;i<p.size() && p[i]<=sqrt(x);i++){
		if(x % p[i] == 0) return false;
	}
	return true;
}

int main(void){
	int m,a,b;

	p.push_back(2);
	REP(i,3,100000) if(isPrime(i)) p.push_back(i);

	while(cin>>m>>a>>b && (m||a||b)){
		int max = 0;
		int ans_p = 0;
		int ans_q = 0;

		rep(i,p.size())rep(j,i+1){
			if(p[i]*p[j] > m) break;
			if(p[i]*p[j] > max && (double)p[j]/p[i] >= (double)a/b){
				max = p[i]*p[j];
				ans_p = p[j];
				ans_q = p[i];
			}
		}

		cout<<ans_p<<" "<<ans_q<<endl;
	}

	return 0;
}