#include<bits/stdc++.h>
using namespace std;
#define MAX 100000
#define input(); freopen("input.txt", "r", stdin);
#define output(); freopen("output.txt", "w", stdout);
#define IOS ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0)
typedef long long ll;
ll squers[MAX];
void Find_squers(){
for(int i=0; i<MAX; ++i){
squers[i] = 1LL * i * i;
}
return;
}
int main()
{
IOS;
Find_squers();
int T, csno = 0;
ll limit, a, b,p;
cin >> T;
while(T--){
cin >> p;
cout << "Case " << ++csno << ": ";
limit = sqrt(p);
bool End = false;
for(ll i=0; i<MAX; ++i){
if(squers[i] + squers[limit] == p){
cout << i << " " << limit << endl;
End = true; break;
}
else if(squers[i] + squers[limit] > p)
--limit;
else if(i>limit)
break;
}
if(!End)
cout << "Impossible\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgTUFYIDEwMDAwMAojZGVmaW5lIGlucHV0KCk7IGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwojZGVmaW5lIG91dHB1dCgpOyBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZGVmaW5lIElPUyBpb3NfYmFzZSA6OiBzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCksIGNvdXQudGllKDApCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKCmxsIHNxdWVyc1tNQVhdOwp2b2lkIEZpbmRfc3F1ZXJzKCl7CiAgICBmb3IoaW50IGk9MDsgaTxNQVg7ICsraSl7CiAgICAgICAgc3F1ZXJzW2ldID0gMUxMICogaSAqIGk7CiAgICB9CiAgICByZXR1cm47Cn0KaW50IG1haW4oKQp7CgogICAgSU9TOwogICAgRmluZF9zcXVlcnMoKTsKICAgIGludCBULCBjc25vID0gMDsKICAgIGxsIGxpbWl0LCBhLCBiLHA7CiAgICBjaW4gPj4gVDsKICAgIHdoaWxlKFQtLSl7CiAgICAgICAgY2luID4+IHA7CiAgICAgICAgY291dCA8PCAiQ2FzZSAiIDw8ICsrY3NubyA8PCAiOiAiOwogICAgICAgIGxpbWl0ID0gc3FydChwKTsKICAgICAgICBib29sIEVuZCA9IGZhbHNlOwogICAgICAgIGZvcihsbCBpPTA7IGk8TUFYOyArK2kpewogICAgICAgICAgICBpZihzcXVlcnNbaV0gKyBzcXVlcnNbbGltaXRdID09IHApewogICAgICAgICAgICAgICAgY291dCA8PCBpIDw8ICIgIiA8PCBsaW1pdCA8PCBlbmRsOwogICAgICAgICAgICAgICAgRW5kID0gdHJ1ZTsgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZihzcXVlcnNbaV0gKyBzcXVlcnNbbGltaXRdID4gcCkKICAgICAgICAgICAgICAgIC0tbGltaXQ7CiAgICAgICAgICAgIGVsc2UgaWYoaT5saW1pdCkKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZighRW5kKQogICAgICAgICAgICBjb3V0IDw8ICJJbXBvc3NpYmxlXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCgo=