Ingresso
Un numero intero non negativo ne una stringa non vuota scontenente solo caratteri alfanumerici e caratteri di sottolineatura _. Il primo personaggio di snon lo è _. I caratteri di sottolineatura di svengono interpretati come spazi vuoti che possono essere riempiti con altri caratteri.
Definiamo una sequenza infinita di "stringhe infinite" come segue. La stringa viene ripetuta all'infinito molte volte. Per tutti , la stringa viene ottenuta riempiendo i suoi spazi vuoti con i caratteri di , in modo che il primo di venga sostituito con , il secondo con e così via. Dal momento che la prima lettera di non lo ès1 = s s s...sk > 1sk+1sks1_sks1[0]s1[1]s_ , ogni spazio vuoto alla fine viene riempito, e denotiamo con la stringa infinita dove ogni è stato sostituito dal suo valore finale.s∞_
Produzione
I primi ncaratteri come stringa.s∞
Esempio
Considera gli input n = 30e s = ab_c_. abbiamo
s1 = ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_ab_c_...
Sostituendo gli spazi vuoti di , abbiamos1s1
s2 = abacbab_ccab_caabbc_abcc_abacbab_cc...
Sostituiamo nuovamente gli spazi vuoti, che si traducono ins1
s3 = abacbabaccabbcaabbc_abcccabacbab_cc...
Un'altra sostituzione:
s4 = abacbabaccabbcaabbcaabcccabacbabbcc...
Da questo possiamo già dedurre i primi 30 caratteri di , che sonos∞
abacbabaccabbcaabbcaabcccabacb
Questo è l'output corretto.
Regole
È possibile scrivere un programma completo o una funzione. Vince il conteggio di byte più basso e non sono consentite scappatoie standard. Arresto anomalo su input errati è accettabile.
Casi test
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"