#include <iostream>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
typedef long long ll;
string mp[100];
int d[100][100][4],inf=1e8,dh[4]={-1,0,1,0},dw[4]={0,1,0,-1};
int main(){
	while(true){
		int h,w;
		ll l;
		cin >> h >> w >> l;
		if(h==0) break;
		rep(i,h) cin >> mp[i];
		int sw,sh,di;
		rep(i,h) rep(j,w) if(mp[i][j]!='.' && mp[i][j]!='#') sh=i,sw=j;
		if(mp[sh][sw]=='N') di=0;
		if(mp[sh][sw]=='E') di=1;
		if(mp[sh][sw]=='S') di=2;
		if(mp[sh][sw]=='W') di=3;
		rep(i,h) rep(j,w) rep(k,4) d[i][j][k]=inf;
		d[sh][sw][di]=0;
		int now=1;
		while(true){
			int nh,nw;
			while(true){
				nh=sh+dh[di],nw=sw+dw[di];
				if(!(0<=nh && nh<h && 0<=nw && nw<w) || mp[nh][nw]=='#'){
					di=(di+1)%4;
					continue;
				}
				break;
			}
			sh=nh,sw=nw;
			if((ll)now==l){
				cout << sh+1 << " " << sw+1 << " ";
				if(di==0) cout << "N\n";
				if(di==1) cout << "E\n";
				if(di==2) cout << "S\n";
				if(di==3) cout << "W\n";
				break;
			}
			if(d[sh][sw][di]==inf){
				d[sh][sw][di]=now;
				now++;
			}else{
				int dd=d[sh][sw][di];
				l=dd+(l-dd)%(now-dd);
				rep(i,h) rep(j,w) rep(k,4) if(d[i][j][k]==l){
					cout << i+1 << " " << j+1 << " ";
					if(k==0) cout << "N\n";
					if(k==1) cout << "E\n";
					if(k==2) cout << "S\n";
					if(k==3) cout << "W\n";
					goto label;
				}
				label:
				break;
			}
		}
	}
}