#include<bits/stdc++.h>
using namespace std;
int br=-1;
void tablica(int i,int j,string a[],int h,int w,int t,string vrsta){
	if(i==h-1&&j==w-1){
			cout<<1<<endl;
		if(br==-1)br=t;
		else{
			br=min(br,t);
		}
		return;
	}
	a[i][j]='#';
	//kralj
	if(i-1>0&&a[i-1][j]!='#'){
		if(vrsta=="kralj")tablica(i-1,j,a,h,w,t+1,"kralj");
		else tablica(i-1,j,a,h,w,t+2,"kralj");
	}
	if(j-1>0&&a[i][j-1]!='#'){
		if(vrsta=="kralj")tablica(i,j-1,a,h,w,t+1,"kralj");
		else tablica(i,j-1,a,h,w,t+2,"kralj");
	}
	if(i+1<h&&a[i+1][j]!='#'){
		if(vrsta=="kralj")tablica(i+1,j,a,h,w,t+1,"kralj");
		else tablica(i+1,j,a,h,w,t+2,"kralj");
	}
	if(j+1<w&&a[i][j+1]!='#'){
		if(vrsta=="kralj")tablica(i,j+1,a,h,w,t+1,"kralj");
		else tablica(i,j+1,a,h,w,t+2,"kralj");
	}
	
	if(i-1>0&&j-1>0&&a[i-1][j-1]!='#'){
		if(vrsta=="kralj")tablica(i-1,j-1,a,h,w,t+1,"kralj");
		else tablica(i-1,j-1,a,h,w,t+2,"kralj");
	}
	if(i+1>h&&j+1>w&&a[i+1][j+1]!='#'){
		if(vrsta=="kralj")tablica(i+1,j+1,a,h,w,t+1,"kralj");
		else tablica(i+1,j+1,a,h,w,t+2,"kralj");
	}
	if(i-1>0&&j+1<w&&a[i-1][j+1]!='#'){
		if(vrsta=="kralj")tablica(i-1,j+1,a,h,w,t+1,"kralj");
		else tablica(i-1,j+1,a,h,w,t+2,"kralj");
	}
	if(i+1<h&&j-1>0&&a[i+1][j-1]!='#'){
		if(vrsta=="kralj")tablica(i+1,j-1,a,h,w,t+1,"kralj");
		else tablica(i+1,j-1,a,h,w,t+2,"kralj");
	}
	//lovac
	int i1,j1;
	i1=i+1;
	j1=j+1;
	while(i1<h&&j1<w){
		if(a[i1][j1]!='#'){
			if(vrsta=="lovac")tablica(i1,j1,a,h,w,t+1,"lovac");
			else tablica(i1,j1,a,h,w,t+3,"lovac");
		}
		i1++;
		j1++;
	}
	i1=i-1;
	j1=j-1;
	while(i1>0&&j1>0){
		if(a[i1][j1]!='#'){
			if(vrsta=="lovac")tablica(i1,j1,a,h,w,t+1,"lovac");
			else tablica(i1,j1,a,h,w,t+3,"lovac");
		}
		i1--;
		j1--;
	}
	i1=i+1;
	j1=j-1;
	while(i1<h&&j1>0){
		if(a[i1][j1]!='#'){
			if(vrsta=="lovac")tablica(i1,j1,a,h,w,t+1,"lovac");
			else tablica(i1,j1,a,h,w,t+3,"lovac");
		}
		i1++;
		j1--;
	}
	i1=i-1;
	j1=j+1;
	while(i1>0&&j1<w){
		if(a[i1][j1]!='#'){
			if(vrsta=="lovac")tablica(i1,j1,a,h,w,t+1,"lovac");
			else tablica(i1,j1,a,h,w,t+3,"lovac");
		}
		i1--;
		j1++;
	}
	//top
	i1=i-1;
	while(i1>0){
		if(a[i1][j]!='#'){
			if(vrsta=="top")tablica(i1,j,a,h,w,t+1,"top");
			else tablica(i1,j,a,h,w,t+4,"top");
		}
	}
	i1=i+1;
	while(i1<h){
		if(a[i1][j]!='#'){
			if(vrsta=="top")tablica(i1,j,a,h,w,t+1,"top");
			else tablica(i1,j,a,h,w,t+4,"top");
		}
	}
	j1=j-1;
	while(j1>0){
		if(a[i][j1]!='#'){
			if(vrsta=="top")tablica(i,j1,a,h,w,t+1,"top");
			else tablica(i,j1,a,h,w,t+4,"top");
		}
	}
	j1=j+1;
	while(j1<w){
		if(a[i][j1]!='#'){
			if(vrsta=="top")tablica(i,j1,a,h,w,t+1,"top");
			else tablica(i,j1,a,h,w,t+4,"top");
		}
	}
	//konj
	
	//kraljica
	//kraljicalovac
	i1=i+1;
	j1=j+1;
	while(i1<h&&j1<w){
		if(a[i1][j1]!='#'){
			if(vrsta=="kraljica")tablica(i1,j1,a,h,w,t+1,"kraljica");
			else tablica(i1,j1,a,h,w,t+6,"kraljica");
		}
		i1++;
		j1++;
	}
	i1=i-1;
	j1=j-1;
	while(i1>0&&j1>0){
		if(a[i1][j1]!='#'){
			if(vrsta=="kraljica")tablica(i1,j1,a,h,w,t+1,"kraljica");
			else tablica(i1,j1,a,h,w,t+6,"kraljica");
		}
		i1--;
		j1--;
	}
	i1=i+1;
	j1=j-1;
	while(i1<h&&j1>0){
		if(a[i1][j1]!='#'){
			if(vrsta=="kraljica")tablica(i1,j1,a,h,w,t+1,"kraljica");
			else tablica(i1,j1,a,h,w,t+6,"kraljica");
		}
		i1++;
		j1--;
	}
	i1=i-1;
	j1=j+1;
	while(i1>0&&j1<w){
		if(a[i1][j1]!='#'){
			if(vrsta=="kraljica")tablica(i1,j1,a,h,w,t+1,"kraljica");
			else tablica(i1,j1,a,h,w,t+6,"kraljica");
		}
		i1--;
		j1++;
	}
	//kraljicatop
		i1=i-1;
	while(i1>0){
		if(a[i1][j]!='#'){
			if(vrsta=="kraljica")tablica(i1,j,a,h,w,t+1,"kraljica");
			else tablica(i1,j,a,h,w,t+6,"kraljica");
		}
	}
	i1=i+1;
	while(i1<h){
		if(a[i1][j]!='#'){
			if(vrsta=="kraljica")tablica(i1,j,a,h,w,t+1,"kraljica");
			else tablica(i1,j,a,h,w,t+6,"kraljica");
		}
	}
	j1=j-1;
	while(j1>0){
		if(a[i][j1]!='#'){
			if(vrsta=="kraljica")tablica(i,j1,a,h,w,t+1,"kraljica");
			else tablica(i,j1,a,h,w,t+6,"kraljica");
		}
	}
	j1=j+1;
	while(j1<w){
		if(a[i][j1]!='#'){
			if(vrsta=="kraljica")tablica(i,j1,a,h,w,t+1,"kraljica");
			else tablica(i,j1,a,h,w,t+6,"kraljica");
		}
	}
}
int main(){
	int h,w;
	cin>>h>>w;
	string a[h];
	for(int i=0;i<h;i++)cin>>a[i];
	tablica(0,0,a,h,w,0,"kralj");
	cout<<br;
}