Вхідні дані
Невід’ємне ціле число nі непорожній рядок, sщо містить лише буквено-цифрові символи та підкреслення _. Перший персонаж s- ні _. Підкреслення sінтерпретуються як порожні пробіли, які можна заповнити іншими символами.
Ми визначаємо нескінченну послідовність "нескінченних рядків" наступним чином. Рядок просто повторюється нескінченно багато разів. Для всіх , рядок отримується шляхом заповнення порожніх пробілів символами , так що перший з замінюється на , другий - і так далі. Оскільки перша літера не є , то кожне порожнє пробіл заповнюється зрештою, і ми позначаємо нескінченним рядком, де кожне було замінене його можливим значенням.s1 = s s s...sk > 1sk+1sks1_sks1[0]s1[1]s_s∞_
Вихідні дані
Перші nсимволи як рядка.s∞
Приклад
Розглянемо вхідні дані n = 30та s = ab_c_. Ми маємо
s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_...
Підставляючи заготовки , ми маємоs1s1
s2 = abacbab_ccab_caabbc_abcc_abacbab_cc...
Ми знову підставляємо заготовки, в результаті чогоs1
s3 = abacbabaccabbcaabbc_abcccabacbab_cc...
Ще одна заміна:
s4 = abacbabaccabbcaabbcaabcccabacbabbcc...
З цього ми можемо вже вивести перші 30 символів , які єs∞
abacbabaccabbcaabbcaabcccabacb
Це правильний вихід.
Правила
Ви можете написати повну програму або функцію. Виграє найменший байт, а стандартні лазівки заборонені. Збій на неправильному вході прийнятний.
Випробування
0 "ab__" -> ""
1 "ab__" -> "a"
3 "ab__" -> "aba"
20 "ab" -> "abababababababababab"
20 "ab__" -> "abababababababababab"
20 "ab_" -> "abaabbabaabaabbabbab"
30 "ab_c_" -> "abacbabaccabbcaabbcaabcccabacb"
50 "ab_a_cc" -> "abaabccabaaaccabbacccabcaaccabbaaccabaaaccabcaccca"
50 "abc____" -> "abcabcaabcbcaaabcbcbcabcaaababccbcbabccabcabcaaaba"