#include #include #include #include char ch[22]; char ans[22]; void outputMin(int len) { for (int i = 0; i < len / 2; ++i) { printf("4"); } for (int i = 0; i < len / 2; ++i) { printf("7"); } printf("\n"); } bool trySlen(int now, int l4, int l7, bool flag) { if (now == strlen(ch)) { ans[now] = '\0'; return true; } if (flag) { if (l4 > 0) { ans[now] = '4'; return trySlen(now + 1, l4 - 1, l7, flag); } else { ans[now] = '7'; return trySlen(now + 1, l4, l7 - 1, flag); } } else { if (ch[now] <= '4' && l4 > 0) { ans[now] = '4'; if (trySlen(now + 1, l4 - 1, l7, ch[now] < '4')) { return true; } } if (ch[now] <= '7' && l7 > 0) { ans[now] = '7'; if (trySlen(now + 1, l4, l7 - 1, ch[now] < '7')) { return true; } } return false; } } int main() { int t; long long n; scanf("%d", &t); while (t--) { scanf("%s", ch); int len = strlen(ch); if (len % 2 == 1) { outputMin(len + 1); } else { if (trySlen(0, len / 2, len / 2, false)) { printf("%s\n", ans); } else { outputMin(len + 2); } } } return 0; }