#include using namespace std; int x[10001], y[10001], v[10001], a[101][101]; int main() {int n, m, i, j, max = 0, l, r, u; char k; ifstream in ("run.in"); ofstream out("run.out"); in >> n >> m; for (i = 1; i <= n; i++) { in.get(); for (j = 1; j <= m; j++) { in.get(k); if (k == '.') a[i][j] = 0; else a[i][j] = 1; } } l = 1; r = 1; x[1] = 1; y[1] = 1; if (!a[1][1]) v[1] = 1; while (l <= r) { if (v[l] > max) max = v[l], u = l; i = x[l]; j = y[l]; if ((!a[i + 1][j]) && (i < n)) { x[++r] = i + 1; y[r] = j; v[r] = v[l] + 1; } if ((!a[i][j + 1]) && (j < m)) { x[++r] = i; y[r] = j + 1; v[r] = v[l] + 1; } l++; } out << max << '\n'; return 0; }