Problem description


Oś liczbowa
(D)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Bajtek napisał profesjonalny program do wyświetlania osi liczbowej w postaci ASCII artu (znaków - (minus), + (plus), > (znak większości), odstępów oraz cyfr).

Przykładowe osie liczbowe, które może wygenerować profesjonalny program Bajtka mogą wyglądać tak:

  ---+--------------+---------+---------->    --+----+------------------>    +--------+>
    155            158       160              3330 3340                      0        9

Jak widać na powyższych przykładach, efekt końcowy jest bardzo schludny. Formalizując jednak opis tych osi, Bajtek przyjął następujące założenia:

  • każda oś liczbowa składa się z dwóch wierszy opisu o długości nie przekraczającej 1 000 000 znaków,
  • pierwszy wiersz opisu składa się ze znaków - (fragment poziomy osi liczbowej), + (oznaczenie zaznaczonego punktu na osi) oraz > (na końcu osi liczbowej),
  • etykiety zaznaczonych punktów na osi liczbowej są w drugim wierszu, pod znakami +, możliwie wyśrodkowane (w przypadku liczb parzystej długości dokładnie połowa cyfr znajduje się po lewej stronie znaku,
  • oznaczenia punktów (znaki + oraz liczbowe etykiety poniżej) nie wystają poza oś liczbową ani z lewej strony, ani z prawej strony
  • etykiety punktów są nieujemnymi liczbami całkowitymi i nie przekraczają 109,
  • liczbowe etykiety punktów nie nakładają się na siebie i zawsze jest między nimi co najmniej jeden znak odstępu,
  • na osi zaznaczone są zawsze co najmniej dwa punkty,
  • punkty zaznaczone na osi są dokładnie (tzn. nie są stosowane żadne przybliżenia wynikające z ,,rozdzielczości’’ znaków).

Twoim zadaniem jest napisać program, który będzie zaznaczał dodatkowe punkty na osi wygenerowanej przez program Bajtka.

Wejście

W pierwszych dwóch wierszach znajduje się opis osi liczbowej, zgodnie z warunkami podanymi powyżej.

W trzecim wierszu znajduje się jedna liczba naturalna N oznaczająca liczbę dodatkowych punktów, które należy zaznaczyć na osi liczbowej. W czwartym (ostatnim) wierszu znajduje się ciąg N nieujemnych liczb całkowitych Xi pooddzielanych pojedynczymi odstępami. Są to współrzędne punktów, które należy dodatkowo zaznaczyć na osi liczbowej. Gwarantowane jest, że te punkty nie zostały zaznaczone na osi podanej w pierwszych dwóch wierszach wejścia.

Możesz założyć, że dane są dobrane w taki sposób, że możliwe jest zaznaczenie dodatkowych punktów, aby nadal spełniać założenia Bajtka opisane powyżej. Ponadto, zaznaczenie wszystkich dodatkowych punktów jest możliwe na podanej osi liczbowej, bez jej rozszerzania w którąkolwiek ze stron.

Wyjście

Twój program powinien wypisać oś liczbową z zaznaczonymi dodatkowymi punktami (ponad te, które były już wcześniej zaznaczone) w takim samym formacie jak pierwsze dwa wiersze wejścia.

Długość pierwszego wiersza wyjścia musi być taka sama jak długość pierwszego wiersza wejścia. Niedopuszczalne jest przesunięcie istniejących już punktów w inne miejsca.

Ograniczenia

1 ≤ N ≤ 100 000, 0 ≤ Xi ≤ 109.

Przykład

Wejście
---+--------------+---------+---------->
  155            158       160
2
161 157

Wyjście
---+---------+----+---------+----+----->
  155       157  158       160  161
Wejście
--+----+------------------>
3330 3340
1
3364

Wyjście
--+----+-----------+------>
3330 3340        3364
Wejście
+--------+>
0        9
3
2 7 4

Wyjście
+-+-+--+-+>
0 2 4  7 9