from collections import deque H,W,M=map(int,input().split()) S=[input() for _ in range(H)] for h in range(H): for w in range(W): if S[h][w]=="S":s=(h,w) elif S[h][w]=="G":g=(h,w) def pack(h,w,cnt,key,k): return h*(k**3)+w*(k**2)+cnt*k+key def unpack(v,k): return v//(k**3),v%(k**3)//(k**2),v%(k**2)//k,v%k K=500 D={"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9} vis=[[K*K for _ in range(W)] for _ in range(H)] Q=deque([pack(s[0],s[1],0,0,K)]) while Q: h,w,cnt,key=unpack(Q.popleft(),K) if cnt>=vis[h][w]:continue vis[h][w]=cnt if "1"<=S[h][w]<="9":key=int(S[h][w]) for dh,dw in ((-1,0),(1,0),(0,-1),(0,1)): if not (0<=h+dh