#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef long double LD; typedef vector VI; typedef pair PII; typedef vector VPII; #define MP make_pair #define ST first #define ND second #define PB push_back #define FOR(i,a,b) for( int i=(a); i<=(b); ++i) #define FORD(i,a,b) for( int i=(a); i>=(b); --i) #define REP(i,n) for(int i=0; i<(n); ++i) #define ALL(X) (X).begin(),(X).end() #define SIZE(X) (int)(X).size() #define FOREACH(it,X) for(__typeof((X).begin()) it=(X).begin(); it!=(X).end(); ++it) int n,m; const int N=20; const int INF=1000000000; char plansza[N][N]; int pom[N][N]; int dx[]={0,0,1,-1,0}; int dy[]={1,-1,0,0,0}; void wywroc(int i,int j){ REP(ruch,5){ int ni=i+dx[ruch]; int nj=j+dy[ruch]; if (ni>=0 && ni=0 && nj