#include #define Nmax 128 using namespace std; int a[Nmax][Nmax]; bool ok[Nmax][Nmax]; int max(int a, int b){ if(a>b) return a; return b; } int sol; int main(){ int N,M; //freopen("fis.in","r",stdin); scanf("%d%d", &N, &M); for(int i = 1; i <= N; ++i) for(int j =1; j <= M; ++j){ char c; do{ scanf("%c", &c); }while(c=='\n'); if(c == '.') ok[i][j] = 1; } if(ok[1][1]) a[1][1] = 1; for(int i = 1; i <= N; ++i) for(int j =1; j <= M; ++j){ //Dreapta int ni = i; int nj = j+1; if(nj <= M && ok[ni][nj]) a[ni][nj] = max(a[ni][nj], a[i][j] + 1); sol = max(sol, a[ni][nj]); //Jos ni = i + 1; nj = j; if(ni <= N && ok[ni][nj]) a[ni][nj] = max(a[ni][nj], a[i][j] + 1); sol = max(sol, a[ni][nj]); } printf("%d\n", sol); return 0; }