#include using namespace std; #define ll long long // #define rep(i,n) for(int i=0;i<(int)n;i++) #define rep(i,r) for(ll i=0;i<(ll)r;i++) #define vi vector #define vl vector #define vd vector #define vb vector #define vs vector #define vc vector #define ull unsigned long long #define chmax(a,b) a=max(a,b) #define chmin(a,b) a=min(a,b) // ll inf=(1ll<<62); // ll rui(ll a,ll b){ // if(b==0)return 1; // if(b%2==1) return a*rui(a*a,b/2); // return rui(a*a,b/2); // } // ll const mod=998244353ll; // ll modrui(ll a,ll b){ // if(b==0)return 1; // if(b%2==1) return a%mod*modrui(a%mod*a%mod,b/2)%mod; // return modrui(a%mod*a%mod,b/2)%mod; // } // ll inv(ll x){ // return modrui(x,mod-2); // } void solve(){ ll h,w,m;cin >> h >> w >> m; vs room(h); rep(i,h)cin >> room[i]; ll dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; vector> used(h,vector(w,vb(10,0))); deque> dq(0); rep(i,h)rep(j,w)if(room[i][j]=='S'){ dq.push_back({i,j,0,0}); used[i][j][0]=1; } while(!dq.empty()){ ll i=dq[0][0],j=dq[0][1],key=dq[0][2],d=dq[0][3]; dq.pop_front(); rep(k,4){ ll ni=i+dx[k],nj=j+dy[k]; if(0<=ni && ni> t; while(t--)solve(); }