#include<bits/stdc++.h>
#define faster ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define db double
#define bo bool
#define vo void
#define ch char
#define fl float
#define ll long long
#define ull unsigned long long
#define str string
#define re return
#define all(x) (x).begin(),(x).end()
using namespace std;
//Đề Đại Học Sư Phạm Hà Nội
vo bai1()
{
	ll n,i,d=0;
	cin>>n;
    for(i=2;i*i<=n;i++)
	{
        if(n%i==0)
		{
            d=i;
            break;
        }
    }
    if(!d) cout<<n-1;
    else cout<<n-d;
}
vo bai2_bruteforce()
{
	ll n,res=0,x,i;
	bo ok;
    str b;
    cin>>n>>b;
    bo check[10]={};
    for(ch c:b) check[c-'0']=1;
    for(i=1;i<=n;i++)
	{
        x=i;
        ok=1;
        while(x)
		{
            if(check[x%10])
			{
                ok=0;
                break;
            }
            x/=10;
        }
        if(ok) res++;
    }
    cout<<res;
}
str s;
ll d[10],dp[20][2][2];
ll TRY(ll i,ll t,ll l)
{
    if(i==(ll)s.size()) re l?0:1;
    ll &r=dp[i][t][l],t1,l1,u=t?(s[i]-'0'):9;
    if(r!=-1) return r;
    r=0;
    for(ll j=0;j<=u;j++)
	{
        t1=t&&(j==u);
        l1=l&&(j==0);
        if(l1) r+=TRY(i+1,t1,1);
        else if(!d[j]) r+=TRY(i+1,t1,0);
    }
    re r;
}
vo bai2_deque()
{
    ll n;
	str b;
    cin>>n>>b;
    for(ch c:b) d[c-'0']=1;
    s=to_string(n);
    memset(dp,-1,sizeof(dp));
    cout<<TRY(0,1,1);
}
vo bai2_dp()
{
    ll n,m,i,j,k,v,l,q,z,p;
	str b;
	static ll f[20][2][2];
	str s;
    cin>>n>>b;
    s=to_string(n);
    m=s.size();
    bo check[10]={};
    for(ch c:b) check[c-'0']=1;
    f[0][1][1]=1;
    for(i=0;i<m;i++)
	{
        for(j=0;j<2;j++)
		for(k=0;k<2;k++)
		{
        	v=f[i][j][k];
            if(!v) continue;
            p=j?(s[i]-'0'):9;
            for(l=0;l<=p;l++)
			{
                q=j&&(l==p);
                z=k&&(l==0);
                if(z) f[i+1][q][1] += v;
                else
				{
                    if(check[l]) continue;
                    f[i+1][q][0]+=v;
                }
            }
        }
    }
    cout<<f[m][0][0]+f[m][1][0];
}
vo bai3()
{
	ll n,m,l=1,r,res,mid,i;
	bo ok;
    cin>>n>>m;
    r=n;
    res=n;
    vector<ll> a(n+1),b(n+1,0);
    for(i=1;i<=n;i++)
	{
        cin>>a[i];
        b[i]=b[i-1]+a[i];
    }
    while(l<=r)
	{
		ok=true;
        mid=(l+r)/2;
        for(i=mid;i<=n;i++)
        if(b[i]-b[i-mid]<m)
        {
        	ok=false;
        	break;
		}
        if(ok)
		{
            res=mid;
            r=mid-1;
        }
		else l=mid+1;
    }
    cout<<res;
}
vo bai4()
{
	ll x,t,i,j,p=pow(2,9);
	vector<ll> v;
    v.push_back(0);
    for(i=1;i<p;i++)
	{
        x=0;
        for(j=0;j<9;j++)
        if(i&(1<<j)) x=x*10+(j+1);
        v.push_back(x);
    }
    sort(all(v));
    cin>>t;
    while(t--)
	{
        cin>>x;
        auto it=upper_bound(all(v),x);
        if(it==v.begin()) cout<<0<<"\n";
        else
		{
			it--;
			cout<<*it<<"\n";
		}
    }
}
int main()
{
	faster
//	bai1();
//	bai2_bruteforce();
//	bai2_deque();
//	bai2_dp();
//	bai3();
	bai4();
	re 0;
}

