题目
Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004X. Your job is to determine S modulo 29 (the rest of the division of S by 29).
Take X = 1 for an example. The positive integer divisors of 20041 are 1, 2, 3, 4, 6, 12, 167, 334, 501, 668, 1002 and 2004. Therefore S = 4704 and S modulo 29 is equal to 6.
Input
The input consists of several test cases. Each test case contains a line with the integer X (1 <= X <= 10000000).
A test case of X = 0 indicates the end of input, and should not be processed.
Output
For each test case, in a separate line, please output the result of S modulo 29.
Sample Input
1
10000
0
Sample Output
6
10
积性函数
本题中,2004的约数和 S ( 200 4 x ) S(2004^x) S(2004x)就是一个积性函数
积性函数:
p = a × b ⇒ S ( p ) = S ( a ) × S ( b ) p = a \times b\Rightarrow S(p) = S(a) \times S(b) p=a×b⇒S(p)=S(a)×S(b)
p n = a n × b n ⇒ S ( p n ) = S ( a n ) × S ( b n ) p^n = a^n\times b^n\Rightarrow S(p^n) = S(a^n) \times S(b^n) pn=an×bn⇒S(pn)=S(an)×S(bn)
a和b均为质数
求因数和
S ( p n ) = S(p^n) = S(pn)=