kinderjoy

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

Cerință

După ce ai terminat ultimul sezon din serialul momentului, Stranger Things, te-ai regăsit într-un vid sufletesc din care e greu să ieși. Totuși, pentru a mai diminua durerea sfârșitului, te-ai gândit să imortalizezi pentru totdeauna acest serial prin obținerea figurinelor din ultima colecție Kinder Joy x Stranger Things, însă rapid ți-ai dat seama că este mai greu decât pare.

Dorind neapărat să ai setul complet, ai început să te documentezi și ai aflat că poți identifica figurinele după coduri. Astfel, se consideră un șir de NN elemente aa, unde fiecare element reprezintă un cod posibil de pe un produs Kinder Joy. De asemenea, sursele tale mai mult sau mai puțin legale îți spun că pentru fiecare personaj ii din cele QQ totale, codul cu cea mai mare probabilitate este minimul din intervalul [sti,dri][st_i, dr_i], unde stist_i și dridr_i reprezintă indici din șirul aa.

După ce ai reușit să termini toată colecția, un prieten îți spune că echipa HackTheArt oferă un stand personalizat pentru toate figurinele dacă reușești să găsești codul X corect, bazat pe șirul codurilor cu cele mai mari probabilități calculat anterior, denumit în continuare ansans. Codul X este definit drept al QQ-lea termen al șirului xx, dat de formula:

{E1=x1=ans1xi=ansiEi1pentru i2Ei=Ei1+xipentru i2\begin{cases} E_1 = x_1 = ans_1 \\ x_i = \text{ans}_i^{E_{i-1}} & \text{pentru } i \geq 2 \\ E_i = E_{i-1} + x_i & \text{pentru } i \geq 2 \end{cases}

Pentru că acest număr poate fi foarte mare, se cere afișarea lui modulo 109+710^9 + 7. Ce mai aștepți? Ai toate informațiile necesare să termini colecția ca un adevărat profesionist, dă-i drumul!

Date de intrare

Pe prima linie se găsește numărul NN, reprezentând numărul de coduri posibile de pe produsele Kinder Joy.
Pe a doua linie se găsesc elementele șirului aa, separate prin câte un spațiu.
Pe a treia linie se găsește numărul QQ, reprezentând numărul total de figurine.
Pe următoarele QQ linii se găsesc intervalele de forma [sti,dri][st_i, dr_i] cu semnificația din enunț, intervalul ii aflându-se pe linia i+3i + 3.

Date de ieșire

Pe ecran se va afișa codul X.

Restricții și precizări

  • 1N1061 \leq N \leq 10^6;
  • 1ai1091 \leq a_i \leq 10^9;
  • 1Q1051 \leq Q \leq 10^5;
  • 1stidriN1 \leq st_i \leq dr_i \leq N, cu 1iQ1 \leq i \leq Q.

Exemplul 1

stdin

5
3 5 2 4 1
2
1 2
2 3

stdout

8

Exemplul 2

stdin

4
10 2 5 3
3
2 2
3 4
2 3

stdout

2048

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