#include <iostream>

using namespace std;

int n, m, max=1, c, d, e;

int maxim(int a[100][100], int i, int j)
{
    if(i==n)
    {
        if(a[i][j+1]==1)
            return i+j-1;
        else return i+j;
    }
    if(j==m)
    {
        if(a[i+1][j]==1)
            return i+j-1;
        else return i+j;
    }
    if(a[i][j+1]==1)
    {
        if(a[i+1][j]==1)
            return i+j-1;
        else
            return maxim(a, i+1, j);
    }
    else
    {
        if(a[i+1][j]==1)
            return maxim(a, i, j+1);
        else
        {
            d=maxim(a, i, j+1);
            e=maxim(a, i+1, j);
            if(d>e)return d;
            else return e;
        }
    }
}

int main()
{
    int a[100][100], i, j;
    char x;
    cin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            cin>>x;
            if(x=='.')a[i][j]=0;
            if(x=='&') a[i][j]=1;
        }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    cout<<maxim(a, 1, 1);
    return 0;
}