func_code_string: #include <bits/stdc++.h>   using namespace std;   const int sz = 501;   const int sz2 = 16;   int n, m;   string a[sz];   bool dp[sz][sz][sz2][sz2];   void solve() {     cin >> n >> m;     for (int i = 0; i < n; i++) cin >> a[i];     long long ans = 0;     for (int i = 0; i < n; i++) {       for (int j = 0; j < m; j++) {         if (i + 1 < n && j + 1 < m) {           int mask = 0;           if (a[i][j] ==  * ) mask += (1 << 0);           if (a[i][j + 1] ==  * ) mask += (1 << 1);           if (a[i + 1][j] ==  * ) mask += (1 << 2);           if (a[i + 1][j + 1] ==  * ) mask += (1 << 3);           dp[i][j][0][mask] = 1;         }       }     }     for (int k = 1; k < sz2; k++) {       for (int i = 0; i < n; i++) {         for (int j = 0; j < m; j++) {           int l = (1 << k);           for (int t = 0; t < sz2; t++) {             dp[i][j][k][t] = 1;             if (((t >> 0) & 1) == 1)               dp[i][j][k][t] &= dp[i][j][k - 1][15];             else               dp[i][j][k][t] &= dp[i][j][k - 1][t];             if (((t >> 1) & 1) == 1 && j + l < m)               dp[i][j][k][t] &= dp[i][j + l][k - 1][15];             else if (j + l < m)               dp[i][j][k][t] &= dp[i][j + l][k - 1][t];             else               dp[i][j][k][t] = 0;             if (((t >> 2) & 1) == 1 && i + l < n)               dp[i][j][k][t] &= dp[i + l][j][k - 1][15];             else if (i + l < n)               dp[i][j][k][t] &= dp[i + l][j][k - 1][t];             else               dp[i][j][k][t] = 0;             if (((t >> 3) & 1) == 1 && i + l < n && j + l < m)               dp[i][j][k][t] &= dp[i + l][j + l][k - 1][15];             else if (i + l < n && j + l < m)               dp[i][j][k][t] &= dp[i + l][j + l][k - 1][t];             else               dp[i][j][k][t] = 0;             if (dp[i][j][k][t]) ans++;           }         }       }     }     cout << ans;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     int q = 1;     for (; q > 0; q--) {       solve();       cout <<   n ;     }   }   