Manthan, Codefest 16
H
Fibonacci-ish II
Codeforces
3100
原题
← G→
翻译中…

Yash is finally tired of computing the length of the longest Fibonacci-ish sequence. He now plays around with more complex things such as Fibonacci-ish potentials.

翻译中…

Fibonacci-ish potential of an array $*a*_{*i*}$ is computed as follows:

翻译中…
  1. Remove all elements $*j*$ if there exists $*i* < *j*$ such that $*a*_{*i*} = *a*_{*j*}$.
  2. Sort the remaining elements in ascending order, i.e. $*a*_{1} < *a*_{2} < ... < *a*_{*n*}$.
  3. Compute the potential as $*P*(*a*) = *a*_{1}·*F*_{1} + *a*_{2}·*F*_{2} + ... + *a*_{*n*}·*F*_{*n*}$, where $*F*_{*i*}$ is the $*i*$-th Fibonacci number (see notes for clarification).
翻译中…

You are given an array $*a*_{*i*}$ of length $*n*$ and $*q*$ ranges from $*l*_{*j*}$ to $*r*_{*j*}$. For each range $*j*$ you have to compute the Fibonacci-ish potential of the array $*b*_{*i*}$, composed using all elements of $*a*_{*i*}$ from $*l*_{*j*}$ to $*r*_{*j*}$ inclusive. Find these potentials modulo $*m*$.

翻译中…

Input

翻译中…

The first line of the input contains integers of $*n*$ and $*m*$ ($1 ≤ *n*, *m* ≤ 30 000$) — the length of the initial array and the modulo, respectively.

翻译中…

The next line contains $*n*$ integers $*a*_{*i*}$ ($0 ≤ *a*_{*i*} ≤ 10^{9}$) — elements of the array.

翻译中…

Then follow the number of ranges $*q*$ ($1 ≤ *q* ≤ 30 000$).

翻译中…

Last $*q*$ lines contain pairs of indices $*l*_{*i*}$ and $*r*_{*i*}$ ($1 ≤ *l*_{*i*} ≤ *r*_{*i*} ≤ *n*$) — ranges to compute Fibonacci-ish potentials.

翻译中…

Output

翻译中…

Print $*q*$ lines, $*i*$-th of them must contain the Fibonacci-ish potential of the $*i*$-th range modulo $*m*$.

翻译中…

Note

翻译中…

For the purpose of this problem define Fibonacci numbers as follows:

翻译中…
  1. $*F*_{1} = *F*_{2} = 1$.
  2. $*F*_{*n*} = *F*_{*n* - 1} + *F*_{*n* - 2}$ for each $*n* > 2$.
翻译中…

In the first query, the subarray [1,2,1] can be formed using the minimal set {1,2}. Thus, the potential of this subarray is 11+21=3.

翻译中…

样例

Input #1
5 10
2 1 2 1 2
2
2 4
4 5
Output #1
3
3
InputCopy OutputCopy
题目信息
题号
633H
时间限制
5 s
内存限制
512 MB
标签
数据结构
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。