#include<bits/stdc++.h>
int n,m,k,ans=0x3f3f3f3f;
char s[807][807];
int d[807][807],q[807*807][2],ql=0,qr=0;
void mins(int&a,int b){if(a>b)a=b;}
int min(int a,int b){return a<b?a:b;}
void push(int x,int y,int z){
	if(!d[x][y]&&s[x][y]=='.'&&z<=k+1){
		d[x][y]=z;
		q[++qr][0]=x;
		q[qr][1]=y;
	}
}
int main(){
	scanf("%d%d%d",&n,&m,&k);
	for(int i=1;i<=n;++i){
		scanf("%s",s[i]+1);
		for(int j=1;j<=m;++j)if(s[i][j]=='S')s[i][j]='.',push(i,j,1);
	}
	while(ql!=qr){
		int x=q[++ql][0],y=q[ql][1],z=d[x][y]+1;
		if(x>1)push(x-1,y,z);
		if(x<n)push(x+1,y,z);
		if(y>1)push(x,y-1,z);
		if(y<n)push(x,y+1,z);
		mins(ans,1+(min(min(x-1,n-x),min(y-1,m-y))+k-1)/k);
	}
	printf("%d\n",ans);
	return 0;
}