F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Beijing 2008

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)
Total Submission(s): 1692    Accepted Submission(s): 737


Problem Description
As we all know, the next Olympic Games will be held in Beijing in 2008. So the year 2008 seems a little special somehow. You are looking forward to it, too, aren't you? Unfortunately there still are months to go. Take it easy. Luckily you meet me. I have a problem for you to solve. Enjoy your time.

Now given a positive integer N, get the sum S of all positive integer divisors of 2008N. Oh no, the result may be much larger than you can think. But it is OK to determine the rest of the division of S by K. The result is kept as M.

Pay attention! M is not the answer we want. If you can get 2008M, that will be wonderful. If it is larger than K, leave it modulo K to the output. See the example for N = 1£¬K = 10000: The positive integer divisors of 20081 are 1¡¢2¡¢4¡¢8¡¢251¡¢502¡¢1004¡¢2008£¬S = 3780, M = 3780, 2008M % K = 5776.

 

Input
The input consists of several test cases. Each test case contains a line with two integers N and K (1 ¡Ü N ¡Ü 10000000, 500 ¡Ü K ¡Ü 10000). N = K = 0 ends the input file and should not be processed.
 

Output
For each test case, in a separate line, please output the result.
 

Sample Input
1 10000 0 0
 

Sample Output
5776
 

Author
lxlcrystal@TJU
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-23 17:36:49, Gzip enabled