Você e alguns amigos vão jogar boliche. Há um total de N jogadores. No entanto, existem apenas cadeiras N -1 para sentar. A solução é simples: quem quer que seja a vez atualmente não recebe uma cadeira. Então, quando termina sua vez, eles se sentam na cadeira da pessoa que segue em seguida.
Vamos dar um exemplo. Digamos que você é chamado A , e seus quatro amigos são nomeados B , C , D , e E . Todo jogador se move em ordem alfabética, então você começa primeiro. Uma vez que existem 5 jogadores, existem apenas 4 lugares. Seus amigos estão sentados nos quatro assentos nesta ordem:
CEBD
Você vai, e sim você recebe uma greve! É a vez de B a seguir, então você se senta na cadeira dele. Agora fica assim:
CEAD
B vai. Gutterball! Então ele se senta no lugar de C , e C vai no próximo turno.
BEAD
então C se senta na cadeira de D.
BEAC
e D senta na cadeira de E
BDAC
e por último, E senta na sua cadeira.
BDEC
Você notará que agora o assento de todo mundo está (pseudo) embaralhado. Você deve descobrir, depois de X rodar, quem estará sentado onde?
Entrada
Seu programa deve receber duas entradas do usuário, uma sequência e um número. Não são necessários avisos. A sequência terá de 1 a 51 caracteres alfabéticos (BZ e az) sem repetições. Isso representa a ordem em que seus amigos escolheram sentar. Não haverá A maiúsculo porque esse é você, e você sempre vai primeiro. O número será o número total de rodadas (não jogos) que você e seus amigos jogam. Esse número será positivo e de tamanho razoável (menor que 1000).
Saída
Seu programa deve imprimir a ordem em que seus amigos estão depois de X turnos e de quem é a vez. Por exemplo, se depois de X girar a ordem for BEDGCAHF e a vez de Z , seu programa deverá imprimir exatamente isso:
BEDGCAHF
It is Z's turn.
Aqui estão algumas amostras de entradas e saídas.
input: E, 4
E
It is A's turn.
input: E, 5
A
It is E's turn.
input: Bb, 2
AB
It is b's turn.
input: dgOPZXKDQYioHflFhpqzUsSaeILwckVNEtGTCJBvnruRyWMmjxb, 999
JNuvFDqjwEPVnMSlOWXgAZyGKordIRBtkamziphcUYbxfCsTQeH
It is L's turn.
Regras
Todo mundo vai em ordem alfabética, com letras maiúsculas tendo precedência sobre letras minúsculas.
Isso é código-golfe, então as brechas padrão se aplicam e as submissões são pontuadas em bytes .
{({}[()])({}<({}<(([])<{{}({}<>)<>([])}{}<>>)<>>)<>{({}[()]<({}<>)<>>)}{}<>>)}