#include <bits/stdc++.h>

#define x first
#define y second
#define For(i, j, k) for(int i = j; i <= k; i++)

using namespace std;

typedef pair<int, int> PII;

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

int n, m, k;
char Map[N][N];
int dis[N][N];

int BFS(PII S){
	queue<PII> q;
	q.push(S);
	int ans = 1e9;
	while(!q.empty()){
		PII o = q.front(); q.pop();
		if(dis[o.x][o.y] > k) break;
		ans = min(ans, (min(min(n - o.x, o.x - 1), min(o.y - 1, m - o.y)) + k - 1) / k);

		For(i, 0, 3){
			int u = o.x + dx[i], v = o.y + dy[i];
			if(Map[u][v] == '.') q.push(PII(u, v)), dis[u][v] = dis[o.x][o.y] + 1, Map[u][v] = '#';
		}
	}
	return ans;
}

int main(){
	
	scanf("%d%d%d", &n, &m, &k);
	For(i, 1, n) scanf("%s", Map[i] + 1);
	PII S;
	For(i, 1, n) For(j, 1, m) if(Map[i][j] == 'S') S = PII(i, j);
	printf("%d\n", BFS(S) + 1);

	return 0;
}