Donat un conjunt de números i una llista de preguntes, responeu-les eficientment.
Les preguntes són del tipus: donats dos números calculeu la suma de tots els elements amb , mòdul . Després de cada pregunta, afegiu el resultat a la llista, de manera que les següents preguntes també consideraran els anteriors resultats.
Per exemple, suposem que tenim els números i ens demanen calcular la suma de . El resultat és , i la nostre llista passa a ser . Si ara ens demanen calcular la suma de el resultat seria . En cas que ara ens demanessin la suma el resultat seria i, per tant, la nostra llista passaria a ser . Si ens tornessin a demanar a suma ara el resultat seria i la llista seria .
L’entrada consisteix en diversos casos, hi ha com a molt casos. Cada cas comença amb una línia amb dos enters - el nombre d’elements del conjunt i el nombre de preguntes. A continuació hi ha una línia amb enters amb - els elements del conjunt.
Finalment apareixen línies, una per cada pregunta. A cada línia hi ha dos enters - els extrems de l’interval del qual es vol calcular la suma.
La suma de les i la suma de les de tots els casos són ambdues menors a .
Per a cada pregunta, calculeu la suma dels elements tal que mòdul , imprimint una resposta per línia.
Input
2 5 1 2 1 2 1 3 2 2 1 2 4 7 2 3 4 1000000000006 0 3 0 1000000000007 0 3
Output
3 6 2 5 11 0 3 3