#include <iostream>
#include <algorithm>
using namespace std;
long long f[21][4];
int t,n,m;
void prework()
{
f[0][0]=1;
for(int i=0;i<20;i++)
{
for(int j=0;j<3;j++)
{
f[i+1][j+1]+=f[i][j];
f[i+1][0]+=f[i][j]*9;
}
f[i+1][3]+=f[i][3]*10;
}
}
int main()
{
prework();
cin>>t;
while(t--)
{
cin>>n;
for(m=3;f[m][3]<n;m++);
for(int i=m,k=0;i;i--)
{
for(int j=0;j<=9;j++)
{
long long cnt=f[i-1][3];
if(j==6||k==3)
for(int l=max(3-k-(j==6),0);l<3;l++)
cnt+=f[i-1][l];
if(cnt<n)
n-=cnt;
else
{
if(k<3)
{
if(j==6)k++;
else k=0;
}
cout<<j;
break;
}
}
}
cout<<endl;
}
return 0;
}
dp