DIVSUM - Divisor Summation


Given a natural number n (1 ≤ n ≤ 500000), please output the summation of all its proper divisors.

Definition: A proper divisor of a natural number is the divisor that is strictly less than the number.

e.g. number 20 has 5 proper divisors: 1, 2, 4, 5, 10, and the divisor summation is: 1 + 2 + 4 + 5 + 10 = 22.

Input

An integer stating the number of test cases (equal to about 200000), and that many lines follow, each containing one integer between 1 and 500000 inclusive.

Output

One integer each line: the divisor summation of the integer given respectively.

Example

Sample Input:
3
2
10
20

Sample Output:
1
8
22

Warning: large Input/Output data, be careful with certain languages


hide comments
trantheba0: 2021-06-15 06:48:30

nlogn trick without any factorization. Time: 0.04

Last edit: 2021-06-15 06:50:08
hemang_ranga: 2021-04-26 17:16:29

how to check the code

everythingra: 2021-03-14 16:28:02

time limit exceeded, what is it? and what might be the issue here?

suru49: 2021-02-11 15:53:23

If you got WA...then try for n=1 *_*

vraj1994: 2021-02-08 13:53:55

Getting runtime error don't know why please help
https://www.spoj.com/submit/DIVSUM/id=27407764 -- code link written in java
Got it my bad..

Last edit: 2021-02-08 14:01:56
anksjain: 2020-12-01 16:38:04

0.33ms use primefactorization trick

hasan001: 2020-11-02 16:47:41

got wrong for \n .. lol

panvalkar: 2020-10-07 13:41:44

We cannot use i<=sqrt(num).
if we use num=10 then sqrt(10)<4. So the answer will be 3 which is incorrect.

hafiz_: 2020-07-18 17:23:26

AC. Time: 0.50ms. Lang.: C++
Used: sieve of eratosthenes, binary exponentiation, sum of divisors formula (after prime factorization).

sohelr360: 2020-07-15 17:35:36

At least AC.
After eating 6 WA. LOL.
0.74 MS


Added by:Neal Zane
Date:2004-06-10
Time limit:3s
Source limit:5000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:Neal Zane