#include <bits/stdc++.h>
using namespace std;
int n, m, t, f[810][810], dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, 1, -1},
                          x[1000000], y[1000000], r, p = 1e9;
char s[810][810];
inline void chk(int i, int j) {
  int k = min(min(i - 1, j - 1), min(n - i, m - j));
  k = (k ? ((k - 1) / t + 1) : 0);
  p = min(p, k + 1);
}
int main() {
  int i, j;
  scanf("%d%d%d", &n, &m, &t);
  for (i = 1; i <= n; i++) scanf("%s", &s[i][0] + 1);
  for (i = 1; i <= n; i++)
    for (j = 1; j <= m; j++)
      if (s[i][j] == 'S') {
        r = 1;
        x[1] = i;
        y[1] = j;
        f[i][j] = 1;
      }
  for (i = 1; i <= r && f[x[i]][y[i]] < t; i++)
    for (j = 0; j < 4; j++)
      if (x[i] + dx[j] > 0 && x[i] + dx[j] <= n && y[i] + dy[j] > 0 &&
          y[i] + dy[j] <= m && !f[x[i] + dx[j]][y[i] + dy[j]] &&
          s[x[i] + dx[j]][y[i] + dy[j]] == '.') {
        f[x[i] + dx[j]][y[j] + dy[j]] = f[x[i]][y[i]] + 1;
        x[++r] = x[i] + dx[j];
        y[r] = y[i] + dy[j];
      }
  for (i = 1; i <= r; i++) chk(x[i], y[i]);
  printf("%d\n", p);
  return 0;
}
