#include <iostream> #include <fstream> #include <queue> using namespace std; int a[102][102]; char c[102][102]; int n,i,m,j; int ok(int i,int j,int n,int m) { if(i>=0&&i<n&&j>=0&&j<m) return 1; return 0; } void citeste(int &n,int &m) { ifstream f("run.in"); int i,j; cin>>n>>m; for(i=1;i<=n;i++) for(j=1;j<=m;j++) cin>>c[i][j]; } int rezolva() { if(n==1 && m==1 && c[1][1]=='.') return 1; else if(c[1][1]!='.') return 0; a[1][1] = 1; int maxi=0; for(i=1;i<=n;i++) for(j=1;j<=m;j++) { if(c[i][j]=='.') { if(c[i][j-1]=='.') a[i][j] = a[i][j-1] + 1; if(c[i-1][j]=='.') if(a[i-1][j]>a[i][j]) a[i][j] = a[i-1][j] + 1; if(a[i][j]>maxi) maxi = a[i][j]; } } return maxi; } int main() { citeste(n,m); cout<<rezolva(); return 0; }