typedeflonglong ll; typedefdouble ff; typedef pair<int,int> PII; typedef pair<double,double> PDD; constint N = 1e7 + 7; int v[N]; bool vv[N]; int prime[N],tot; int n,m;
intnum(ll x){ int cnt = 0; while (x) { cnt ++; x /= 10;} return cnt; }
ll MOD(ll x){ ll ans = 1; while (x--) ans *= 10; return ans; }
intmain(){ //freopen("halfnice.in","r",stdin); int t; int x = N; for (int i = 2; i < x; i ++ ) { if (!v[i]) { prime[++tot] = i;v[i] = i;vv[i] = 1; } for (int j = 1; j <= tot; j ++ ) { if (prime[j] > v[i] || prime[j] > x / i ) break; v[i*prime[j]] = prime[j]; } } int T = 1; cin >> t; while (t--) { ll l,r; scanf("%lld%lld",&l,&r); ll ans = l - 1; for (ll i = r; i >= l; i -- ) { int div = ceil((ff)num(i)*1.0/2); ll mm = MOD(div); ll x = i / mm, y = i % mm; if (vv[x]) { if (x > y) i = i - y - 1; else { ans = max(ans, i - (y % x)); i = i - (y % x); break; } }else { if (__gcd(x,y) != 1 && y != 0) { ans = max(ans,i); break; } } } printf("Case %d: ",T++); if (ans != l - 1) printf("%lld\n",ans); elseputs("impossible"); } return0; }