#include using namespace std; using ll = long long; const ll MOD = 998244353; int main() { ll H, W; cin >> H >> W; vector S(H); for (ll i = 0; i < H; i++) cin >> S[i]; S[0][0] = '.'; S[H - 1][W - 1] = '.'; queue> que; que.emplace(0, 0, 0, 0); vector>> memo(3, vector>(H, vector(W, -1))); // 0: 普通 // 1: 上下 // 2: 左右 while (!que.empty()) { ll dis, t, x, y; tie(dis, t, x, y) = que.front(); que.pop(); if (t == 0 && S[x][y] == '#') continue; if (memo[t][x][y] == -1) { //cerr <