Krzyś wydrukował ostatnio dużo kartek z opisami różnych trudnych algorytmów. Każda z kartek ma przypisany swój numer będący liczbą całkowitą oznaczający algorytm, który na niej się znajduje. Krzyś postanowił pójśc do łóżka z tymi kartkami, aby włożyć je pod poduszkę i liczyć na to że wszystkie opanuje podczas drzemki. Okazało się jednak, że w drodze od drukarki do łóżka (która jest linią prostą) pogubił wszystkie kartki oprócz jednej. Rozłożyły się one dokładnie w odległości 1 kroku od poprzedniej, to znaczy pierwszą doniósł do łóżka, druga leży jeden krok od łóżka, trzecia dwa kroki, itd...
Krzyś w porę się zorientował, że kartkę z niektórymi algorytmami wydrukował w kilku kopiach, więc być może nie będzie musiał iść bardzo daleko, żeby zebrać wszystkie unikalne algorytmy (część kartek po prostu zostawi na ziemi).
Krzyś nie chce zrobić za dużo kroków, więc teraz zastanawia się ile minimalnie musi zrobić kroków, aby jego wiedza na tym nie ucierpiała, tzn. jeżeli jakaś kartka zostanie na podłodze, to chciałby mieć jakiś inny wydruk tego algorytmu w ręku. Czy pomógłbyś mu znaleźć odpowiedź na to pytanie?

Prykładowo, jeśli Krzyś wydrukował 5 kartek z algorytmami które ułożyły się w następujący sposób (K to pozycja łóżka Krzysia):

K,2 2 1 0 1

to Krzyś musi minimalnie zrobić 3 kroki aby zebrać opisy wszystkich algorytmów które wydrukował. W ciągu tych kroków zbierze algorytmy o numerach [2, 2, 1, 0]. Na podłodze zostanie tylko ostatnia kartka z algorytmem 1, jednak Krzyś zebrał taką samą już wcześniej, więc nie przejmuje się tym że będzie ona tam leżeć.

Input:

W pierwszym wierszu standardowego wejścia znajduje się liczba 1 ≤ N ≤ 1,000,000 oznaczająca ile kartek z algorytmami wydrukował Krzyś.
W kolejnych N wierszach znajduje się po jednej liczbie całkowitej 0 ≤ A[i] ≤ 1,000,000,000 oznaczającej numer algorytmu znajdującego się na i-tej (dla 0 ≤ i < N) kartce. i-ta kartka (tj. kartka z i + 1 wiersza) znajduje się i kroków od łóżka.

Output:

Na wyjście należy wypisać jedną liczbę oznaczającą minimalną liczbę kroków, które Krzyś musi zrobić od łóżka, żeby zebrać wszystkie kartki z algorytmami.

Przykładowo dla danych:

5 2 2 1 0 1

funkcja powinna zwrócić 3.

Copyright 2009–2020 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.