#include <bits/stdc++.h>
using namespace std;
int t[501][501][9];
int main() {
  int n, m;
  cin >> n >> m;
  char ch;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cin >> ch;
      t[i][j][0] = -2 * (ch == '.');
    }
  }
  int ans = 0;
  for (int k = 1, s = 0; k <= n / 2 && k <= m / 2; k *= 2, s++) {
    for (int i = 1; i <= n - 2 * k + 1; i++) {
      for (int j = 1; j <= m - 2 * k + 1; j++) {
        int pattern = 0, kk = -1;
        bool f = true;
        for (int ii = 0, i1 = i; ii < 2 && f; ii++, i1 += k) {
          for (int jj = 0, j1 = j; jj < 2; jj++, j1 += k) {
            pattern *= 2;
            if (t[i1][j1][s] == -1) {
              f = false;
              break;
            }
            if (kk == -1) {
              if (!(t[i1][j1][s] <= 0)) kk = t[i1][j1][s];
            } else if (t[i1][j1][s] > 0 && t[i1][j1][s] != kk) {
              f = false;
              break;
            }
            if (t[i1][j1][s] != 0) pattern++;
          }
        }
        if (!f)
          t[i][j][s + 1] = -1;
        else if (pattern == 0)
          t[i][j][s + 1] = 0;
        else if (kk == -1)
          t[i][j][s + 1] = pattern;
        else if (kk == pattern)
          t[i][j][s + 1] = kk;
        else
          t[i][j][s + 1] = -1;
        if (k >= 2 && t[i][j][s + 1] >= 0) ans++;
      }
    }
  }
  cout << ans << endl;
}
