Zadanie 9 (termin oddania: 16 lutego 2006, godz. 23:59)

Napisz program, który wczyta z wejścia ciąg znaków zakończony końcem
wiersza oraz niepusty ciąg liczb całkowitych zakończony liczbą zero,
której nie uznajemy za część ciągu.

Nie znamy maksymalnej długości żadnego z ciągów, więc będziemy je
przechowywać w strukturach listowych. Po listach będziemy się
poruszali cyklicznie - po liście liczb w jednym kierunku, a po
liście znaków w dwóch kierunkach. Oznacza to, że program będzie się
posługiwał dwukierunkową listą cykliczną znaków oraz jednokierunkową
listą cykliczną liczb.

Po utworzeniu obu list, program powinien wypisać zawartość ciągu
znaków, w kolejności wyznaczonej przez ciąg liczb, rozpoczynając
od pierwszego znaku i pierwszej liczby, zgodnie z następującym
przepisem:

* wypisujemy aktualny znak,
* usuwamy go z listy,
* niech k będzie aktualną liczbą na liście liczb
  - jeśli k jest większe od zera, to przesuwamy się o k znaków do
    przodu na liście cyklicznej znaków,
  - jeśli k jest mniejsze od zera, to przesuwamy się o k znaków do
    tyłu,
* zmieniamy k na następną liczbę (uwzględniając cykliczność listy).

Np. dla danych:

alamakota
3 -2 0

program powinien wypisać:

amlkataoa