Щасливе спільне кратне
Limits: 2 sec., 256 MiB
Задано m натуральних чисел ni.
Як відомо, є всього дві щасливі цифри — 4 та 7. Відповідно до цього число є щасливим, якщо воно містить у своєму десятковому записі тільки щасливі цифри. Наприклад, 47 та 77474 є щасливими числами.
Знайдіть щасливе число, яке є спільним кратним чисел ni, або повідомте, що такого не існує.
Оскільки ваша відповідь може бути дуже великою, виведіть її в стисненому вигляді.
Стиснена відповідь повинна складатись із цифр та круглих дужок.
Рядок s, огорнутий у дужки, після якого слідує число k, означає що рядок s повторюється k разів. Наприклад, (47)6, (4747)3, (474747)2, (474747474747)1 — це різні варіанти стиснення щасливого числа 474747474747.
Рядки можна конкатенувати. Наприклад, (4)2(74)3(47)1 — це один із способів стиснення числа 4474747447.
Рядки можуть бути огорнуті в дужки та сконкатеновані кілька разів. Наприклад, ((4)2(7)3)2 — один із способів стиснення числа 4477744777, а (((47)3(4)2(7)1)2(744)5)1 — один із способів стиснення числа 474747447474747447744744744744744.
Формально, стиснений рядок повинен задовольняти таку форму Бекуса-Наура:
<expr> ::= <repetition> | <repetition> <expr>
<repetition> ::= ‘(’ <lucky_number> ‘)’ <number> | ‘(’ <expr> ‘)’ <number>
<lucky_number> ::= <lucky_digit> | <lucky_number> <lucky_digit>
<lucky_digit> ::= ‘4’ | ‘7’
<number> ::= <nonzero_digit> | <number> <digit>
<digit> ::= ‘0’ | <nonzero_digit>
<nonzero_digit> ::= ‘1’ | ‘2’ | ‘3’ | ‘5’ | ‘6’ | ‘8’ | ‘9’ | <lucky_digit>
Зверніть увагу, що вам не потрібно мінімізовувати ні щасливе число, яке є відповіддю на задачу, ні довжину стисненого числа.
Input
У першому рядку задано ціле число m — кількість чисел, для яких треба знайти щасливе спільне кратне.
У другому рядку записано m натуральних чисел ni, для яких треба знайти щасливе спільне кратне.
Output
Якщо існує щасливе число, яке є спільним кратним чисел ni, виведіть його в стисненому вигляді довжиною не більшою за 105. Для обмежень задачі можна довести, що якщо існує таке щасливе число то існує стиснена відповідь, яка не перевищує 105 символів.
Якщо такого числа не існує, виведіть -1
.
Constraints
1≤m≤100,
1≤ni≤105.
Samples
Input (stdin) | Output (stdout) |
---|---|
1 24 | (7)1(4)2 |
Input (stdin) | Output (stdout) |
---|---|
7 3 7 13 37 47 101 9901 | (47)6 |
Input (stdin) | Output (stdout) |
---|---|
2 8 9 | (((47)3(4)2(7)1)2(744)5)1 |
Input (stdin) | Output (stdout) |
---|---|
3 4 44 2000 | -1 |
Notes
Відповідь на перший приклад дорівнює 744=24⋅31.
Відповідь на другий приклад дорівнює 474747474747=3⋅7⋅13⋅37⋅47⋅101⋅9901.
У третьому прикладі іншою правильною відповіддю є (4)3(7)1(4)2. Зверніть увагу, відповідь не потрібно мінімізовувати.