#include <iostream>
#include <utility>
#include <vector>
using namespace std;
int main() {
int t;
cin >> t;
while(t--) {
int n;
cin >> n;
pair<int,int> p[n];
int xmax,xmin,ymax,ymin;
for(int i=0;i<n;i++) {
cin >> p[i].first >> p[i].second;
if(i == 0) {
xmax = p[i].first;
xmin = p[i].first;
ymax = p[i].second;
ymin = p[i].second;
continue;
}
if(p[i].first > xmax) {
xmax = p[i].first;
}
if(p[i].first < xmin) {
xmin = p[i].first;
}
if(p[i].second > ymax) {
ymax = p[i].second;
}
if(p[i].second < ymin) {
ymin = p[i].second;
}
}
vector< pair<int,int> > v1,v2;
vector<int> index;
for(int i=0;i<n;i++) {
if(p[i].first == xmin) {
v1.push_back(p[i]);
index.push_back(i+1);
}
if(p[i].first == xmax) {
v2.push_back(p[i]);
index.push_back(i+1);
}
}
bool check = true;
for(int i=0;i<v1.size();i++) {
if(v1[i].second == ymax) {
cout << 1 << endl;
cout << index[i] << " SE" << endl;
check = false;
break;
} else if(v1[i].second == ymin) {
cout << 1 << endl;
cout << index[i] << " NE" << endl;
check = false;
break;
}
}
if(!check) {
continue;
}
for(int i=0;i<v2.size();i++) {
if(v2[i].second == ymax) {
cout << 1 << endl;
cout << index[v1.size()+i] << " SW" << endl;
check = false;
break;
} else if(v2[i].second == ymin) {
cout << 1 << endl;
cout << index[v1.size()+i] << " NW" << endl;
check = false;
break;
}
}
if(!check) {
continue;
}
pair<int,int> a = v1[0], b = v2[0];
cout << 2 << endl;
if(a.second <= b.second) {
cout << index[0] << " NW" << endl;
cout << index[v1.size()] << " SE" << endl;
} else {
cout << index[0] << " SW" << endl;
cout << index[v1.size()] << " NE" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHBhaXI8aW50LGludD4gcFtuXTsKICAgICAgICBpbnQgeG1heCx4bWluLHltYXgseW1pbjsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKSB7CiAgICAgICAgICAgIGNpbiA+PiBwW2ldLmZpcnN0ID4+IHBbaV0uc2Vjb25kOwogICAgICAgICAgICBpZihpID09IDApIHsKICAgICAgICAgICAgICAgIHhtYXggPSBwW2ldLmZpcnN0OwogICAgICAgICAgICAgICAgeG1pbiA9IHBbaV0uZmlyc3Q7CiAgICAgICAgICAgICAgICB5bWF4ID0gcFtpXS5zZWNvbmQ7CiAgICAgICAgICAgICAgICB5bWluID0gcFtpXS5zZWNvbmQ7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihwW2ldLmZpcnN0ID4geG1heCkgewogICAgICAgICAgICAgICAgeG1heCA9IHBbaV0uZmlyc3Q7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYocFtpXS5maXJzdCA8IHhtaW4pIHsKICAgICAgICAgICAgICAgIHhtaW4gPSBwW2ldLmZpcnN0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKHBbaV0uc2Vjb25kID4geW1heCkgewogICAgICAgICAgICAgICAgeW1heCA9IHBbaV0uc2Vjb25kOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKHBbaV0uc2Vjb25kIDwgeW1pbikgewogICAgICAgICAgICAgICAgeW1pbiA9IHBbaV0uc2Vjb25kOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZlY3RvcjwgcGFpcjxpbnQsaW50PiA+IHYxLHYyOwogICAgICAgIHZlY3RvcjxpbnQ+IGluZGV4OwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICAgICAgaWYocFtpXS5maXJzdCA9PSB4bWluKSB7CiAgICAgICAgICAgICAgICB2MS5wdXNoX2JhY2socFtpXSk7CiAgICAgICAgICAgICAgICBpbmRleC5wdXNoX2JhY2soaSsxKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihwW2ldLmZpcnN0ID09IHhtYXgpIHsKICAgICAgICAgICAgICAgIHYyLnB1c2hfYmFjayhwW2ldKTsKICAgICAgICAgICAgICAgIGluZGV4LnB1c2hfYmFjayhpKzEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJvb2wgY2hlY2sgPSB0cnVlOwogICAgICAgIGZvcihpbnQgaT0wO2k8djEuc2l6ZSgpO2krKykgewogICAgICAgICAgICBpZih2MVtpXS5zZWNvbmQgPT0geW1heCkgewogICAgICAgICAgICAgICAgY291dCA8PCAxIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBjb3V0IDw8IGluZGV4W2ldIDw8ICIgU0UiIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBjaGVjayA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0gZWxzZSBpZih2MVtpXS5zZWNvbmQgPT0geW1pbikgewogICAgICAgICAgICAgICAgY291dCA8PCAxIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBjb3V0IDw8IGluZGV4W2ldIDw8ICIgTkUiIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBjaGVjayA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoIWNoZWNrKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPHYyLnNpemUoKTtpKyspIHsKICAgICAgICAgICAgaWYodjJbaV0uc2Vjb25kID09IHltYXgpIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgMSA8PCBlbmRsOwogICAgICAgICAgICAgICAgY291dCA8PCBpbmRleFt2MS5zaXplKCkraV0gPDwgIiBTVyIgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGNoZWNrID0gZmFsc2U7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfSBlbHNlIGlmKHYyW2ldLnNlY29uZCA9PSB5bWluKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IDEgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaW5kZXhbdjEuc2l6ZSgpK2ldIDw8ICIgTlciIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBjaGVjayA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoIWNoZWNrKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBwYWlyPGludCxpbnQ+IGEgPSB2MVswXSwgYiA9IHYyWzBdOwogICAgICAgIGNvdXQgPDwgMiA8PCBlbmRsOwogICAgICAgIGlmKGEuc2Vjb25kIDw9IGIuc2Vjb25kKSB7CiAgICAgICAgICAgIGNvdXQgPDwgaW5kZXhbMF0gPDwgIiBOVyIgPDwgZW5kbDsKICAgICAgICAgICAgY291dCA8PCBpbmRleFt2MS5zaXplKCldIDw8ICIgU0UiIDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCBpbmRleFswXSA8PCAiIFNXIiA8PCBlbmRsOwogICAgICAgICAgICBjb3V0IDw8IGluZGV4W3YxLnNpemUoKV0gPDwgIiBORSIgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=