#include <bits/stdc++.h>
using namespace std;
struct P{ long long x,y; };
struct H{
size_t operator()(P const& p) const {
return std::hash<long long>()(p.x ^ (p.y+0x9e3779b97f4a7c15ULL));
}
};
struct E{ bool operator()(P const& a, P const& b) const { return a.x==b.x && a.y==b.y; } };
long long sum_abs_axis(const vector<long long>& a, long long v){
long long s=0; for(long long z:a) s+= llabs(z-v); return s;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T; if(!(cin>>T)) return 0;
while(T--){
int n; cin>>n;
vector<long long> xs(n), ys(n);
unordered_set<P,H,E> seen; seen.reserve(n*2+1);
for(int i=0;i<n;i++){ cin>>xs[i]>>ys[i]; seen.insert({xs[i],ys[i]}); }
vector<long long> sx=xs, sy=ys;
sort(sx.begin(),sx.end());
sort(sy.begin(),sy.end());
if(n%2==1){
long long xm=sx[n/2], ym=sy[n/2];
long long S = sum_abs_axis(xs,xm) + sum_abs_axis(ys,ym);
if(!seen.count({xm,ym})){
cout<<S<<" "<<1<<"\n";
}else{
long long K=0;
if(!seen.count({xm+1,ym})) ++K;
if(!seen.count({xm-1,ym})) ++K;
if(!seen.count({xm,ym+1})) ++K;
if(!seen.count({xm,ym-1})) ++K;
cout<<S+1<<" "<<K<<"\n";
}
}else{
long long xL=sx[n/2-1], xR=sx[n/2];
long long yL=sy[n/2-1], yR=sy[n/2];
long long S = sum_abs_axis(xs,xL) + sum_abs_axis(ys,yL);
long long w = xR - xL + 1;
long long h = yR - yL + 1;
long long totalRect = w*h;
long long inside = 0;
for(auto const& p: seen)
if(p.x>=xL && p.x<=xR && p.y>=yL && p.y<=yR) ++inside;
long long freeInside = totalRect - inside;
if(freeInside>0){
cout<<S<<" "<<freeInside<<"\n";
}else{
long long K=0;
for(long long y=yL; y<=yR; ++y){
if(!seen.count({xL-1,y})) ++K;
if(!seen.count({xR+1,y})) ++K;
}
for(long long x=xL; x<=xR; ++x){
if(!seen.count({x,yL-1})) ++K;
if(!seen.count({x,yR+1})) ++K;
}
cout<<S+1<<" "<<K<<"\n";
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgUHsgbG9uZyBsb25nIHgseTsgfTsKc3RydWN0IEh7CiAgICBzaXplX3Qgb3BlcmF0b3IoKShQIGNvbnN0JiBwKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIHN0ZDo6aGFzaDxsb25nIGxvbmc+KCkocC54IF4gKHAueSsweDllMzc3OWI5N2Y0YTdjMTVVTEwpKTsKICAgIH0KfTsKc3RydWN0IEV7IGJvb2wgb3BlcmF0b3IoKShQIGNvbnN0JiBhLCBQIGNvbnN0JiBiKSBjb25zdCB7IHJldHVybiBhLng9PWIueCAmJiBhLnk9PWIueTsgfSB9OwoKbG9uZyBsb25nIHN1bV9hYnNfYXhpcyhjb25zdCB2ZWN0b3I8bG9uZyBsb25nPiYgYSwgbG9uZyBsb25nIHYpewogICAgbG9uZyBsb25nIHM9MDsgZm9yKGxvbmcgbG9uZyB6OmEpIHMrPSBsbGFicyh6LXYpOyByZXR1cm4gczsKfQoKaW50IG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBpbnQgVDsgaWYoIShjaW4+PlQpKSByZXR1cm4gMDsKICAgIHdoaWxlKFQtLSl7CiAgICAgICAgaW50IG47IGNpbj4+bjsKICAgICAgICB2ZWN0b3I8bG9uZyBsb25nPiB4cyhuKSwgeXMobik7CiAgICAgICAgdW5vcmRlcmVkX3NldDxQLEgsRT4gc2Vlbjsgc2Vlbi5yZXNlcnZlKG4qMisxKTsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsgY2luPj54c1tpXT4+eXNbaV07IHNlZW4uaW5zZXJ0KHt4c1tpXSx5c1tpXX0pOyB9CiAgICAgICAgdmVjdG9yPGxvbmcgbG9uZz4gc3g9eHMsIHN5PXlzOwogICAgICAgIHNvcnQoc3guYmVnaW4oKSxzeC5lbmQoKSk7CiAgICAgICAgc29ydChzeS5iZWdpbigpLHN5LmVuZCgpKTsKCiAgICAgICAgaWYobiUyPT0xKXsKICAgICAgICAgICAgbG9uZyBsb25nIHhtPXN4W24vMl0sIHltPXN5W24vMl07CiAgICAgICAgICAgIGxvbmcgbG9uZyBTID0gc3VtX2Fic19heGlzKHhzLHhtKSArIHN1bV9hYnNfYXhpcyh5cyx5bSk7CiAgICAgICAgICAgIGlmKCFzZWVuLmNvdW50KHt4bSx5bX0pKXsKICAgICAgICAgICAgICAgIGNvdXQ8PFM8PCIgIjw8MTw8IlxuIjsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICBsb25nIGxvbmcgSz0wOwogICAgICAgICAgICAgICAgaWYoIXNlZW4uY291bnQoe3htKzEseW19KSkgKytLOwogICAgICAgICAgICAgICAgaWYoIXNlZW4uY291bnQoe3htLTEseW19KSkgKytLOwogICAgICAgICAgICAgICAgaWYoIXNlZW4uY291bnQoe3htLHltKzF9KSkgKytLOwogICAgICAgICAgICAgICAgaWYoIXNlZW4uY291bnQoe3htLHltLTF9KSkgKytLOwogICAgICAgICAgICAgICAgY291dDw8UysxPDwiICI8PEs8PCJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgbG9uZyBsb25nIHhMPXN4W24vMi0xXSwgeFI9c3hbbi8yXTsKICAgICAgICAgICAgbG9uZyBsb25nIHlMPXN5W24vMi0xXSwgeVI9c3lbbi8yXTsKICAgICAgICAgICAgbG9uZyBsb25nIFMgPSBzdW1fYWJzX2F4aXMoeHMseEwpICsgc3VtX2Fic19heGlzKHlzLHlMKTsKCiAgICAgICAgICAgIGxvbmcgbG9uZyB3ID0geFIgLSB4TCArIDE7CiAgICAgICAgICAgIGxvbmcgbG9uZyBoID0geVIgLSB5TCArIDE7CiAgICAgICAgICAgIGxvbmcgbG9uZyB0b3RhbFJlY3QgPSB3Kmg7CgogICAgICAgICAgICBsb25nIGxvbmcgaW5zaWRlID0gMDsKICAgICAgICAgICAgZm9yKGF1dG8gY29uc3QmIHA6IHNlZW4pCiAgICAgICAgICAgICAgICBpZihwLng+PXhMICYmIHAueDw9eFIgJiYgcC55Pj15TCAmJiBwLnk8PXlSKSArK2luc2lkZTsKCiAgICAgICAgICAgIGxvbmcgbG9uZyBmcmVlSW5zaWRlID0gdG90YWxSZWN0IC0gaW5zaWRlOwogICAgICAgICAgICBpZihmcmVlSW5zaWRlPjApewogICAgICAgICAgICAgICAgY291dDw8Uzw8IiAiPDxmcmVlSW5zaWRlPDwiXG4iOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGxvbmcgbG9uZyBLPTA7CiAgICAgICAgICAgICAgICBmb3IobG9uZyBsb25nIHk9eUw7IHk8PXlSOyArK3kpewogICAgICAgICAgICAgICAgICAgIGlmKCFzZWVuLmNvdW50KHt4TC0xLHl9KSkgKytLOwogICAgICAgICAgICAgICAgICAgIGlmKCFzZWVuLmNvdW50KHt4UisxLHl9KSkgKytLOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yKGxvbmcgbG9uZyB4PXhMOyB4PD14UjsgKyt4KXsKICAgICAgICAgICAgICAgICAgICBpZighc2Vlbi5jb3VudCh7eCx5TC0xfSkpICsrSzsKICAgICAgICAgICAgICAgICAgICBpZighc2Vlbi5jb3VudCh7eCx5UisxfSkpICsrSzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvdXQ8PFMrMTw8IiAiPDxLPDwiXG4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0K