#include <bits/stdc++.h>
using namespace std;
int a, b, c, i, j, k[1000][1000] = {0}, x, y, d1[5] = {0, 0, -1, 1},
                   d2[5] = {1, -1, 0, 0}, ans = 999999999;
void dfs(int x, int y) {
  if (k[x][y] == c) {
    return;
  }
  for (i = 0; i <= 3; i++) {
    if (k[x + d1[i]][y + d2[i]] > k[x][y] + 1) {
      k[x + d1[i]][y + d2[i]] = k[x][y] + 1;
      dfs(x + d1[i], y + d2[i]);
    }
  }
}
int main() {
  cin >> a >> b >> c;
  for (i = 1; i <= a; i++) {
    for (j = 1; j <= b; j++) {
      char ch;
      cin >> ch;
      if (ch == '.') {
        k[i][j] = 999999;
      } else if (ch == '#') {
        k[i][j] = -1;
      } else {
        x = i;
        y = j;
        k[i][j] = 0;
      }
    }
  }
  dfs(x, y);
  for (i = 1; i <= a; i++) {
    for (j = 1; j <= a; j++) {
      if (k[i][j] != -1) {
        int v = min(min(i - 1, j - 1), min(a - i, b - j));
        v = ceil(v) + 1;
        ans = min(ans, v);
      }
    }
  }
  cout << ans << endl;
}
