Medie

Time limit: 1s Memory limit: 64MB Input: Output:

Cerință

Se dă un șir AA de lungime NN.
Putem face următoarea operație de câte ori dorim:

  • Alegem un ii, 1<i<N1 < i < N, și setăm AiA_i pe media vecinilor (Ai1A_{i-1} și Ai+1A_{i+1})

    Care este suma maximă a șirului care se poate obține?

Date de intrare

Pe prima linie se găsește NN. Pe următoarea linie se găsește șirul AA.

Date de ieșire

Suma maximă modulo 109+710^9+7.

Restricții și precizări

  • 1N,Ai1061 \leq N, A_i \leq 10^6;
  • Pentru a scrie rezultatul modulo 109+710^9+7 trebuie privit ca o fracție pq\frac{p}{q} care este echivalentă cu pq1p \cdot q^{-1}.
  • În eventualitatea în care suma poate sa crească la infinit, se cere să se afișeze primul număr rațional pe care suma nu îl poate atinge.
  • Se poate demonstra că un astfel de număr există.

Exemplul 1

stdin

3
3 1 5

stdout

12

Explicație

Alegem i=2i=2 și rezultă șirul 3,4,5{3,4,5} de sumă 1212.

Exemplul 2

stdin

3
1 1 2

stdout

500000008

Explicație

Șirul rezultat este 1,1.5,2{1,1.5,2} de sumă 4.54.5 care modulo 109+710^9+7 este 500000008500000008.

Log in or sign up to be able to send submissions!