//2013A #include int main() { int h,w; while(1){ scanf("%d %d", &h, &w); if(h==0 && w==0) break; // hとwの対角線(2乗)を計算 int t = h*h + w*w; printf(" h=%d w=%d : t=%d\n", h, w, t); // 対角線の最大値とそのときの縦横 int min_t=150*150, min_h=0, min_w=0; for(int i=1; i<=150; i++){ for(int j=1; j<=150; j++){ // 縦≧横のときと、同じときは計算しない if(i>=j || (i==h && j==w) ) continue; // 縦iと横jのときの対角線を計算 int tt = i*i + j*j; // 横に伸ばしていって対角線の長さが元の長さを超えたとき if(tt>t){ // それが覚えている中で最小の対角線だったら if(tth){ // 記憶する min_t=tt; min_h=i; min_w=j; } // これ以上伸びない break; } } } //printf("min_h=%d min_w=%d : min_t=%d\n", min_h, min_w, min_t); printf("%d %d\n", min_h, min_w); } return 0; }