Inverter a lista ligada em blocos

Dada uma lista ligada, é pedido que se inverta blocos de comprimento l na lista, desde o início até ao final, até não restarem mais blocos para reverter.

Entrada

Os dados iniciais para a lista ligada são obtidos automaticamente. Não é necessário fazer nada.

A seguir, é fornecido um único inteiro l (1 ≤ l ≤ |L|), que representa o tamanho dos blocos.

Saída

O programa deve imprimir a lista ligada final.

Exemplos

Entrada

Saída

10
4 0 -2 3 5 7 -1 8 -9 3
5

5 3 -2 0 4 3 -9 8 -1 7

10
4 0 -2 3 5 7 -1 8 -9 3
2

0 4 3 -2 7 5 8 -1 3 -9

10
4 0 -2 3 5 7 -1 8 -9 3
1

4 0 -2 3 5 7 -1 8 -9 3

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue