位之间的逻辑关系
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
#define F(i,a,n) for(i=a;i<n;i++)
#define FR(i,a,n) for(i=a;i>n;i--)
#define pb(n) push_back(n)
#define be(v) v.begin(),v.end()
#define me(v) *max_element(v.begin(),v.end())
ll check(ll x){
ll mx=0,mn=10;
while(x){
mx=max(mx,x%10);
mn=min(mn,x%10);
x/=10;
}
return mx-mn;
}
int main() {
ll t,MOD=1e9+7;
cin>>t;
while(t--){
ll l,r,i,j;
cin>>l>>r;
ll ans=l,p=1;
F(i,0,19){
F(j,0,10){
ll x=l/p*p+(p-1)/9*j;
if(x>=l&&x<=r&&check(x)<check(ans))ans=x;
x=r/p*p+(p-1)/9*j;
if(x>=l&&x<=r&&check(x)<check(ans))ans=x;
}
p*=10;
}
cout<<ans<<endl;
}
return 0;
}