We have the following matrix 
1 0 0 0 0 0 ...
2 2 0 0 0 0 ...
3 3 3 0 0 0 ...
4 4 4 4 0 0 ... 
5 5 5 5 5 0 ... 
6 6 6 6 6 6 ...
and so on ... 

The matrix is created as follows, first row contains one 1 and rest 0's, second row contains 2 twos and rest zeros, third row contains 3 threes and so on.

Given R and C, calculate the count of even and odd numbers in sub matrix [R,C] .
0 is neither odd nor even and 1 based indexing is used i.e. matrix [1,1]=1 

Input:
First line contains number of test cases T.Each test case contains two integers R and C.

Output
For each test case print count of even and odd numbers in sub matrix [R,C].

Constraints:
1 ≤ T ≤ 100000  
1 ≤ R ≤ 100000 
1 ≤ C ≤ 100000  

SAMPLE INPUT
3
2 3
6 7
10 10

SAMPLE OUTPUT
2 1
12 9
30 25
T=input()
while(T):
	T-=1
	[r,c]=map(int,raw_input().split())
	if(r<=c):
		if(r%2):
			odd_ans=(((r+1)/2)*(1+r))/2;
			even_ans=((r/2)*(1+r))/2;
		else:
			odd_ans=((r/2)*(r))/2;
			even_ans=((r/2)*(2+r))/2;
	else:
		if(c%2):
			odd_ans=(((c+1)/2)*(1+c))/2;
			even_ans=((c/2)*(1+c))/2;
				
			if((r-c)%2):
				even_ans+=(((r-c+1)/2)*c);
				odd_ans+=(((r-c)/2)*c);
			else:
				even_ans+=(((r-c)/2)*c);
				odd_ans+=(((r-c)/2)*c);
		else:
			odd_ans=((c/2)*(c))/2;
			even_ans=((c/2)*(2+c))/2;
				
			if((r-c)%2):
				even_ans+=(((r-c)/2)*c);
				odd_ans+=(((r-c+1)/2)*c);
				
			else:
				even_ans+=(((r-c)/2)*c);
				odd_ans+=(((r-c)/2)*c);
				
	print even_ans,odd_ans