#include #include #include using namespace std; int main() { int tt; scanf("%d", &tt); while (tt--) { char str[30], ans[30], ans1[30]; scanf("%s", str); int len = strlen(str), flag = 0; int fo = 0, sev = 0, anslen = 0; if (str[0] > '7') {flag = 1; ans1[anslen++] = '4';} for (int i = 0; i < len; ++i) { if (flag == 1) {ans[i] = '4'; } else if(str[i] < '4'){ans[i] = '4';flag=1;} else if(str[i] == '4'){ans[i] = '4'; } else if (str[i] < '7') {ans[i] = '7'; if (str[i] < '7')flag = 1;} else if (str[i] == '7') { ans[i]=0; int j = i; while (j < len) {if (str[j] == '7') {j++;} else {if (str[j]>'7'){if (ans[i - 1] == '4') { ans[i - 1] = '7'; flag = 1; ans[i] = '4'; //printf("fdsa3\n"); } else { //printf("fdsa4\n"); ans1[anslen++] = '4'; flag = 1; ans[i] = '4'; }}else{ans[i]='7';}break;}} if(ans[i]==0)ans[i]='7'; } else { if (ans[i - 1] == '4') { ans[i - 1] = '7'; flag = 1; ans[i] = '4'; //printf("fdsa3\n"); } else { //printf("fdsa4\n"); ans1[anslen++] = '4'; flag = 1; ans[i] = '4'; } } ans[i + 1] = '\0'; } if ((len + anslen) % 2) { ans1[anslen++] = '4'; } for (int i = 0; i < len; i++) { ans1[anslen++] = ans[i]; } //printf("%s %s\n", ans1,ans); for (int i = 0; i < anslen; i++) { if (ans1[i] == '4')fo++; if (ans1[i] == '7')sev++; } if(sev>fo){ ans1[anslen++] ='4'; } if ( anslen % 2) { ans1[anslen++] = '4'; } ans1[anslen] = '\0'; //printf("fo%d sev%d\n", fo, sev ); for (int i = anslen - 1; i > anslen - 1 - (fo - sev) / 2; i--) { ans1[i] = '7'; } if (anslen > len)sort(ans1, ans1 + anslen); printf("%s\n", ans1); } return 0; }