#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
int inf = 1e9;
queue<P> que;
vector<int> dx = {0, 0, 1, -1};
vector<int> dy = {1, -1, 0, 0};
int main() {
  int h, w, k;
  cin >> h >> w >> k;
  vector<string> a(h);
  for (auto&& u : a) cin >> u;
  vector<vector<int>> d(h, vector<int>(w, inf));
  for (int i = 0; i < (h); i++)
    for (int j = 0; j < (w); j++)
      if (a[i][j] == 'S') {
        que.push(make_pair(i, j));
        d[i][j] = 0;
      }
  while (!que.empty()) {
    P z = que.front();
    que.pop();
    for (int i = 0; i < (4); i++) {
      int x, y;
      x = z.first + dx[i];
      y = z.second + dy[i];
      if (x < 0 || x >= h || y < 0 || y >= w) continue;
      if (d[x][y] == inf && a[x][y] == '.') {
        d[x][y] = d[z.first][z.second] + 1;
        que.push(make_pair(x, y));
      }
    }
  }
  int mn = inf;
  for (int i = 0; i < (h); i++)
    for (int j = 0; j < (w); j++) {
      if (d[i][j] <= k) mn = min({mn, i, j, h - 1 - i, w - 1 - j});
    }
  cout << (mn - 1) / k + 2 << endl;
}
