Problem description


Podciągi
(F)
Limit pamięci: 1024 MB
Limit czasu: 3.00 s

Janek od zawsze lubił liczby, a w szczególności permutacje. Ostatnio zainteresowały go ciekawe własności pewnych ciągów. Dostał do analizy permutację P długości n, czyli ciąg, w którym każda liczba od 1 do n występuje dokładnie raz.

Janek chciałby policzyć, ile istnieje niepustych podciągów (niekoniecznie spójnych) tej permutacji (czyli takich ciągów, które powstają przez usunięcie dowolnych elementów, ale bez zmiany kolejności), które spełniają następujący warunek:

Dla każdego kolejnego elementu podciągu x1, x2, …, xk (gdzie k ≥ 1), zachodzi: - (xi + 1 mod  xi = 1) dla 1 ≤ i < k

Janek szybko zauważył, że takich podciągów może być bardzo dużo, dlatego chciałby poznać tylko ich liczbę modulo 109 + 7.

Twoim zadaniem jest pomóc mu w obliczeniu odpowiedzi.

Wejście

W pierwszym wierszu znajduje się jedna liczba całkowita n — długość permutacji.
W drugim wierszu znajduje się n liczb całkowitych P1, P2, …, Pn — permutacja liczb od 1 do n.

Wyjście

Wypisz jedną liczbę — liczbę podciągów spełniających warunek (xi + 1 mod  xi = 1), modulo 109 + 7.

Ograniczenia

  • 1 ≤ n ≤ 106
  • P jest permutacją liczb od 1 do n

Przykład

Wejście Wyjście Wyjaśnienie
5
3 2 1 4 5
11

Podciągi spełniające warunek to: {3, 1}, {2, 1}, {3, 4}, {3, 4, 5}, {2, 5}, {4, 5}, oraz podciągi jednoelementowe, które zawsze są poprawne (czyli {3}, {2}, {1}, {4}, {5})
W sumie: 11 podciągów.