# include <iostream>
# include <iomanip>
# include <cstdio>
# include <cstring>
# include <queue>
using namespace std;
unsigned long long Input;
const int BASE = 100000;
bool exist[20000];
class BigInteger
{
public:
int num[10];
int len;
BigInteger& mul10()
{
int c = 0;
for(int i=0;i<len;i++)
{
num[i] = num[i]*10 + c;
c = num[i]/BASE;
num[i]%=BASE;
}
if(c)
{
num[len++] = c;
}
return *this;
}
BigInteger& add(int c)
{
for(int i=0;c&&i<len;i++)
{
num[i] = num[i] + c;
c = num[i]/BASE;
num[i]%=BASE;
}
if(c)
{
num[len++] = c;
}
return *this;
}
int operator%(const int& a)
{
int c = 0;
for(int i=len-1;i>=0;i--)
{
c*=BASE;
c+=num[i];
c%=a;
}
return c;
}
};
ostream& operator<<(ostream& out, const BigInteger& a)
{
out << a.num[a.len-1];
for(int i=a.len-2;i>=0;i--)
{
out << right << setfill('0') << setw(5) << a.num[i];
}
return out;
}
int main(int argc, char const *argv[])
{
int N;
cin >> N;
BigInteger current;
queue <BigInteger> Queue;
BigInteger ten;
ten.len = 1;
ten.num[0] = 10;
BigInteger eleven;
eleven.len = 1;
eleven.num[0] = 11;
int maxlen = -1,j=-1;
for (int i = 1; i <= N; i++)
{
cin >> Input;
memset(exist,0,sizeof(exist));
if (Input == 1) {cout << "1" << endl; continue;}
Queue.push (ten); Queue.push (eleven);
while (!Queue.empty())
{
current = Queue.front();
Queue.pop();
int temp = current % Input;
if(exist[temp]) continue;
exist[temp] = 1;
if (temp)
{
Queue.push (current.mul10());
Queue.push (current.add(1));
}
else
{
cout << current << endl;
while (!Queue.empty()) Queue.pop();
}
}
}
return 0;
}
IyBpbmNsdWRlIDxpb3N0cmVhbT4KIyBpbmNsdWRlIDxpb21hbmlwPgojIGluY2x1ZGUgPGNzdGRpbz4KIyBpbmNsdWRlIDxjc3RyaW5nPgojIGluY2x1ZGUgPHF1ZXVlPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdW5zaWduZWQgbG9uZyBsb25nIElucHV0Owpjb25zdCBpbnQgQkFTRSA9IDEwMDAwMDsKYm9vbCBleGlzdFsyMDAwMF07CgpjbGFzcyBCaWdJbnRlZ2VyCnsKcHVibGljOgogICAgaW50IG51bVsxMF07CglpbnQgbGVuOwoJQmlnSW50ZWdlciYgbXVsMTAoKQoJewoJCWludCBjID0gMDsKCQlmb3IoaW50IGk9MDtpPGxlbjtpKyspCgkJewoJCQludW1baV0gPSBudW1baV0qMTAgKyBjOwoJCQljID0gbnVtW2ldL0JBU0U7CgkJCW51bVtpXSU9QkFTRTsKCQl9CgkJaWYoYykKCQl7CgkJCW51bVtsZW4rK10gPSBjOwoJCX0KCQlyZXR1cm4gKnRoaXM7Cgl9CglCaWdJbnRlZ2VyJiBhZGQoaW50IGMpCgl7CgkJZm9yKGludCBpPTA7YyYmaTxsZW47aSsrKQoJCXsKCQkJbnVtW2ldID0gbnVtW2ldICsgYzsKCQkJYyA9IG51bVtpXS9CQVNFOwoJCQludW1baV0lPUJBU0U7CgkJfQoJCWlmKGMpCgkJewoJCQludW1bbGVuKytdID0gYzsKCQl9CgkJcmV0dXJuICp0aGlzOwoJfQoJaW50IG9wZXJhdG9yJShjb25zdCBpbnQmIGEpCgl7CgkJaW50IGMgPSAwOwoJCWZvcihpbnQgaT1sZW4tMTtpPj0wO2ktLSkKCQl7CgkJCWMqPUJBU0U7CgkJCWMrPW51bVtpXTsKCQkJYyU9YTsKCQl9CgkJcmV0dXJuIGM7Cgl9Cn07Cgpvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG91dCwgY29uc3QgQmlnSW50ZWdlciYgYSkKewoJb3V0IDw8IGEubnVtW2EubGVuLTFdOwoJZm9yKGludCBpPWEubGVuLTI7aT49MDtpLS0pCgl7CgkJb3V0IDw8IHJpZ2h0IDw8IHNldGZpbGwoJzAnKSA8PCBzZXR3KDUpIDw8IGEubnVtW2ldOwoJfQoJcmV0dXJuIG91dDsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgY29uc3QgKmFyZ3ZbXSkKewoJaW50IE47CgljaW4gPj4gTjsKCUJpZ0ludGVnZXIgY3VycmVudDsKCXF1ZXVlIDxCaWdJbnRlZ2VyPiBRdWV1ZTsKCUJpZ0ludGVnZXIgdGVuOwoJdGVuLmxlbiA9IDE7Cgl0ZW4ubnVtWzBdID0gMTA7CglCaWdJbnRlZ2VyIGVsZXZlbjsKCWVsZXZlbi5sZW4gPSAxOwoJZWxldmVuLm51bVswXSA9IDExOwoJaW50IG1heGxlbiA9IC0xLGo9LTE7Cglmb3IgKGludCBpID0gMTsgaSA8PSBOOyBpKyspCgl7CgkJY2luID4+IElucHV0OwoJCW1lbXNldChleGlzdCwwLHNpemVvZihleGlzdCkpOwoJCWlmIChJbnB1dCA9PSAxKSB7Y291dCA8PCAiMSIgPDwgZW5kbDsgY29udGludWU7fQoJCVF1ZXVlLnB1c2ggKHRlbik7IFF1ZXVlLnB1c2ggKGVsZXZlbik7CgkJd2hpbGUgKCFRdWV1ZS5lbXB0eSgpKQoJCXsKCQkJY3VycmVudCA9IFF1ZXVlLmZyb250KCk7CgkJCVF1ZXVlLnBvcCgpOwoJCQlpbnQgdGVtcCA9IGN1cnJlbnQgJSBJbnB1dDsKCQkJaWYoZXhpc3RbdGVtcF0pIGNvbnRpbnVlOwoJCQlleGlzdFt0ZW1wXSA9IDE7CgkJCWlmICh0ZW1wKQoJCQl7CgkJCQlRdWV1ZS5wdXNoIChjdXJyZW50Lm11bDEwKCkpOwoJCQkJUXVldWUucHVzaCAoY3VycmVudC5hZGQoMSkpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJY291dCA8PCBjdXJyZW50IDw8IGVuZGw7CgkJCQl3aGlsZSAoIVF1ZXVlLmVtcHR5KCkpIFF1ZXVlLnBvcCgpOwoJCQl9CgkJfQoJfQoJcmV0dXJuIDA7Cn0=