#include<iostream>
#include<stdio.h>
#include<string.h>
#include <algorithm>
typedef long long LL;
using namespace std;
LL num[1000000];
int cnt,lon;
void dfs(LL nu,int i,int k1,int k2){
if(i==0){
num[cnt++]=nu;
return ;
}
if(k1<lon)
dfs(nu*10+4,i-1,k1+1,k2);
if(k2<lon)
dfs(nu*10+7,i-1,k1,k2+1);
return;
}
int main(){
int T;
LL N;
cnt=0;
for(int i=2;i<=18;i+=2){
lon=i/2;
dfs(0,i,0,0);
}
scanf("%d",&T);
while(T--){
scanf("%I64d",&N);
if(N==1000000000000000000){
printf("44444444447777777777\n");
continue;
}
int pos = lower_bound( num, num+cnt,N)- num;
printf("%I64d\n",num[pos]);
}
return 0;
}