#include <iostream>
using namespace std;
int whiteans=0,blueans=0;
int check(int a[100][100], int startx,int starty, int endx, int endy){
int white=0,blue=0;
for(int i=startx;i<=endx;i++){
for(int j=starty;j<=endy;j++){
if(a[i][j]==1){
++blue;
}else{
++white;
}
}
}
if(white==0){
return 1;
}
if(blue==0){
return 2;
}
return 3;
}
void whiteandblue(int a[100][100], int n,int startx, int starty, int endx, int endy){
int t = check(a,startx,starty,endx,endy);
if(t==1){
blueans++;return;
}else if(t==2){
whiteans++;return;
}
whiteandblue(a,n/2,startx,starty,startx+n/2,starty+n/2);
whiteandblue(a,n/2,startx,(starty+n/2)+1,startx+n/2,endy);
whiteandblue(a,n/2,(startx+n/2)+1,starty,endx,starty+n/2);
whiteandblue(a,n/2,(startx+n/2)+1,(starty+n/2)+1,endx,endy);
return;
}
int main() {
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
ios_base::sync_with_stdio(false);
int t;
cin>>t;
while(t--){
whiteans=0,blueans=0;
int n;
cin>>n;
int a[100][100];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
}
}
whiteandblue(a,n-1,0,0,n-1,n-1);
cout<<whiteans<<" "<<blueans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgd2hpdGVhbnM9MCxibHVlYW5zPTA7CgppbnQgY2hlY2soaW50IGFbMTAwXVsxMDBdLCBpbnQgc3RhcnR4LGludCBzdGFydHksIGludCBlbmR4LCBpbnQgZW5keSl7CgoJaW50IHdoaXRlPTAsYmx1ZT0wOwoJZm9yKGludCBpPXN0YXJ0eDtpPD1lbmR4O2krKyl7CgkJZm9yKGludCBqPXN0YXJ0eTtqPD1lbmR5O2orKyl7CgkJCWlmKGFbaV1bal09PTEpewoJCQkJKytibHVlOwoJCQl9ZWxzZXsKCQkJCSsrd2hpdGU7CgkJCX0KCQl9Cgl9CglpZih3aGl0ZT09MCl7CgkJcmV0dXJuIDE7Cgl9CglpZihibHVlPT0wKXsKCQlyZXR1cm4gMjsKCX0KCQlyZXR1cm4gMzsKfQp2b2lkIHdoaXRlYW5kYmx1ZShpbnQgYVsxMDBdWzEwMF0sIGludCBuLGludCBzdGFydHgsIGludCBzdGFydHksIGludCBlbmR4LCBpbnQgZW5keSl7CgoJaW50IHQgPSBjaGVjayhhLHN0YXJ0eCxzdGFydHksZW5keCxlbmR5KTsKCQoJaWYodD09MSl7CgkJYmx1ZWFucysrO3JldHVybjsKCX1lbHNlIGlmKHQ9PTIpewoJCXdoaXRlYW5zKys7cmV0dXJuOwoJfQoJCXdoaXRlYW5kYmx1ZShhLG4vMixzdGFydHgsc3RhcnR5LHN0YXJ0eCtuLzIsc3RhcnR5K24vMik7CgkJd2hpdGVhbmRibHVlKGEsbi8yLHN0YXJ0eCwoc3RhcnR5K24vMikrMSxzdGFydHgrbi8yLGVuZHkpOwoJCXdoaXRlYW5kYmx1ZShhLG4vMiwoc3RhcnR4K24vMikrMSxzdGFydHksZW5keCxzdGFydHkrbi8yKTsKCQl3aGl0ZWFuZGJsdWUoYSxuLzIsKHN0YXJ0eCtuLzIpKzEsKHN0YXJ0eStuLzIpKzEsZW5keCxlbmR5KTsKCQoJCSAgIAoJCQoJCXJldHVybjsKCQp9CmludCBtYWluKCkgewoJLy9mcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbik7CiAgICAvL2ZyZW9wZW4oIm91dHB1dC50eHQiLCJ3IixzdGRvdXQpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CglpbnQgdDsKCWNpbj4+dDsKCXdoaWxlKHQtLSl7CgkJd2hpdGVhbnM9MCxibHVlYW5zPTA7CgkJaW50IG47CgkJY2luPj5uOwoJCWludCBhWzEwMF1bMTAwXTsKCQlmb3IoaW50IGk9MDtpPG47aSsrKXsKCQkJZm9yKGludCBqPTA7ajxuO2orKyl7CgkJCQljaW4+PmFbaV1bal07CgkJCX0KCQl9CgkJd2hpdGVhbmRibHVlKGEsbi0xLDAsMCxuLTEsbi0xKTsKCQljb3V0PDx3aGl0ZWFuczw8IiAiPDxibHVlYW5zPDxlbmRsOwoJfQoJcmV0dXJuIDA7Cn0=