Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.
Problem hidden

LOGFIB - Fibonacci numbers

Let's define:
F(0)=0, F(1)=1.
F(j)=F(j-1)+F(j-2), for j>1

P(0)=0, P(1)=1, P(2)=2
P(j)=P(j-1)+2P(j-3), for j>2
Given an integer X and M, calculate the remainder of F(X) and P(X) after dividing them by the modulus M.

Input

First line: positive integer T - numer of test cases, T<20000.
Next T lines contain 2 integers each: Xi, and Mi.
Data constraints:
0 < Xi < +260
2 < Mi < +230

Output

For each of test cases, output the numbers F(Xi) mod Mi and P(Xi) mod Mi separated by a single space - one line per test case.

Example

Input:
6
1 23
4 56
7 89
123 456
7890 123
123456789012 34567890


Output:
1 1
3 4
13 20
2 204
55 103
29441184 24923102


Added by:Robert Rychcicki
Date:2009-01-10
Time limit:1.572s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.