To test a new cloud computing service, you decide to write a program that generates the Pascal Triangle in a distributed fashion.
You wish to estimate the amount of network traffic that would be expected between nodes. Since the nodes exchange the computed values in base 10, you want to know the number of digits in the base-10 representation of nth row and rth column of Pascal's triangle. Since your program internally represents these in base-2, you also wish to know the number of digits in the base-2 representation to get an idea of the memory usage involved.

Input Format
The first line contains a single integer t, followed by t lines each containing two numbers that indicate the row and column in Pascal's triangle respectively.

Output Format
For each test case output a single line containing two numbers each, the number of digits in the base 10 representation followed by the number of digits in base 2.

Example
Input:


20
5 2
3 3
5 4
2 2
4 1
5 5
2 1
4 4
3 1
3 0
1 1
2 0
3 2
5 3
4 2
4 0
5 1
4 3
1 0
5 0


Output:

2 4
1 1
1 3
1 1
1 3
1 1
1 2
1 1
1 2
1 1
1 1
1 1
1 2
2 4
1 3
1 1
1 3
1 3
1 1
1 1
#BISMILLAH
#NCRAAS
import operator as op
import math

T=raw_input()
T=int(T)
while T > 0 :
	s=raw_input().split(' ')
	n=int(s[0])
	m=int(s[1])
	value = math.factorial(n)/math.factorial(m)/math.factorial(n-m)
	print int(math.log(value,10))+1,int(math.log(value,2))+1
	T-=1