#include<bits/stdc++.h> using namespace std; int n,m,b[1000][1000],fx[4]={-1,1,0,0},fy[4]={0,0,-1,1},c,d,e,f; char a[1000][1000]; void dfs(int x,int y,int k){ b[x][y]=k; for(int i=0;i<=3;i++){ int tx=x+fx[i]; int ty=y+fy[i]; if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&a[tx][ty]!='#'){ if(a[tx][ty]=='x'&&k+2<b[tx][ty])dfs(tx,ty,k+2); else if(a[tx][ty]!='x'&&k+1<b[tx][ty])dfs(tx,ty,k+1); } } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; b[i][j]=5000; if(a[i][j]=='a'){ c=i; d=j; } if(a[i][j]=='r'){ e=i; f=j; } } } dfs(e,f,0); if(b[c][d]==5000)cout<<"Impossible"; else { cout<<b[c][d]; } return 0; } /************************************************************** Problem: 1901 User: chenjingqi Language: C Result: Compile Error ****************************************************************/