package work;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class A1573Robot {
static int N,M,S;
static char [][] map;
static int [][] data;
static int steps;
public static void main(String[] args) throws FileNotFoundException {
/*Scanner sc=new Scanner(System.in);*/
Scanner sc=new Scanner(new File("src/1573.txt"));
while(true){
N=sc.nextInt();
M=sc.nextInt();
S=sc.nextInt();
map=new char[N][M];
if(N==0&&M==0&&S==0){break;}
char[] line=sc.nextLine().toCharArray();
for (int i = 0; i < N; i++) {
line=sc.nextLine().toCharArray();
for (int j = 0; j < line.length; j++) {
map[i][j]=line[j];
}
}
fun(0,S-1);
}
}
private static void fun(int dx, int dy) {
steps=0;
while(true){
if(dx<0||dx>=N||dy<0||dy>=M){
System.out.println(steps+"step(s) to exit");
break;
}
if(map[dx][dy]=='E'){map[dx][dy]=(char) steps;dy++;steps++;continue;}
if(map[dx][dy]=='S'){map[dx][dy]=(char) steps;dx++;steps++;continue;}
if(map[dx][dy]=='W'){map[dx][dy]=(char) steps;dy--;steps++;continue;}
if(map[dx][dy]=='N'){map[dx][dy]=(char) steps;dx--;steps++;continue;}
else{int n=steps-(int)map[dx][dy];
int m=(int) map[dx][dy];
System.out.println(m+" step(s) before a loop of "+n+" step(s)");
break;
}
}
return;
}
}
//
3 6 5
NEESWE
WWWESS
SNWWWW
4 5 1
SESWE
EESNW
NWEEN
EWSEN
0 0 0
//
10step(s) to exit
3 step(s) before a loop of 8 step(s)