EASYFACT - Easy Factorials


Finding factorials are easy but they become large quickly that is why Lucky hate factorials. Today he have another task related to factorials.

For a given number n how many ways factorial n can expressed as a sum of two or more consecutive positive integers. Can you help lucky ?

Input

First line contains single integer T < 5001, next T lines followed by an integer N<10^8 and M<10^9.

where M is a prime number.

Output

Print the desired result mod M.

Example

Input:
1
3 7

Output:
1

Explanation:: 3! = 1+2+3 only one way.

Speed Adicts My best time for all cases is 1.57s. Best of Luck have fun:) .


hide comments
goyal: 2015-05-27 20:24:11

give some other test cases

The next big thing: 2015-05-25 06:56:26

Nice problem.....got ac, but still 4 times slower than you....any tips for speeding up?

--(Lakshman)--> My algorithm is different from others. Fast p***e computation, Fast I/O, less memory usage.

Last edit: 2015-05-25 16:09:30
tech_phobic: 2015-05-20 18:22:51

The final answer has to be taken mod with M ?

--Lakshman-->Yes.

Last edit: 2015-05-20 21:10:40
simararorarox9: 2015-05-20 02:06:26

Awesome problem. Big Like. (Y)

--Lakshman-->Thanks

Last edit: 2015-05-20 14:12:03
simararorarox9: 2015-05-20 01:00:32

Hey [Lakshman] Can you say whether my approach is correct or not. ?

Last edit: 2015-05-20 02:06:58
saksham agrawal: 2015-05-17 06:17:54

Why are we entering M??

--Lakshman-->Because answer will not fit into 64 bit integer.

Last edit: 2015-05-17 08:23:20
Jan Kowalski: 2015-05-14 13:30:49

Could You perphaps provide correct result for n=8 ?

--Lakshman->No other test case will be provided.

Last edit: 2015-05-14 14:04:49
[Lakshman]: 2015-05-14 12:10:41

@RIVU DAS I can't give you the complexity details because it will give some hint of solution.

Last edit: 2015-05-14 16:37:33
RIVU DAS: 2015-05-14 11:00:02

Expected complexity for this question??


Added by:[Lakshman]
Date:2015-05-13
Time limit:5s-10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 JS-MONKEY