#include #include #include using namespace std; long long sc(int n){ long long rel=0; for(int i=0;i0){ rel*=10; n--; } return rel; } long long get_max(int a,int b){ long long rel=0; while(a>0){ rel*=10;rel+=7;a--; } while(b>0){ rel*=10;rel+=4;b--; } return rel; } int main() { int t; scanf("%d",&t); while(t--){ long long tmp; scanf("%I64d",&tmp); if(tmp==0){puts("47");continue;} long long ttt=tmp; int num=0; while(ttt>0){ num++; ttt/=10; } if(num%2==0){ if(tmp>sc(num))num++; } if(num&1){ print(num+1); continue; } int num1=num/2,num2=num/2; long long ans=0; for(int i=num;i>0;i--){ if(num1>0){ if(ans+4*ten(i-1)+get_max(num2,num1-1)>=tmp){ ans+=4*ten(i-1); num1--; } else{ ans+=7*ten(i-1); num2--; } } else{ ans+=7*ten(i-1); num2--; } } printf("%I64d\n",ans); } }