#include <iostream>
#include <algorithm>
#include <vector>
#include <utility>
using namespace std;
typedef pair<int, int> P;
bool compare(P a, P b) {
if(a.first*a.first+a.second*a.second == b.first*b.first+b.second*b.second) return a.first < b.first;
return a.first*a.first+a.second*a.second < b.first*b.first+b.second*b.second;
}
int main() {
vector<P> vec;
for(int i = 1; i <= 150; i++) {
for(int j = i + 1; j <= 150; j++) {
vec.push_back(P(i,j));
}
}
sort(vec.begin(), vec.end(), compare);
for(int h, w; cin >> h >> w, h || w; ) {
int t;
for(int i = 0; i < (int)vec.size(); i++) {
if(P(h,w) == vec[i]) {
t = i;
break;
}
}
cout << vec[t+1].first << ' ' << vec[t+1].second << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgcGFpcjxpbnQsIGludD4gUDsKCmJvb2wgY29tcGFyZShQIGEsIFAgYikgewogICAgaWYoYS5maXJzdCphLmZpcnN0K2Euc2Vjb25kKmEuc2Vjb25kID09IGIuZmlyc3QqYi5maXJzdCtiLnNlY29uZCpiLnNlY29uZCkgcmV0dXJuIGEuZmlyc3QgPCBiLmZpcnN0OwogICAgcmV0dXJuIGEuZmlyc3QqYS5maXJzdCthLnNlY29uZCphLnNlY29uZCA8IGIuZmlyc3QqYi5maXJzdCtiLnNlY29uZCpiLnNlY29uZDsKfQoKCmludCBtYWluKCkgewogICAgdmVjdG9yPFA+IHZlYzsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gMTUwOyBpKyspIHsKICAgICAgICBmb3IoaW50IGogPSBpICsgMTsgaiA8PSAxNTA7IGorKykgewogICAgICAgICAgICB2ZWMucHVzaF9iYWNrKFAoaSxqKSk7CiAgICAgICAgfQogICAgfQogICAgc29ydCh2ZWMuYmVnaW4oKSwgdmVjLmVuZCgpLCBjb21wYXJlKTsKICAgIGZvcihpbnQgaCwgdzsgY2luID4+IGggPj4gdywgaCB8fCB3OyApIHsKICAgICAgICBpbnQgdDsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgKGludCl2ZWMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgaWYoUChoLHcpID09IHZlY1tpXSkgewogICAgICAgICAgICAgICAgdCA9IGk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0IDw8IHZlY1t0KzFdLmZpcnN0IDw8ICcgJyA8PCB2ZWNbdCsxXS5zZWNvbmQgPDwgZW5kbDsKICAgIH0KfQo=