#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll gt(int n)
{
ll res=1;
for(int i=0;i<n;i++)
{
res*=2;
}
return res;
}
string sum(string a,string b)
{
string str="";
while(a.size()<b.size()) a="0" + a;
while(a.size()>b.size()) b="0" + b;
int dem=0;
for(int i=a.size()-1;i>=0;i--)
{
int x= a[i] - '0' + b[i] - '0' +dem;
str+= char(x%10+48);
dem=x/10;
}
if(dem>0) str+='1';
reverse(str.begin(),str.end());
return str;
}
main()
{
ll a[64];
for(int i=0;i<=63;i++)
{
a[i]=gt(i);
}
int t;cin>>t;
while(t--)
{
string str;cin>>str; reverse(str.begin(),str.end());
int n=str.size();
string tmp=""; string kq=""; ll res=0;
for(int i=0;i<n;i++)
{
if(i<=50&&str[i]=='1')
{
res+=a[i];
}
if(i>50&&str[i]=='1')
{
if(res>0)
{
kq=to_string(res);
res=0;
}
tmp=to_string(a[i]);
kq=sum(kq,tmp);
}
}
if(res>0) kq=to_string(res);
cout<<kq<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKbGwgZ3QoaW50IG4pCnsKCWxsIHJlcz0xOwoJZm9yKGludCBpPTA7aTxuO2krKykKCXsKCQlyZXMqPTI7Cgl9CglyZXR1cm4gcmVzOwp9CnN0cmluZyBzdW0oc3RyaW5nIGEsc3RyaW5nIGIpCnsKCXN0cmluZyBzdHI9IiI7Cgl3aGlsZShhLnNpemUoKTxiLnNpemUoKSkgYT0iMCIgKyBhOwoJd2hpbGUoYS5zaXplKCk+Yi5zaXplKCkpIGI9IjAiICsgYjsKCWludCBkZW09MDsKCWZvcihpbnQgaT1hLnNpemUoKS0xO2k+PTA7aS0tKQoJewoJCWludCB4PSBhW2ldIC0gJzAnICsgYltpXSAtICcwJyArZGVtOwkKCQlzdHIrPSBjaGFyKHglMTArNDgpOwoJCWRlbT14LzEwOwoJfQoJaWYoZGVtPjApIHN0cis9JzEnOwoJcmV2ZXJzZShzdHIuYmVnaW4oKSxzdHIuZW5kKCkpOwoJcmV0dXJuIHN0cjsKfQptYWluKCkKewoJbGwgYVs2NF07Cglmb3IoaW50IGk9MDtpPD02MztpKyspCgl7CgkJYVtpXT1ndChpKTsKCX0KCWludCB0O2Npbj4+dDsKCXdoaWxlKHQtLSkKCXsKCQlzdHJpbmcgc3RyO2Npbj4+c3RyOyByZXZlcnNlKHN0ci5iZWdpbigpLHN0ci5lbmQoKSk7CgkJaW50IG49c3RyLnNpemUoKTsKCQlzdHJpbmcgdG1wPSIiOyBzdHJpbmcga3E9IiI7IGxsIHJlcz0wOwoJCWZvcihpbnQgaT0wO2k8bjtpKyspCgkJewoJCQlpZihpPD01MCYmc3RyW2ldPT0nMScpCgkJCXsKCQkJCXJlcys9YVtpXTsKCQkJfQoJCQkKCQkJaWYoaT41MCYmc3RyW2ldPT0nMScpIAoJCQl7CgkJCQlpZihyZXM+MCkKCQkJCXsKCQkJCQlrcT10b19zdHJpbmcocmVzKTsKCQkJCQlyZXM9MDsKCQkJCX0KCQkJCXRtcD10b19zdHJpbmcoYVtpXSk7CgkJCSAgICBrcT1zdW0oa3EsdG1wKTsKCQkJfQoJCX0KCQlpZihyZXM+MCkga3E9dG9fc3RyaW5nKHJlcyk7CgkJY291dDw8a3E8PGVuZGw7Cgl9Cn0=