#include <bits/stdc++.h>
#define ll long long int
using namespace std;
// l^(1/k) < x < r ^ (1/k)
ll find(ll l, ll r){
ll re = 1;
ll le = 1, ri = r+1;
while(le<ri){
ll k = (le+ri)/2;
ll low = ceil(pow(l, 1.0 / k));
ll high = floor(pow(r, 1.0 / k));
if(low<=high){
//cout<<"find11111 l:" << le << " r:"<<ri << " low:"<<low<< " high:"<<high<< " k:"<<k <<"\n";
re = k;
le=k+1;
} else {
//cout<<"find22222 l:" << le << " r:"<<ri << " low:"<<low<< " high:"<<high<< " k:"<<k <<"\n";
ri=k;
}
}
return re;
}
ll find2(ll num){
ll re = 1;
for(ll i=2;i<=(ll) sqrt(num);i++){
float logaric = log(num)/log(i);
// cout<< i << " logaric " << logaric << " (ll)logaric " << (ll)logaric << endl;
if(logaric - (ll)logaric ==0){
// cout<< "----------- " << logaric << endl;
re = logaric;
return re;
}
}
return re;
}
int main()
{
ll t;
cin>>t;
for(int i=1;i<=t;i++){
ll l,r;
cin>>l>>r;
ll re = 1;
if(l==r) re = find2(l);
else re = find(l,r);
cout<<"Case #"<<i<<": "<<re;
if(i!=t)cout<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gbF4oMS9rKSA8IHggPCByIF4gKDEvaykKbGwgZmluZChsbCBsLCBsbCByKXsKICAgIGxsIHJlID0gMTsKICAgIGxsIGxlID0gMSwgcmkgPSByKzE7CiAgICB3aGlsZShsZTxyaSl7CiAgICAgICAgbGwgayA9IChsZStyaSkvMjsKICAgICAgICBsbCBsb3cgPSBjZWlsKHBvdyhsLCAxLjAgLyBrKSk7CiAgICAgICAgbGwgaGlnaCA9IGZsb29yKHBvdyhyLCAxLjAgLyBrKSk7CiAgICAgICAgaWYobG93PD1oaWdoKXsKICAgICAgICAgICAgLy9jb3V0PDwiZmluZDExMTExIGw6IiA8PCBsZSA8PCAiIHI6Ijw8cmkgPDwgIiBsb3c6Ijw8bG93PDwgIiBoaWdoOiI8PGhpZ2g8PCAiIGs6Ijw8ayA8PCJcbiI7CiAgICAgICAgICAgIHJlID0gazsKICAgICAgICAgICAgbGU9aysxOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vY291dDw8ImZpbmQyMjIyMiBsOiIgPDwgbGUgPDwgIiByOiI8PHJpIDw8ICIgbG93OiI8PGxvdzw8ICIgaGlnaDoiPDxoaWdoPDwgIiBrOiI8PGsgPDwiXG4iOwogICAgICAgICAgICByaT1rOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIHJlOwp9CgpsbCBmaW5kMihsbCBudW0pewogICAgbGwgcmUgPSAxOwogICAgZm9yKGxsIGk9MjtpPD0obGwpIHNxcnQobnVtKTtpKyspewogICAgICAgZmxvYXQgbG9nYXJpYyA9IGxvZyhudW0pL2xvZyhpKTsgCiAgICAvLyAgIGNvdXQ8PCBpIDw8ICIgIGxvZ2FyaWMgIiA8PCBsb2dhcmljIDw8ICIgKGxsKWxvZ2FyaWMgIiA8PCAobGwpbG9nYXJpYyA8PCBlbmRsOwogICAgICAgaWYobG9nYXJpYyAtICAobGwpbG9nYXJpYyA9PTApewogICAgICAgIC8vICAgY291dDw8ICItLS0tLS0tLS0tLSAiIDw8IGxvZ2FyaWMgPDwgZW5kbDsKICAgICAgICAgICByZSA9IGxvZ2FyaWM7CiAgICAgICAgICAgcmV0dXJuIHJlOwogICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gcmU7Cn0KCmludCBtYWluKCkKewogICAgCiAgICBsbCB0OwogICAgY2luPj50OwogICAgZm9yKGludCBpPTE7aTw9dDtpKyspewogICAgICAgIGxsIGwscjsKICAgICAgICBjaW4+Pmw+PnI7CiAgICAgICAgbGwgcmUgPSAxOwogICAgICAgIGlmKGw9PXIpIHJlID0gZmluZDIobCk7CiAgICAgICAgZWxzZSByZSA9IGZpbmQobCxyKTsKICAgICAgICBjb3V0PDwiQ2FzZSAjIjw8aTw8IjogIjw8cmU7CiAgICAgICAgaWYoaSE9dCljb3V0PDwiXG4iOwogICAgfQoKICAgIHJldHVybiAwOwp9