#include <bits/stdc++.h>
using namespace std;
long long bit[610][2049];
long long sum(int ind, int i) {
  int s = 0;
  while (i > 0) {
    s += bit[ind][i];
    i -= i & -i;
  }
  return s;
}
void add(int ind, int i, int x) {
  while (i <= 1024) {
    bit[ind][i] += x;
    i += i & -i;
  }
}
int main() {
  long long h, w;
  long long ans = 0;
  cin >> h >> w;
  vector<string> f;
  for (int i = 0; i < h; i++) {
    string x;
    cin >> x;
    f.push_back(x);
  }
  for (int i = 2; i <= h + w; i++) {
    for (int j = 1; j <= i - 1; j++) {
      if (j <= w && i - j <= h) {
        if (f[i - j - 1][j - 1] == '#') {
          add(i, j, 1);
        }
      }
    }
  }
  for (int i = 2; i <= h + w; i++) {
    for (int j = 1; j <= i - 1; j++) {
      if (f[i - j - 1][j - 1] == '#') {
        for (int k = j + 1; k >= i - 1; k++) {
          if (f[i - k - 1][k - 1] == '#') {
            if (i - 2 * (k - j) >= 2) {
              ans += bit[i - 2 * (k - j)][k - 2 * (k - j)] -
                     bit[i - 2 * (k - j)][max(j - 2 * (k - j), 0)];
            }
          }
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
