#include <iostream>
using namespace std;
int main()
{
long int cases,neuron_num,minx,maxx,*w,*b,c_even=0,c_odd=0,*prod;
cin>>cases;
for(int i=0;i<cases;i++)
{
c_even=c_odd=0;
cin>>neuron_num>>minx>>maxx;
int x=minx-1;
w=new long int[neuron_num];
b=new long int[neuron_num];
prod=new long int[neuron_num];
for(int j=0;j<neuron_num;j++)
{
cin>>w[j]>>b[j];
}
int val0=0;
int val1=1;
for(int j=0;j<neuron_num;j++)
{
val0=w[j]*val0+b[j];
}
for(int j=0;j<neuron_num;j++)
{
val1=w[j]*val1+b[j];
}
int nodd=(maxx-minx+1)/2;
int neven=(maxx-minx+1)/2;
if((maxx-minx+1)%2==1){
if(minx%2==0) neven++;
else nodd++;
}
if(val0%2==0){
c_even+=neven;
}
if(val1%2==0){
c_even+=nodd;
}
c_odd=maxx-minx+1-c_even;
cout<<c_even<<" "<<c_odd<<'\n';
delete []prod;
delete []b;
delete []w;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgbG9uZyBpbnQgY2FzZXMsbmV1cm9uX251bSxtaW54LG1heHgsKncsKmIsY19ldmVuPTAsY19vZGQ9MCwqcHJvZDsKICAgIGNpbj4+Y2FzZXM7CiAgICBmb3IoaW50IGk9MDtpPGNhc2VzO2krKykKICAgIHsKICAgICAgICBjX2V2ZW49Y19vZGQ9MDsKICAgICAgICBjaW4+Pm5ldXJvbl9udW0+Pm1pbng+Pm1heHg7CiAgICAgICAgaW50IHg9bWlueC0xOwogICAgICAgIHc9bmV3IGxvbmcgaW50W25ldXJvbl9udW1dOwogICAgICAgIGI9bmV3IGxvbmcgaW50W25ldXJvbl9udW1dOwogICAgICAgIHByb2Q9bmV3IGxvbmcgaW50W25ldXJvbl9udW1dOwogICAgICAgIGZvcihpbnQgaj0wO2o8bmV1cm9uX251bTtqKyspCiAgICAgICAgewogICAgICAgICAgICBjaW4+Pndbal0+PmJbal07CiAgICAgICAgfQoKCgkJaW50IHZhbDA9MDsKCQlpbnQgdmFsMT0xOwoJCQogICAgICAgIGZvcihpbnQgaj0wO2o8bmV1cm9uX251bTtqKyspCiAgICAgICAgewogICAgICAgICAgICAgICAgdmFsMD13W2pdKnZhbDArYltqXTsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBqPTA7ajxuZXVyb25fbnVtO2orKykKICAgICAgICB7CiAgICAgICAgICAgICAgICB2YWwxPXdbal0qdmFsMStiW2pdOwogICAgICAgIH0KCgogICAgICAgIGludCBub2RkPShtYXh4LW1pbngrMSkvMjsKICAgICAgICBpbnQgbmV2ZW49KG1heHgtbWlueCsxKS8yOwogICAgICAgIGlmKChtYXh4LW1pbngrMSklMj09MSl7CiAgICAgICAgCWlmKG1pbnglMj09MCkJbmV2ZW4rKzsKICAgICAgICAJZWxzZQkJCW5vZGQrKzsKCQl9CgkJaWYodmFsMCUyPT0wKXsKCQkJY19ldmVuKz1uZXZlbjsJCgkJfQoJCWlmKHZhbDElMj09MCl7CgkJCWNfZXZlbis9bm9kZDsKCQl9CgkJY19vZGQ9bWF4eC1taW54KzEtY19ldmVuOwogICAgICAgIGNvdXQ8PGNfZXZlbjw8IiAiPDxjX29kZDw8J1xuJzsKICAgICAgICBkZWxldGUgW11wcm9kOwogICAgICAgIGRlbGV0ZSBbXWI7CiAgICAgICAgZGVsZXRlIFtddzsKICAgIH0KfQ==