accode:
#include <stdio.h>
#include <map>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1e5 +10;
map<pair<int, int>, int> mp;
int num[maxn];
int gcd(int a, int b) //a和b的最大公约数
{
if(b == 0)
return a;
else
gcd(b, a % b);
}
int main()
{
int T, n, x1, y1, x2, y2;
scanf("%d", &T);
while(T--)
{
mp.clear();
memset(num, 0, sizeof(num));
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
scanf("%d%d%d%d", &x1, &y1, & x2, &y2);
x1 -= x2;
y1 -= y2;
int k = gcd(x1, y1);
x1 /= k;
y1 /= k;
mp[make_pair(x1, y1)]++;
}
for(auto i : mp)
for(int j = 1; j <= i.second; j++)
num[j]++;
for(int i = 1, j = 1; i <= n; i++)
{
if(!num[j]) j++;
num[j]--;
printf("%d\n", i - j);
}
}
return 0;
}