# include <iostream>
# include <cstring>
# include <algorithm>
using namespace std;
int n,m;
int v[ 110 ][ 110 ], drum[ 110 ][ 110 ];
char c;
int maxim = 0;
inline void next( int i, int j )
{
    if( v[ i ][ j ] != 0 )
        drum[ i ][ j ] = max( drum[ i - 1 ][ j ], drum[ i ][ j - 1  ] ) + v[ i ][ j ];
    maxim = max( maxim, drum[ i ][ j ] );
    if( i <= n && j<=m && v[ i+1 ][ j ] != 0  && drum[ i+1 ][ j ] == 0 )
        next( i+1, j );
    if( i <= n && j<=m && v[ i ][ j+1 ] != 0 && drum[ i ][ j+1 ] == 0 )
        next( i, j+1 );
}
int main()
{
    cin >> n >> m;
    cin.get();
    for( int i = 1; i <= n; ++i )
    {
        for( int j = 1; j <= m; ++j )
        {
            cin >> c;
            if( c == '&' )
                v[ i ][ j ] = 0;
            else
                v[ i ][ j ] = 1;
        }
        cin.get();
    }
    next( 1, 1 );
    cout << maxim;
}