#include #include #include #include #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn(i,s,t) for(int i=s;i>=t;i--) using namespace std; inline int read() { int x=0,f=1;char c=getchar(); for(;!isdigit(c);c=getchar()) if(c=='-') f=-1; for(;isdigit(c);c=getchar()) x=x*10+c-'0'; return x*f; } const int maxn=10000010; typedef long long ll; int N,len,bit[20]; ll A[maxn]; void solve() { ll n;scanf("%I64d",&n);ll t=n;len=0; while(t) bit[++len]=t%10,t/=10; if(len&1) { rep(i,1,(len+1)/2) putchar('4'); rep(i,1,(len+1)/2) putchar('7'); } else { ll tmp=0; rep(i,1,len/2) tmp=tmp*10+7; rep(i,1,len/2) tmp=tmp*10+4; if(tmp>1]>=n) r=mid; else l=mid+1; printf("%I64d",A[l]); } } puts(""); } int main() { rep(M,1,18) { rep(S,0,(1<>i&1) tmp=tmp*10+4,c--; else tmp=tmp*10+7,c++; if(!c) A[++N]=tmp; } } sort(A+1,A+N+1); dwn(T,read(),1) solve(); return 0; }