

//robot1
#include<iostream>
using namespace std;
int wyn,x,y;
string s;
int main ()
{
for (int i=0; i<1000; i++) {
cin >> s;
x = 0; y = 0;
for (int j=0; j<s.size(); j++) {
if (s[j] == 'E') x++;
if (s[j] == 'W') x--;
if (s[j] == 'S') y++;
if (s[j] == 'N') y--;
if (x<0 || y<0 || x>19 || y>19) {
wyn++;
break;
}
}
}
cout << wyn;
return 0;
}
//robot2
#include<iostream>
using namespace std;
int wyn,x,y,Wynik,zawodnik,t[20][20];
string s;
int main ()
{
for (int y=0; y<20; y++)
for (int x=0; x<20; x++)
cin >> t[x][y];
for (int i=0; i<1000; i++)
{
cin >> s;
x = 0; y = 0;
wyn=t[0][0];
for (int j=0; j<s.size(); j++)
{
if (s[j] == 'E') x++;
if (s[j] == 'W') x--;
if (s[j] == 'S') y++;
if (s[j] == 'N') y--;
if (x<0 || y<0 || x>=20 || y>=20)
{ wyn = -1;break; }
else wyn+=t[x][y];
}
if (wyn>Wynik)
{
zawodnik = i;
Wynik = wyn;
}
}
cout<<zawodnik+1 <<" "<< Wynik;
return 0;
}
// robot 3
#include<iostream>
using namespace std;
int wyn,Wynik,WYNIK=0,gracze[1000]={0},gr=0;
string s;
int main ()
{
for (int i=0; i<1000; i++)
{
cin >> s;
wyn = 0;
Wynik = 0;
for (int j=0; j<s.size(); j++)
{
if (s[j] == 'E' || s[j] == 'W') wyn++;
else
{
Wynik = max(wyn,Wynik);
wyn=0;
}
}
if(WYNIK==Wynik) gracze[gr++] = i+1;
if(WYNIK<Wynik) {
WYNIK=Wynik;
gr=0;
gracze[gr++] = i+1;
}
}
cout << WYNIK;
for(int i;i<gr;i++) cout<<" "<<gracze[i];
return 0;
}