Щасливе спільне кратне
Обмеження: 2 сек., 256 МіБ
Задано mm натуральних чисел nini.
Як відомо, є всього дві щасливі цифри — 44 та 77. Відповідно до цього число є щасливим, якщо воно містить у своєму десятковому записі тільки щасливі цифри. Наприклад, 4747 та 7747477474 є щасливими числами.
Знайдіть щасливе число, яке є спільним кратним чисел nini, або повідомте, що такого не існує.
Оскільки ваша відповідь може бути дуже великою, виведіть її в стисненому вигляді.
Стиснена відповідь повинна складатись із цифр та круглих дужок.
Рядок ss, огорнутий у дужки, після якого слідує число kk, означає що рядок ss повторюється kk разів. Наприклад, (47)6(47)6, (4747)3(4747)3, (474747)2(474747)2, (474747474747)1(474747474747)1 — це різні варіанти стиснення щасливого числа 474747474747474747474747.
Рядки можна конкатенувати. Наприклад, (4)2(74)3(47)1(4)2(74)3(47)1 — це один із способів стиснення числа 44747474474474747447.
Рядки можуть бути огорнуті в дужки та сконкатеновані кілька разів. Наприклад, ((4)2(7)3)2((4)2(7)3)2 — один із способів стиснення числа 44777447774477744777, а (((47)3(4)2(7)1)2(744)5)1(((47)3(4)2(7)1)2(744)5)1 — один із способів стиснення числа 474747447474747447744744744744744474747447474747447744744744744744.
Формально, стиснений рядок повинен задовольняти таку форму Бекуса-Наура:
<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>
Зверніть увагу, що вам не потрібно мінімізовувати ні щасливе число, яке є відповіддю на задачу, ні довжину стисненого числа.
Вхідні дані
У першому рядку задано ціле число mm — кількість чисел, для яких треба знайти щасливе спільне кратне.
У другому рядку записано mm натуральних чисел nini, для яких треба знайти щасливе спільне кратне.
Вихідні дані
Якщо існує щасливе число, яке є спільним кратним чисел nini, виведіть його в стисненому вигляді довжиною не більшою за 105105. Для обмежень задачі можна довести, що якщо існує таке щасливе число то існує стиснена відповідь, яка не перевищує 105105 символів.
Якщо такого числа не існує, виведіть -1
.
Обмеження
1≤m≤1001≤m≤100,
1≤ni≤1051≤ni≤105.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
1 24 | (7)1(4)2 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 3 7 13 37 47 101 9901 | (47)6 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 8 9 | (((47)3(4)2(7)1)2(744)5)1 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 4 44 2000 | -1 |
Примітки
Відповідь на перший приклад дорівнює 744=24⋅31744=24⋅31.
Відповідь на другий приклад дорівнює 474747474747=3⋅7⋅13⋅37⋅47⋅101⋅9901474747474747=3⋅7⋅13⋅37⋅47⋅101⋅9901.
У третьому прикладі іншою правильною відповіддю є (4)3(7)1(4)2(4)3(7)1(4)2. Зверніть увагу, відповідь не потрібно мінімізовувати.