#include<iostream>
#include<cstdio>
#include<math.h>
#include<algorithm>
#include<string>
#include<string.h>
#include<ctype.h>
#define mod 1000000007
#define ll long long
#define ull unsigned long long
using namespace std;
int main()
{
int temp,t,n,s[100005],count,a,b;
cin>>t;
while(t--)
{
count=0;
cin>>n>>a>>b;
for(int i=0;i<n;i++)
{
cin>>s[i];
if(s[i]%a==0 || s[i]%b==0)
count++;
else
{
if(s[i]<min(a,b))
continue;
temp=s[i];
while(temp>0)
{
temp=temp-a;
printf("temp=%d, b=%d, temp%%b=%d\n", temp, b, temp%b); // problem is here
if(temp%b==0)
{
count++;
break;
}
}
/*
** this part is redundant **
Solving once for whether ax + by = s[i] is enough
if(temp%b==0)
continue;
temp=s[i];
while(temp>0)
{
temp=temp-b;
if(temp%a==0)
{
count++;
break;
}
}
*/
}
}
cout<<count<<" "<<n-count<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8bWF0aC5oPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPGN0eXBlLmg+CgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3IAojZGVmaW5lIGxsIGxvbmcgbG9uZyAKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nIAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKeyAgCiAgICBpbnQgdGVtcCx0LG4sc1sxMDAwMDVdLGNvdW50LGEsYjsKICAgIAogICAgY2luPj50OwogICAgCiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgY291bnQ9MDsKICAgICAgICBjaW4+Pm4+PmE+PmI7CiAgICAgICAgCiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+c1tpXTsKICAgICAgICAgICAgaWYoc1tpXSVhPT0wIHx8IHNbaV0lYj09MCkKICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzW2ldPG1pbihhLGIpKQogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB0ZW1wPXNbaV07CiAgICAgICAgICAgICAgICB3aGlsZSh0ZW1wPjApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdGVtcD10ZW1wLWE7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJ0ZW1wPSVkLCBiPSVkLCB0ZW1wJSViPSVkXG4iLCB0ZW1wLCBiLCB0ZW1wJWIpOwkvLyBwcm9ibGVtIGlzIGhlcmUKICAgICAgICAgICAgICAgICAgICBpZih0ZW1wJWI9PTApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgKiogdGhpcyBwYXJ0IGlzIHJlZHVuZGFudCAqKgogICAgICAgICAgICAgICAgU29sdmluZyBvbmNlIGZvciB3aGV0aGVyIGF4ICsgYnkgPSBzW2ldIGlzIGVub3VnaAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZih0ZW1wJWI9PTApCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIHRlbXA9c1tpXTsKICAgICAgICAgICAgICAgIHdoaWxlKHRlbXA+MCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB0ZW1wPXRlbXAtYjsKICAgICAgICAgICAgICAgICAgICBpZih0ZW1wJWE9PTApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAgY291dDw8Y291bnQ8PCIgIjw8bi1jb3VudDw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9