#include<iostream>#include<istream>#include<sstream>#include<vector>#include<stack>#include<list>#include<map>#include<set>#include<deque>#include<queue>#include<cstring>#include<unordered_map>#include<unordered_set>#include<algorithm>#include<numeric>#include<chrono>#include<ctime>#include<cmath>#include<cctype>#include<string>#include<cstdio>#include<iomanip>#include<thread>#include<mutex>#include<condition_variable>#include<functional>#include<iterator>usingnamespace std;typedeflonglongint ll;int_next(ll n, ll k){
string s =to_string(k * k);longlongint ans =0,len =min(n,(ll)s.size());for(int i =0; i < len; i++){
ans = ans *10+ s[i]-'0';}return ans;}intmain(){int t,n,k;
cin >> t;while(t--){
cin >> n >> k;int ans = k;int fast = k, slow = k;do{
slow =_next(n, slow);
fast =_next(n, fast); ans =max(fast, ans);
fast =_next(n, fast); ans =max(fast, ans);}while(fast != slow);
cout << ans << endl;}return0;}