#include <bits/stdc++.h>
using namespace std;
#define int long long   // <-----!!!!!!!!!!!!!!!!!!!

#define rep(i,n) for (int i=0;i<(n);i++)
#define rep2(i,a,b) for (int i=(a);i<(b);i++)
#define rrep(i,n) for (int i=(n)-1;i>=0;i--)
#define rrep2(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define all(a) (a).begin(),(a).end()

typedef long long ll;
typedef pair<int, int> Pii;
typedef tuple<int, int, int> TUPLE;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
typedef vector<vector<int>> Graph;
const int inf = 1e9;
const int mod = 1e9 + 7;

// N, E, S, W
const int dx[4] = {-1, 0,  1,  0};
const int dy[4] = { 0, 1,  0, -1};

map<char, int> mpdir = {
    {'N', 0},
    {'E', 1},
    {'S', 2},
    {'W', 3}
};

const string dir = "NESW";

enum { X, Y, DIR };
typedef vector<int> State;

int H, W, L;
vector<string> s;
vector<State> v;
set<State> st;

inline bool inside(int x, int y) {
    return 0 <= x && x < H && 0 <= y && y < W;
}

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    while (cin >> H >> W >> L, H) {
        s.clear();
        s.resize(H);
        v.clear();
        st.clear();

        State state(3);
        rep(i, H) {
            cin >> s[i];
            rep(j, W) {
                if (isalpha(s[i][j])) {
                    state[X] = i;
                    state[Y] = j;
                    state[DIR] = mpdir[s[i][j]];
                }
            }
        }

        rep(t, 50000) {
            if (st.count(state) != 0) {
                int offset;
                for(offset = 0; v[offset] != state; offset++) {
                    assert(offset < v.size());
                }

                int last_id = L;
                if (last_id >= offset) {
                    int T = t - offset;
                    last_id = (L - offset) % T + offset;
                }

                cout << v[last_id][X] + 1 << " " << v[last_id][Y] + 1 << " " << dir[v[last_id][DIR]] << endl;
                break;
            }

            v.emplace_back(state);
            st.insert(state);

            while (!inside(state[X] + dx[state[DIR]], state[Y] + dy[state[DIR]]) || s[state[X] + dx[state[DIR]]][state[Y] + dy[state[DIR]]] == '#') {
                state[DIR] = (state[DIR] + 1) % 4;
            }

            state[X] += dx[state[DIR]];
            state[Y] += dy[state[DIR]];
        }
    }

}