#include <bits/stdc++.h>
using namespace std;
const long long INF = 0x3f3f3f3f3f3f3f3f;
long long vis[805][805] = {0};
char ch[805][805];
long long n, m, k, ans = INF;
void dfs(long long x, long long y, long long dep) {
  if (!x || !y || x > n || y > m) return;
  if (!dep) return;
  if (ch[x][y] == '#') return;
  vis[x][y] = 1;
  ans = min(ans, min(min(x - 1, y - 1), min(n - x, m - y)));
  if (!vis[x - 1][y]) dfs(x - 1, y, dep - 1);
  if (!vis[x][y - 1]) dfs(x, y - 1, dep - 1);
  if (!vis[x + 1][y]) dfs(x + 1, y, dep - 1);
  if (!vis[x][y + 1]) dfs(x, y + 1, dep - 1);
}
int main() {
  ios::sync_with_stdio(false);
  long long sx = 0, sy = 0;
  cin >> n >> m >> k;
  for (long long i = 1; i <= n; i++) {
    for (long long j = 1; j <= m; j++) {
      cin >> ch[i][j];
      if (ch[i][j] == 'S') {
        sx = i;
        sy = j;
      }
    }
  }
  dfs(sx, sy, k);
  if (ans)
    cout << (ans - 1) / k + 2 << endl;
  else
    cout << 1 << endl;
  return 0;
}
