#include <bits/stdc++.h>
#define rep(i,n) for ((i)=1;(i)<=(n);(i)++)
#define per(i,n) for ((i)=n;(i)>=(1);(i)--)
using namespace std;
int n,m,k,i,j,ans;
char mp[805][805];
int dis[805][805],sx,sy;
queue<int> qx,qy;
int main(){
	scanf("%d%d%d",&n,&m,&k);
	memset(dis,0x12,sizeof(dis));
	rep(i,n){
		scanf(" ");
		rep(j,m){
			scanf("%c",&mp[i][j]);
			if(mp[i][j]=='S'){
				sx=i;
				sy=j;
				if(i==1||i==n||j==1||j==m){
					puts("0");
					return 0;
				}
				dis[i][j]=0;
			}
		}
	}
	qx.push(sx);qy.push(sy);
	while(!qx.empty()){
		int x=qx.front(),y=qy.front();qx.pop();qy.pop();
		if(dis[x][y]>=k) continue;
		for(int nx=x-1;nx<=x+1;nx++)for(int ny=y-1;ny<=y+1;ny++){
			if(nx<1||nx>n||ny<1||ny>m) continue;
			if(abs(nx-x)+abs(ny-y)!=1) continue;
			if(mp[nx][ny]=='#') continue;
			if(dis[nx][ny]<=dis[x][y]+1) continue;
			dis[nx][ny]=dis[x][y]+1;
			qx.push(nx);qy.push(ny);
		}
	}
	ans=0x12121212;
	rep(i,n)rep(j,m) if(dis[i][j]<=k) ans=min(ans,1+(min(min(i-1,n-i),min(j-1,m-j))+k-1)/k);
	cout<<ans<<endl;
	return 0;
}