#include <iostream>
#include <vector>
#include <utility>
#include <queue>
#include <cmath>
#include <algorithm>
#define llint long long
#define eps 1e-9

using namespace std;
typedef pair<llint, llint> P;
typedef pair<P, llint> S;

llint h, w, l;
char c[105][105];
string s = "NESW";
S succ[60][105][105][4];
llint dx[] = {0, 1, 0, -1}, dy[] = {-1, 0, 1, 0};

int main(void)
{
	while(1){
		cin >> h >> w >> l;
		if(h == 0 && w == 0) break;
		for(int y = 1; y <= h; y++){
			for(int x = 1; x <= w; x++){
				cin >> c[x][y];
			}
		}
		
		S p;
		for(int y = 1; y <= h; y++){
			for(int x = 1; x <= w; x++){
				if(c[x][y] == '.' || c[x][y] == '#') continue;
				p.first.first = x, p.first.second = y;
				for(int i = 0; i < 4; i++){
					if(s[i] == c[x][y]) p.second = i;
				}
			}
		}
		for(int y = 1; y <= h; y++){
			for(int x = 1; x <= w; x++){
				for(int d = 0; d < 4; d++){
					for(int i = 0; i < 4; i++){
						llint nd = (d+i)%4, nx = x + dx[nd], ny = y + dy[nd];
						if(nx <= 0 || nx > w || ny <= 0 || ny > h) continue;
						if(c[nx][ny] == '#') continue;
						succ[0][x][y][d] = S(P(nx, ny), nd);
						break;
					}
				}
			}
		}
		
		for(int i = 1; i < 60; i++){
			for(int y = 1; y <= h; y++){
				for(int x = 1; x <= w; x++){
					for(int d = 0; d < 4; d++){
						llint mx = succ[i-1][x][y][d].first.first, my = succ[i-1][x][y][d].first.second, md = succ[i-1][x][y][d].second;
						succ[i][x][y][d] = succ[i-1][mx][my][md];
					}
				}
			}
		}
		
		for(int i = 59; i >= 0; i--){
			if(l & (1LL<<i)){
				p = succ[i][p.first.first][p.first.second][p.second];
			}
		}
		cout << p.first.second << " " << p.first.first << " " << s[p.second] << endl;
	}
	return 0;
}
