#include using namespace std; int n, m, smax = 0, v[102][102], s[100002][2], q; char a[102][102]; int maxim (int aa, int bb, int cc) { if ( aa >= bb && aa > cc ) return aa; if ( bb >= aa && bb > cc ) return bb; return cc; } int main() { cin >> n >> m; for (int i = 1; i <= n; i ++ ) for ( int j = 1; j <= m; j ++ ) cin >> a[i][j]; if ( a[1][1] == '&' ) cout << 0; else { v[1][1] = 1; s[++q][1] = 1, s[q][2] = 1; int i, j; for (int t = 1; t <= q; t ++ ) { i = s[t][1], j = s[t][2]; if ( a[i][j+1] == '.' ) { if ( v[i][j+1] < v[i][j] + 1 ) { v[i][j+1] = v[i][j] + 1; s[++q][1] = i; s[q][2] = j+1;} } if ( a[i+1][j] == '.' ) { if ( v[i+1][j] < v[i][j] + 1 ) { v[i+1][j] = v[i][j] + 1; s[++q][1] = i+1; s[q][2] = j;} } if ( v[i][j] > smax ) smax = v[i][j]; } cout << smax; } return 0; }