вход
Неотрицательное целое число 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"