Stereolitografia (SLA) to technika druku 3D polegająca na utwardzaniu ciekłego materiału w stały obiekt warstwa po warstwie za pomocą lasera. W tym zadaniu rozważymy dwuwymiarowe uproszczenie techniki SLA, w którym projekt drukowanego obiektu można przedstawić jako prostokątną siatkę znaków # oraz ., gdzie # oznacza komórkę siatki zajętą przez obiekt, a . oznacza pustą przestrzeń. Przykładowo, oto projekt o wymiarach $4 \times 8$:
..#..... ..#..#.. #.#.##.. #.#####.
Projekt nie musi składać się z jednego spójnego kawałka, ale z wyjątkiem komórek # w dolnym wierszu projektu, każda komórka # musi być podparta przez inną komórkę # znajdującą się bezpośrednio pod nią.
Drukowanie obiektu metodą SLA odbywa się warstwa po warstwie, począwszy od dolnego wiersza. Najpierw wszystkie komórki w wierszu są zalewane ciekłą żywicą światłoczułą. Następnie laser omiata wiersz, utwardzając żywicę we wszystkich komórkach # w ciało stałe i pomijając wszystkie komórki .. Potem pozostała ciecz na lewo od skrajnie lewego znaku # oraz na prawo od skrajnie prawego znaku # odpływa. Pozostała ciecz zostaje uwięziona. (Jeśli w wierszu nie ma żadnych komórek # — co może się zdarzyć tylko w wierszach blisko góry projektu, po całkowitym wydrukowaniu obiektu — cała ciecz odpływa z wiersza.) Proces ten powtarza się następnie dla każdego kolejnego wiersza. Dla powyższego projektu, po zakończeniu drukowania, żywica pozostaje uwięziona we wszystkich komórkach oznaczonych poniżej znakiem ~:
..#..... ..#~~#.. #~#~##.. #~#####.
Podczas ręcznego odsysania pozostałej żywicy z obiektu zaczynasz się zastanawiać: jak dużą część oryginalnego projektu można odtworzyć, wiedząc jedynie, ile ciekłej żywicy pozostało w każdym wierszu projektu po wydrukowaniu? Dla powyższego projektu ilość pozostałej żywicy w poszczególnych wierszach (zaczynając od góry projektu) wynosi $0, 2, 2, 1$. Inne projekty również mają taki sam „odcisk palca” pozostałej żywicy; na przykład:
.... #..# #..# #.##
Mając daną listę określającą, ile komórek ciekłej żywicy pozostało w każdym wierszu (zaczynając od górnego wiersza), wypisz szerokość najwęższego projektu obiektu, którego wiersze zawierałyby takie ilości ciekłej żywicy po wydrukowaniu. Jeśli taki projekt nie istnieje, wypisz impossible.
Wejście
Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą $N$ ($1 \le N \le 10^5$), oznaczającą liczbę wierszy w projekcie obiektu. Dalej następuje $N$ wierszy, z których każdy zawiera jedną liczbę całkowitą $x$ ($0 \le x \le 10^9$), oznaczającą liczbę komórek pozostałej ciekłej żywicy w każdym wierszu pożądanego projektu obiektu (w kolejności od góry do dołu).
Co najmniej jeden wiersz będzie zawierał co najmniej jedną komórkę pozostałej ciekłej żywicy.
Wyjście
Wypisz szerokość (liczbę kolumn) najwęższego projektu obiektu, w którym liczba komórek pozostałej ciekłej żywicy w każdym wierszu zgadza się z danymi wejściowymi. („Najwęższy” oznacza mający najmniejszą możliwą liczbę kolumn). Jeśli taki projekt nie istnieje, wypisz zamiast tego impossible.
Przykład
Wejście 1
4 0 2 2 1
Wyjście 1
4
Wejście 2
3 4 0 4
Wyjście 2
11
Uwagi
Pierwszy przykład wejściowy odpowiada przykładowi opisanemu powyżej. Jednym z najwęższych możliwych projektów dla drugiego przykładu wejściowego jest:
#....#..... ######..... ######....#