#include <stdio.h>
#define MAX 150

int is_bigger_rectangle(int,int,int,int);

int main(void) {
  int input_h, input_w;
  int h, w;
  int min_h, min_w;

  while (scanf("%d %d", &input_h, &input_w) != EOF) {
    if (0 == input_h && 0 == input_w)
      break;
    
    min_h = MAX+1;
    min_w = MAX+1;
    for (h=1; h<=MAX; h++) {
      for (w=h+1; w<=MAX; w++) {
    	if (is_bigger_rectangle(h,w,input_h,input_w) > 0) {
    	    if(is_bigger_rectangle(h,w,min_h,min_w) < 0) {
	            min_h = h;
	            min_w = w;
    	    }
	     break;
	    }
      }
    }
    printf("%d %d\n", min_h, min_w);
  }
  
  return 0;
}

// 2つの長方形の大きさを比べる．前者が大きければ1,後者が大きければ-1，等しければ0 */
int is_bigger_rectangle(int h1, int w1, int h2, int w2) {
    if (h1*h1+w1*w1 > h2*h2+w2*w2) { // 1番目の長方形の方が対角線が長い
        return 1;
    } else if (h1*h1+w1*w1 < h2*h2+w2*w2) { // 2番目の長方形のほうが対角線が長い
        return -1;
    } else { // 対角線の長さが等しい
        if (h1 > h2) { // 1番目の長方形の方が高さが大きい
            return 1;
        } else if (h1 < h2) { // 2番めの長方形のほうが高さが大きい
            return -1;
        } else { // 高さも等しい
            return 0;
        }
    }
}