#include using namespace std; int main(){ int h,w,m;cin>>h>>w>>m; vector s(h); for(int i=0;i>s[i]; int inf=h*w*(m+1); vector>> dis(m+1,vector>(h,vector(w,inf))); queue> bfs; for(int i=0;i=h||ny<0||ny>=w)continue; if(s[nx][ny]=='#')continue; if(s[nx][ny]>='a'&&s[nx][ny]<='i'&&s[nx][ny]-'a'!=key-1)continue; int nkey=key; if(s[nx][ny]>='1'&&s[nx][ny]<='9')nkey=s[nx][ny]-'0'; if(dis[nkey][nx][ny]!=inf)continue; dis[nkey][nx][ny]=dis[key][x][y]+1; bfs.push({nkey,nx,ny}); } } cout<<(ans==inf?-1:ans)<<"\n"; }