#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 22;
int a[N];
int f[1 << N];
int getw(int x)
{
int cnt = 0;
while (x)
{
cnt++;
x -= (x & -x);
}
return a[cnt];
}
signed main()
{
int t_c;
cin >> t_c;
while (t_c--)
{
int n;
cin >> n;
for (int i = 1; i <= n; i ++)
a[i - 1] = 0;
for (int i = 1; i <= n; i++)
for (int j = 0; j < n; j++)
{
int x;
cin >> x;
a[i - 1] |= (x << j);
}
for (int i = 0; i < (1 << n); i ++)
f[i] = 0;
f[0] = 1;
for (int mask = 0; mask < (1 << n); mask++)
for (int i = getw(mask) & ~mask; i; i -= i & -i)
f[mask | (i & -i)] += f[mask];
cout << f[(1 << n) - 1] << '\n';
}
return 0;
}