#include<bits/stdc++.h>
#define I using
#define love namespace
#define me std
I love me;
typedef long long ll;
typedef double db;
#define re register int
#define ce continue
#define pf printf
#define sf scanf
#define inf 1e9+10
#define lim 100010
#define mod 998244353
#define eps 1e-8
int gcd(int x,int y){return y?gcd(x,x%y):x;}
inline int rd(){
int x=0,f=1;char ch=getchar();
while (ch<'0' || ch>'9'){if (ch=='-')f=-1;ch=getchar();}
while ('0'<=ch && ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
int T;
int m,n;
db x[20],y[20];
int line[20][20];
int fir_empt[1<<20];
int dp[1<<20];
bool same(db a,db b){
if(fabs(a-b)<=eps){
return true;
}
return false;
}
void pwx(db &x,db &y,db a1,db b1,db c1,db a2,db b2,db c2){
y=(a1*c2-a2*c1)/(a1*b2-a2*b1);
x=(c1-b1*y)/a1;
}
void deals(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(same(x[i],x[j]))ce;
db l_x,l_y;
pwx(l_x,l_y,x[i]*x[i],x[i],y[i],x[j]*x[j],x[j],y[j]);
if(l_x>=-eps)ce;
for(int k=1;k<=n;k++)
if(fabs(l_x*x[k]*x[k]+l_y*x[k]-y[k])<eps) line[i][j]|=(1<<(k-1));
}
}
}
void csh(){
memset(x,-eps,sizeof x);
memset(y,-eps,sizeof y);
memset(dp,inf,sizeof dp);
memset(line,0,sizeof line);
dp[0]=0;
cin>>n>>m;
for(re i=1;i<=n;i++)cin>>x[i]>>y[i];
}
signed main(){
ios_base::sync_with_stdio(false);cin.tie(0);
for(int i=0;i<(1<<18);i++){
int j=1;
for(;j<=18&&i&(1<<(j-1));j++);
fir_empt[i]=j;
}
cin>>T;
while(T--){
csh();
deals();
for(int i=0;i<(1<<n);i++){
int j=fir_empt[i];
dp[i|(1<<(j-1))]=min(dp[i|(i<<(j-1))],dp[i]+1);
for(int k=1;k<=n;k++)
dp[i|line[j][k]]=min(dp[i|line[j][k]],dp[i]+1);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)cout<<line[i][j]<<" ";
cout<<endl;
}
}
return 0;
}