#include <bits/stdc++.h>
using namespace std;

const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};

int todir[256];
char tochr[4];

int h, w;
long long l;
string c[110];
int vis[110][110][4];

int main()
{
	for (int i = 0; i < 4; i++){
		todir["NESW"[i]] = i;
		tochr[i] = "NESW"[i];
	}

	while (cin >> h >> w >> l, h){
		memset(vis, -1, sizeof(vis));
		c[0] = c[h + 1] = string(w + 2, '#');
		for (int i = 1; i <= h; i++){
			cin >> c[i];
			c[i] = "#" + c[i] + "#";
		}
		int x, y, dir;
		for (int i = 1; i <= h; i++){
			for (int j = 1; j <= w; j++){
				if (c[i][j] != '.' && c[i][j] != '#'){
					x = i;
					y = j;
					dir = todir[c[i][j]];
					c[i][j] = '.';
				}
			}
		}
		for (long long t = 0; t < l; t++){
			while (true){
				int nx = x + dx[dir];
				int ny = y + dy[dir];
				if (c[nx][ny] == '.') break;
				dir = (dir + 1) % 4;
			}
			if (~vis[x][y][dir]){
				t += (l - t - 1) / (t - vis[x][y][dir]) * (t - vis[x][y][dir]);
			}
			else vis[x][y][dir] = t;
			x += dx[dir];
			y += dy[dir];
		}
		cout << x << " " << y << " " << tochr[dir] << endl;
	}
}