#include <iostream>
#include<queue>
#include<fstream>
#define ll long long
using namespace std;
inline bool f(long long int n)
{
while(n>0)
{
if((n%10!=1)&&(n%10!=0)) return 0;
n/=10;
}
return 1;
}
string s[195]={"11111111111111111100",
"11110111111111111110",
"111111111111111111000",
"111111111111111111111111111",
"10011111111111111111",
"111101111111111111100",
"11110111111111111110",
"1111111111111111110000",
"11111111111111110110",
"10111111111111111110",
"1111111111111111111111111110",
"1001101101111111111111",
"100111111111111111110",
"11110111111111111011",
"1111011111111111111000",
"10000101011110111101111111",
"11111111111111111100",
"11111111111111111100",
"1111110111111111111111111111",
"11111011110111111111",
"11111111111111111100000",
"10011011111111011011",
"11111111111101111110",
"111111111111111101100",
"101111111111111111100",
"1001101101111111111111",
"111111111111111111000",
"11111111111111111111111111100",
"110101101111111111111",
"10011011011111111111110",
"11011110111111111111",
"1001111111111111111100",
"11111111111111110110",
"10111111111111111110",
"111101111111111110110",
"11111111011111111011",
"11110111111111111110000",
"100001010111101111011111110",
"11111111111111111100",
"11111111111110110111",
"11111111111111111100",
"11011111111111101111",
"11111111111111110110",
"100111111111111111110",
"10111111111111111110",
"111111111111111111000",
"11011111101111111111",
"11110111111111111110",
"11011110111111111111",
"11111101111111111111111111110",
"11111111111001111111",
"111110111101111111110",
"1001101111111101111111",
"111111111111111111000000",
"11010111111111111111",
"100110111111110110110",
"111110011111111111110",
"111111111111011111100",
"110011110111111111111",
"10101111111111111111111111111",
"11101111111111110111",
"1111111111111111011000",
"10000101011111111101111011",
"111101111111111111100",
"11111111111111111100",
"10011011011111111111110",
"101111111101111111011",
"1111111111111111110000",
"111111111111111111111111111000",
"11011111111111101111",
"10111110111111111111",
"11111101111111101111",
"100110110111111111111100",
"11111111111101111110",
"110111101111111111110",
"10011111111111111111000",
"10010111111111111000",
"1111111111111111111111110111",
"11010111000110011101",
"1111011111111111101100",
"101111111111110101111",
"111111110111111110110",
"111101111111111111100000",
"11111111011111111011",
"11111111111101111110",
"1000010101111011110111111100",
"10011011111111011011",
"111111111111111111111111111111111111",
"10111000100001001111",
"111111111111101101110",
"11101101111111111111",
"10011011011111111111110",
"110111111111111011110",
"10111111111111011111",
"111111111111111101100",
"110011111111011111111",
"101111111111111111100",
"1010101010101010101110111111111111111",
"1111111111111111110000",
"1010111101011111111111",
"110111111011111111110",
"111101111111111110110",
"111101111111111111100",
"1001101111111101111111",
"110111101111111111110",
"11110111110111111111",
"1111011111111111111000",
"110111011011111111111",
"111111011111111111111111111100",
"111111111110011111110",
"110101101111111111111",
"100001010111101111011111110",
"1111101111011111111100",
"10011011111111011111110",
"101111111111010111111",
"1111111111111111110000000",
"110101111111111111110",
"1001111011110111111111",
"11111011111001111011",
"11101111111111111101",
"10101111111111111111111111111",
"1001101111111101101100",
"10000110100101011100",
"1111011111111101111010",
"11011101101110111001",
"11111111111111110110",
"1111111111110111111000",
"1011000111110011111101111",
"10111111111111111110",
"1100111101111111111110",
"111111001111110111111",
"111111111111111111111",
"1001011110111111111111",
"101011111111111111111111111110",
"111011111111111101110",
"1010110111111111111101",
"11111111111111110110000",
"11110111111111111110",
"1001111101111111101111",
"100001010111111111011110110",
"110110110111111111111",
"111101111111111111100",
"110111011011111111111",
"111111111111111111000",
"110111111111111110011",
"1111011111011110111110",
"111110111101111111110",
"100110110111111111111100",
"11110101111111111111",
"1011111111011111110110",
"11011111111111101111",
"101111011111110111111",
"1111111111111111111111111110000",
"110111111111111011110",
"11111110110111111111",
"100110111111110110110",
"111110011111111111110",
"101111101111111111110",
"111111011111111011110",
"1001101101111111111111000",
"10111111111111111101",
"1111111111111111110111111111",
"1101111011111111111100",
"10000101111110111101111011",
"111101011111101111111",
"11110111111111111110",
"11110111111111011111",
"11111111111111111100",
"100111111111111111110000",
"101111011111011111111",
"100101111111111110000",
"101101111111110111111",
"111111111111111101100",
"11111111111111111111111101110",
"110101110001100111010",
"11111111111001111111",
"1011111111111101011110",
"11111111100000000000",
"110101101111111111111",
"1111111101111111101100",
"1001111111111111101101",
"100101111111111111111",
"10111111111111101111111111111",
"1111011111111111111000000",
"101101111110111111111",
"11011111111110111111",
"10011011011111111111110",
"111111111111011111100",
"10110111111111111111",
"10000101011110111101111111000",
"100110111111110110110",
"111111111111111110010",
"110111101111111101111",
"111101111111110111101",
"1111111111111111111111111111111111110"
};
ll aa[195]={396,594,792,999,1089,1188,1485,1584,1782,1818,1998,2079,2178,2277,2376,2439,2475,2772,2997,3069,3168,3257,3366,3564,3636,3861,3960,3996,4059,4158,4257,4356,4455,4545,4554,4653,4752,4878,4950,5049,5148,5247,5346,5445,5454,5544,5643,5742,5841,5994,6039,6138,6237,6336,6363,6514,6534,6732,6831,6993,7029,7128,7317,7425,7524,7722,7821,7920,7992,8019,8181,8217,8316,8415,8514,8712,8792,8991,8999,9108,9207,9306,9504,9603,9702,9756,9771,9999,10009,10098,10197,10395,10494,10593,10692,10791,10908,10989,11088,11187,11286,11385,11484,11583,11682,11817,11880,11979,11988,12078,12177,12195,12276,12474,12573,12672,12726,12771,12857,12969,12987,13028,13188,13266,13351,13365,13464,13563,13635,13662,13761,13947,13959,13986,14058,14157,14256,14355,14553,14634,14751,14850,14949,15048,15147,15246,15345,15444,15453,15642,15741,15939,15984,16038,16137,16285,16335,16362,16434,16632,16731,16983,17028,17073,17127,17226,17271,17325,17424,17523,17584,17721,17820,17982,17998,18117,18414,18432,18513,18612,18711,18909,18981,19008,19089,19107,19305,19404,19503,19512,19542,19602,19701,19899,19998};
int main()
{
int t;
cin>>t;
while(t--){
long long n;
cin>>n;
long long m=1;
queue<ll> q;
bool flag=0;
for(ll i=0;i<195;i++)
if(aa[i]==n){
cout<<s[i]<<endl;
flag=1;
break;
}
if(flag==1)
continue;
if(f(n))
cout<<n<<endl;
else{
q.push(10);
q.push(11);
while(true)
{
ll x=q.front();
if(x%n==0)
{
cout<<x<<endl;
break;
}
q.push(x*10);
q.push(x*10+1);
q.pop();
}
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxxdWV1ZT4KI2luY2x1ZGU8ZnN0cmVhbT4KI2RlZmluZSBsbCBsb25nIGxvbmcKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbmxpbmUgYm9vbCBmKGxvbmcgbG9uZyBpbnQgbikKewogICAgd2hpbGUobj4wKQogICAgewogICAgICAgIGlmKChuJTEwIT0xKSYmKG4lMTAhPTApKSByZXR1cm4gMDsKICAgICAgICBuLz0xMDsKICAgIH0KICAgIHJldHVybiAxOwp9CgpzdHJpbmcgc1sxOTVdPXsiMTExMTExMTExMTExMTExMTExMDAiLAoiMTExMTAxMTExMTExMTExMTExMTAiLAoiMTExMTExMTExMTExMTExMTExMDAwIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMSIsCiIxMDAxMTExMTExMTExMTExMTExMSIsCiIxMTExMDExMTExMTExMTExMTExMDAiLAoiMTExMTAxMTExMTExMTExMTExMTAiLAoiMTExMTExMTExMTExMTExMTExMDAwMCIsCiIxMTExMTExMTExMTExMTExMDExMCIsCiIxMDExMTExMTExMTExMTExMTExMCIsCiIxMTExMTExMTExMTExMTExMTExMTExMTExMTEwIiwKIjEwMDExMDExMDExMTExMTExMTExMTEiLAoiMTAwMTExMTExMTExMTExMTExMTEwIiwKIjExMTEwMTExMTExMTExMTExMDExIiwKIjExMTEwMTExMTExMTExMTExMTEwMDAiLAoiMTAwMDAxMDEwMTExMTAxMTExMDExMTExMTEiLAoiMTExMTExMTExMTExMTExMTExMDAiLAoiMTExMTExMTExMTExMTExMTExMDAiLAoiMTExMTExMDExMTExMTExMTExMTExMTExMTExMSIsCiIxMTExMTAxMTExMDExMTExMTExMSIsCiIxMTExMTExMTExMTExMTExMTEwMDAwMCIsCiIxMDAxMTAxMTExMTExMTAxMTAxMSIsCiIxMTExMTExMTExMTEwMTExMTExMCIsCiIxMTExMTExMTExMTExMTExMDExMDAiLAoiMTAxMTExMTExMTExMTExMTExMTAwIiwKIjEwMDExMDExMDExMTExMTExMTExMTEiLAoiMTExMTExMTExMTExMTExMTExMDAwIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMTAwIiwKIjExMDEwMTEwMTExMTExMTExMTExMSIsCiIxMDAxMTAxMTAxMTExMTExMTExMTExMCIsCiIxMTAxMTExMDExMTExMTExMTExMSIsCiIxMDAxMTExMTExMTExMTExMTExMTAwIiwKIjExMTExMTExMTExMTExMTEwMTEwIiwKIjEwMTExMTExMTExMTExMTExMTEwIiwKIjExMTEwMTExMTExMTExMTExMDExMCIsCiIxMTExMTExMTAxMTExMTExMTAxMSIsCiIxMTExMDExMTExMTExMTExMTExMDAwMCIsCiIxMDAwMDEwMTAxMTExMDExMTEwMTExMTExMTAiLAoiMTExMTExMTExMTExMTExMTExMDAiLAoiMTExMTExMTExMTExMTAxMTAxMTEiLAoiMTExMTExMTExMTExMTExMTExMDAiLAoiMTEwMTExMTExMTExMTExMDExMTEiLAoiMTExMTExMTExMTExMTExMTAxMTAiLAoiMTAwMTExMTExMTExMTExMTExMTEwIiwKIjEwMTExMTExMTExMTExMTExMTEwIiwKIjExMTExMTExMTExMTExMTExMTAwMCIsCiIxMTAxMTExMTEwMTExMTExMTExMSIsCiIxMTExMDExMTExMTExMTExMTExMCIsCiIxMTAxMTExMDExMTExMTExMTExMSIsCiIxMTExMTEwMTExMTExMTExMTExMTExMTExMTExMCIsCiIxMTExMTExMTExMTAwMTExMTExMSIsCiIxMTExMTAxMTExMDExMTExMTExMTAiLAoiMTAwMTEwMTExMTExMTEwMTExMTExMSIsCiIxMTExMTExMTExMTExMTExMTEwMDAwMDAiLAoiMTEwMTAxMTExMTExMTExMTExMTEiLAoiMTAwMTEwMTExMTExMTEwMTEwMTEwIiwKIjExMTExMDAxMTExMTExMTExMTExMCIsCiIxMTExMTExMTExMTEwMTExMTExMDAiLAoiMTEwMDExMTEwMTExMTExMTExMTExIiwKIjEwMTAxMTExMTExMTExMTExMTExMTExMTExMTExIiwKIjExMTAxMTExMTExMTExMTEwMTExIiwKIjExMTExMTExMTExMTExMTEwMTEwMDAiLAoiMTAwMDAxMDEwMTExMTExMTExMDExMTEwMTEiLAoiMTExMTAxMTExMTExMTExMTExMTAwIiwKIjExMTExMTExMTExMTExMTExMTAwIiwKIjEwMDExMDExMDExMTExMTExMTExMTEwIiwKIjEwMTExMTExMTEwMTExMTExMTAxMSIsCiIxMTExMTExMTExMTExMTExMTEwMDAwIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMCIsCiIxMTAxMTExMTExMTExMTEwMTExMSIsCiIxMDExMTExMDExMTExMTExMTExMSIsCiIxMTExMTEwMTExMTExMTEwMTExMSIsCiIxMDAxMTAxMTAxMTExMTExMTExMTExMDAiLAoiMTExMTExMTExMTExMDExMTExMTAiLAoiMTEwMTExMTAxMTExMTExMTExMTEwIiwKIjEwMDExMTExMTExMTExMTExMTExMDAwIiwKIjEwMDEwMTExMTExMTExMTExMDAwIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTAxMTEiLAoiMTEwMTAxMTEwMDAxMTAwMTExMDEiLAoiMTExMTAxMTExMTExMTExMTEwMTEwMCIsCiIxMDExMTExMTExMTExMTAxMDExMTEiLAoiMTExMTExMTEwMTExMTExMTEwMTEwIiwKIjExMTEwMTExMTExMTExMTExMTEwMDAwMCIsCiIxMTExMTExMTAxMTExMTExMTAxMSIsCiIxMTExMTExMTExMTEwMTExMTExMCIsCiIxMDAwMDEwMTAxMTExMDExMTEwMTExMTExMTAwIiwKIjEwMDExMDExMTExMTExMDExMDExIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMSIsCiIxMDExMTAwMDEwMDAwMTAwMTExMSIsCiIxMTExMTExMTExMTExMDExMDExMTAiLAoiMTExMDExMDExMTExMTExMTExMTEiLAoiMTAwMTEwMTEwMTExMTExMTExMTExMTAiLAoiMTEwMTExMTExMTExMTExMDExMTEwIiwKIjEwMTExMTExMTExMTExMDExMTExIiwKIjExMTExMTExMTExMTExMTEwMTEwMCIsCiIxMTAwMTExMTExMTEwMTExMTExMTEiLAoiMTAxMTExMTExMTExMTExMTExMTAwIiwKIjEwMTAxMDEwMTAxMDEwMTAxMDExMTAxMTExMTExMTExMTExMTEiLAoiMTExMTExMTExMTExMTExMTExMDAwMCIsCiIxMDEwMTExMTAxMDExMTExMTExMTExIiwKIjExMDExMTExMTAxMTExMTExMTExMCIsCiIxMTExMDExMTExMTExMTExMTAxMTAiLAoiMTExMTAxMTExMTExMTExMTExMTAwIiwKIjEwMDExMDExMTExMTExMDExMTExMTEiLAoiMTEwMTExMTAxMTExMTExMTExMTEwIiwKIjExMTEwMTExMTEwMTExMTExMTExIiwKIjExMTEwMTExMTExMTExMTExMTEwMDAiLAoiMTEwMTExMDExMDExMTExMTExMTExIiwKIjExMTExMTAxMTExMTExMTExMTExMTExMTExMTEwMCIsCiIxMTExMTExMTExMTAwMTExMTExMTAiLAoiMTEwMTAxMTAxMTExMTExMTExMTExIiwKIjEwMDAwMTAxMDExMTEwMTExMTAxMTExMTExMCIsCiIxMTExMTAxMTExMDExMTExMTExMTAwIiwKIjEwMDExMDExMTExMTExMDExMTExMTEwIiwKIjEwMTExMTExMTExMTAxMDExMTExMSIsCiIxMTExMTExMTExMTExMTExMTEwMDAwMDAwIiwKIjExMDEwMTExMTExMTExMTExMTExMCIsCiIxMDAxMTExMDExMTEwMTExMTExMTExIiwKIjExMTExMDExMTExMDAxMTExMDExIiwKIjExMTAxMTExMTExMTExMTExMTAxIiwKIjEwMTAxMTExMTExMTExMTExMTExMTExMTExMTExIiwKIjEwMDExMDExMTExMTExMDExMDExMDAiLAoiMTAwMDAxMTAxMDAxMDEwMTExMDAiLAoiMTExMTAxMTExMTExMTEwMTExMTAxMCIsCiIxMTAxMTEwMTEwMTExMDExMTAwMSIsCiIxMTExMTExMTExMTExMTExMDExMCIsCiIxMTExMTExMTExMTEwMTExMTExMDAwIiwKIjEwMTEwMDAxMTExMTAwMTExMTExMDExMTEiLAoiMTAxMTExMTExMTExMTExMTExMTAiLAoiMTEwMDExMTEwMTExMTExMTExMTExMCIsCiIxMTExMTEwMDExMTExMTAxMTExMTEiLAoiMTExMTExMTExMTExMTExMTExMTExIiwKIjEwMDEwMTExMTAxMTExMTExMTExMTEiLAoiMTAxMDExMTExMTExMTExMTExMTExMTExMTExMTEwIiwKIjExMTAxMTExMTExMTExMTEwMTExMCIsCiIxMDEwMTEwMTExMTExMTExMTExMTAxIiwKIjExMTExMTExMTExMTExMTEwMTEwMDAwIiwKIjExMTEwMTExMTExMTExMTExMTEwIiwKIjEwMDExMTExMDExMTExMTExMDExMTEiLAoiMTAwMDAxMDEwMTExMTExMTExMDExMTEwMTEwIiwKIjExMDExMDExMDExMTExMTExMTExMSIsCiIxMTExMDExMTExMTExMTExMTExMDAiLAoiMTEwMTExMDExMDExMTExMTExMTExIiwKIjExMTExMTExMTExMTExMTExMTAwMCIsCiIxMTAxMTExMTExMTExMTExMTAwMTEiLAoiMTExMTAxMTExMTAxMTExMDExMTExMCIsCiIxMTExMTAxMTExMDExMTExMTExMTAiLAoiMTAwMTEwMTEwMTExMTExMTExMTExMTAwIiwKIjExMTEwMTAxMTExMTExMTExMTExIiwKIjEwMTExMTExMTEwMTExMTExMTAxMTAiLAoiMTEwMTExMTExMTExMTExMDExMTEiLAoiMTAxMTExMDExMTExMTEwMTExMTExIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMDAiLAoiMTEwMTExMTExMTExMTExMDExMTEwIiwKIjExMTExMTEwMTEwMTExMTExMTExIiwKIjEwMDExMDExMTExMTExMDExMDExMCIsCiIxMTExMTAwMTExMTExMTExMTExMTAiLAoiMTAxMTExMTAxMTExMTExMTExMTEwIiwKIjExMTExMTAxMTExMTExMTAxMTExMCIsCiIxMDAxMTAxMTAxMTExMTExMTExMTExMDAwIiwKIjEwMTExMTExMTExMTExMTExMTAxIiwKIjExMTExMTExMTExMTExMTExMTAxMTExMTExMTEiLAoiMTEwMTExMTAxMTExMTExMTExMTEwMCIsCiIxMDAwMDEwMTExMTExMDExMTEwMTExMTAxMSIsCiIxMTExMDEwMTExMTExMDExMTExMTEiLAoiMTExMTAxMTExMTExMTExMTExMTAiLAoiMTExMTAxMTExMTExMTEwMTExMTEiLAoiMTExMTExMTExMTExMTExMTExMDAiLAoiMTAwMTExMTExMTExMTExMTExMTEwMDAwIiwKIjEwMTExMTAxMTExMTAxMTExMTExMSIsCiIxMDAxMDExMTExMTExMTExMTAwMDAiLAoiMTAxMTAxMTExMTExMTEwMTExMTExIiwKIjExMTExMTExMTExMTExMTEwMTEwMCIsCiIxMTExMTExMTExMTExMTExMTExMTExMTEwMTExMCIsCiIxMTAxMDExMTAwMDExMDAxMTEwMTAiLAoiMTExMTExMTExMTEwMDExMTExMTEiLAoiMTAxMTExMTExMTExMTEwMTAxMTExMCIsCiIxMTExMTExMTEwMDAwMDAwMDAwMCIsCiIxMTAxMDExMDExMTExMTExMTExMTEiLAoiMTExMTExMTEwMTExMTExMTEwMTEwMCIsCiIxMDAxMTExMTExMTExMTExMTAxMTAxIiwKIjEwMDEwMTExMTExMTExMTExMTExMSIsCiIxMDExMTExMTExMTExMTEwMTExMTExMTExMTExMSIsCiIxMTExMDExMTExMTExMTExMTExMDAwMDAwIiwKIjEwMTEwMTExMTExMDExMTExMTExMSIsCiIxMTAxMTExMTExMTExMDExMTExMSIsCiIxMDAxMTAxMTAxMTExMTExMTExMTExMCIsCiIxMTExMTExMTExMTEwMTExMTExMDAiLAoiMTAxMTAxMTExMTExMTExMTExMTEiLAoiMTAwMDAxMDEwMTExMTAxMTExMDExMTExMTEwMDAiLAoiMTAwMTEwMTExMTExMTEwMTEwMTEwIiwKIjExMTExMTExMTExMTExMTExMDAxMCIsCiIxMTAxMTExMDExMTExMTExMDExMTEiLAoiMTExMTAxMTExMTExMTEwMTExMTAxIiwKIjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAiCn07CgoKbGwgYWFbMTk1XT17Mzk2LDU5NCw3OTIsOTk5LDEwODksMTE4OCwxNDg1LDE1ODQsMTc4MiwxODE4LDE5OTgsMjA3OSwyMTc4LDIyNzcsMjM3NiwyNDM5LDI0NzUsMjc3MiwyOTk3LDMwNjksMzE2OCwzMjU3LDMzNjYsMzU2NCwzNjM2LDM4NjEsMzk2MCwzOTk2LDQwNTksNDE1OCw0MjU3LDQzNTYsNDQ1NSw0NTQ1LDQ1NTQsNDY1Myw0NzUyLDQ4NzgsNDk1MCw1MDQ5LDUxNDgsNTI0Nyw1MzQ2LDU0NDUsNTQ1NCw1NTQ0LDU2NDMsNTc0Miw1ODQxLDU5OTQsNjAzOSw2MTM4LDYyMzcsNjMzNiw2MzYzLDY1MTQsNjUzNCw2NzMyLDY4MzEsNjk5Myw3MDI5LDcxMjgsNzMxNyw3NDI1LDc1MjQsNzcyMiw3ODIxLDc5MjAsNzk5Miw4MDE5LDgxODEsODIxNyw4MzE2LDg0MTUsODUxNCw4NzEyLDg3OTIsODk5MSw4OTk5LDkxMDgsOTIwNyw5MzA2LDk1MDQsOTYwMyw5NzAyLDk3NTYsOTc3MSw5OTk5LDEwMDA5LDEwMDk4LDEwMTk3LDEwMzk1LDEwNDk0LDEwNTkzLDEwNjkyLDEwNzkxLDEwOTA4LDEwOTg5LDExMDg4LDExMTg3LDExMjg2LDExMzg1LDExNDg0LDExNTgzLDExNjgyLDExODE3LDExODgwLDExOTc5LDExOTg4LDEyMDc4LDEyMTc3LDEyMTk1LDEyMjc2LDEyNDc0LDEyNTczLDEyNjcyLDEyNzI2LDEyNzcxLDEyODU3LDEyOTY5LDEyOTg3LDEzMDI4LDEzMTg4LDEzMjY2LDEzMzUxLDEzMzY1LDEzNDY0LDEzNTYzLDEzNjM1LDEzNjYyLDEzNzYxLDEzOTQ3LDEzOTU5LDEzOTg2LDE0MDU4LDE0MTU3LDE0MjU2LDE0MzU1LDE0NTUzLDE0NjM0LDE0NzUxLDE0ODUwLDE0OTQ5LDE1MDQ4LDE1MTQ3LDE1MjQ2LDE1MzQ1LDE1NDQ0LDE1NDUzLDE1NjQyLDE1NzQxLDE1OTM5LDE1OTg0LDE2MDM4LDE2MTM3LDE2Mjg1LDE2MzM1LDE2MzYyLDE2NDM0LDE2NjMyLDE2NzMxLDE2OTgzLDE3MDI4LDE3MDczLDE3MTI3LDE3MjI2LDE3MjcxLDE3MzI1LDE3NDI0LDE3NTIzLDE3NTg0LDE3NzIxLDE3ODIwLDE3OTgyLDE3OTk4LDE4MTE3LDE4NDE0LDE4NDMyLDE4NTEzLDE4NjEyLDE4NzExLDE4OTA5LDE4OTgxLDE5MDA4LDE5MDg5LDE5MTA3LDE5MzA1LDE5NDA0LDE5NTAzLDE5NTEyLDE5NTQyLDE5NjAyLDE5NzAxLDE5ODk5LDE5OTk4fTsKCgppbnQgbWFpbigpCnsKICAgIGludCB0OwogICAgY2luPj50OwogICAgd2hpbGUodC0tKXsKICAgICAgICBsb25nIGxvbmcgIG47CiAgICAgICAgY2luPj5uOwogICAgICAgIGxvbmcgbG9uZyAgbT0xOwogICAgICAgIHF1ZXVlPGxsPiBxOwogICAgICAgIGJvb2wgZmxhZz0wOwogICAgICAgIGZvcihsbCBpPTA7aTwxOTU7aSsrKQogICAgICAgICAgICBpZihhYVtpXT09bil7CiAgICAgICAgICAgIGNvdXQ8PHNbaV08PGVuZGw7CiAgICAgICAgICAgIGZsYWc9MTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICBpZihmbGFnPT0xKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICBpZihmKG4pKQogICAgICAgICAgICBjb3V0PDxuPDxlbmRsOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHEucHVzaCgxMCk7CiAgICAgICAgICAgIHEucHVzaCgxMSk7CiAgICAgICAgICAgIHdoaWxlKHRydWUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxsIHg9cS5mcm9udCgpOwogICAgICAgICAgICAgICAgaWYoeCVuPT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdXQ8PHg8PGVuZGw7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBxLnB1c2goeCoxMCk7CiAgICAgICAgICAgICAgICBxLnB1c2goeCoxMCsxKTsKICAgICAgICAgICAgICAgIHEucG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=