NAJ0001 - Divisible Number Sum

Hazzat is a new guys in computer science. Now he read in 3rd semester. Recently he completed the course data structure. After finished data structure course he can realize that those are not enough for his. Every day he fall in a new (data structure) problem and want solve it, but those problem he can’t solve using his know data structure. He want to establish new data structure. But he always failed to establish it. Now help Hazzat to establish a new data structure following problems.

You will be given an array A of N integers. You need to answer M queries.

Each query is of the form V x y.

For each query, find the sum of set S which is a sub set of array A index x to y and fully divisible by V.

That means find sum of set S (subset of A), where A[i] is included in S if x ≤ i ≤ y and A[i] % V == 0.

Input

First line consists of a number T (1 ≤ T ≤ 5) test cases.

For each case given two integer number N M (1 ≤ N ≤ 10^5, 1 ≤ M ≤ 2*10^5)

Next line has N integers representing the elements of array A. (1 ≤ A[] ≤ 10^6)

M lines follow, one per query.

Each line has 3 integers V, x and y (1 ≤ V ≤ 1000, 1 ≤ x ≤ y ≤ N)

Output

For each case print case number and query answer.

Write a blank line between two cases.

Sample

Input
2
5 2
1 2 3 4 6
2 1 5
5 1 4
5 2
2 3 5 3 7
3 2 4
5 1 5

Output
Case #1
12
0

Case #2
6
5

Hints:

Query 1: in array index 1 to 5 the set S is {2, 4, 6} because those are fully divisible by 2, so the sum is 12.

Query 2: in array index 1 to 4 the set S is { } because there are not any number which fully divisible by 5, so the sum is 0.

Data set is so huge. Use faster I/O


Added by:Najmuzzaman
Date:2014-10-15
Time limit:0.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64

hide comments
2015-04-20 13:59:14 [Lakshman]
AC nice one.

Last edit: 2015-04-20 16:40:05
2014-12-15 08:59:08 mjh
any hint for tle?
2014-11-06 19:28:33 (Tjandra Satria Gunawan)(曾毅昆)
Seems that SPOJ has bug on counting peak memory usage. It print final memory usage only, it not counting memory usage that have been deallocated before my program terminate.
--ans(Francky)--> It is a known thing ; also appears with pyramid.

Last edit: 2014-11-06 20:32:15
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.