#include <bits/stdc++.h>
using namespace std;
char c[880][880];
int n, m, k, x, y, dis[880][880], mm = 1e9;
int dx[] = {1, -1, 0, 0}, dy[] = {0, 0, 1, -1};
int main() {
  cin >> n >> m >> k;
  for (int i = 0; i < n; i++) {
    cin >> c[i];
    for (int j = 0; j < m; j++)
      if (c[i][j] == 'S') {
        x = i;
        y = j;
      }
  }
  queue<pair<int, int> > que;
  que.push(make_pair(x, y));
  memset(dis, -1, sizeof(dis));
  dis[x][y] = 0;
  while (!que.empty()) {
    int a = que.front().first;
    int b = que.front().second;
    que.pop();
    if (dis[a][b] > k) break;
    if (a == 0 || b == 0 || a == n - 1 || b == m - 1) {
      cout << 1 << endl;
      return 0;
    }
    mm = min(mm, min(min(a, b), min(n - a - 1, m - b - 1)));
    for (int i = 0; i < 4; i++) {
      int u = x + dx[i], v = y + dy[i];
      if (c[u][v] != '#' && dis[u][v] == -1) {
        dis[u][v] = dis[x][y] + 1;
        que.push(make_pair(u, v));
      }
    }
  }
  cout << (mm + k - 1) / k + 1 << endl;
  return 0;
}
