#include <bits/stdc++.h>
using namespace std;
int main() {
  long long h, w, k;
  std::cin >> h >> w >> k;
  vector<string> a(h);
  pair<long long, long long> s;
  for (int i = 0; i < h; i++) {
    std::cin >> a[i];
    for (int j = 0; j < w; j++) {
      if (a[i][j] == 'S') s = {i, j};
    }
  }
  set<pair<long long, long long>> se;
  queue<tuple<long long, long long, long long>> q;
  q.push({s.first, s.second, k});
  se.insert({s.first, s.second});
  while (q.size()) {
    auto [xx, yy, rem] = q.front();
    q.pop();
    if (rem == 0) continue;
    for (int x = -1, y = 0, iii = 0; iii < 4;
         x += y, y = x - y, x = y - x, ++iii) {
      if (xx + x < 0 || xx + x > h - 1 || yy + y < 0 || yy + y > w - 1)
        continue;
      if (a[xx + x][yy + y] == '.') {
        if (se.find({xx + xx, yy + y}) != se.end()) continue;
        q.push({xx + x, yy + y, rem - 1});
        se.insert({xx + x, yy + y});
      }
    }
  }
  long long ans = 1e15;
  for (auto e : se) {
    auto minx = min(e.first, h - 1 - e.first);
    auto miny = min(e.second, w - 1 - e.second);
    ans = min(ans, (min(minx, miny) + k - 1) / k);
  }
  std::cout << 1 + ans << std::endl;
}
