#include <bits/stdc++.h>
using namespace std;
int h, w;
string s[303];
int main() {
  cin >> h >> w;
  for (int i = 0; i < h; i++) {
    cin >> s[i];
  }
  long long ans = 0;
  int dx[4] = {1, 1, -1, -1}, dy[4] = {-1, 1, 1, -1};
  for (int i = 0; i < h; i++)
    for (int j = 0; j < w; j++) {
      if (s[i][j] == '.') continue;
      for (int S = 1; S < h; S++) {
        for (int k = 0; k < 2; k++) {
          int nx = i + dx[k] * S, ny = j + dy[k] * S;
          if (nx < 0 || nx >= h) continue;
          if (ny < 0 || ny >= w) continue;
          if (s[nx][ny] == '.') continue;
          for (int cnt = 0; cnt <= S; cnt++) {
            int nnx = i + S * 2 - cnt, nny = j - cnt * dy[k];
            if (nnx >= 0 && nnx < h && nny >= 0 && nny < w) {
              if (s[nnx][nny] == '#') {
                ans++;
              }
            }
            nnx = nx - S * 2 + cnt;
            nny = ny + cnt * dy[k];
            if (nnx >= 0 && nnx < h && nny >= 0 && nny < w) {
              if (s[nnx][nny] == '#') {
                ans++;
              }
            }
          }
        }
        for (int k = 0; k < 4; k++) {
          int nx = i + S * dx[k], ny = j + S * dy[k];
          int kk = (k + 1) % 4;
          int nnx = i + S * dx[kk], nny = j + S * dy[kk];
          if (nx >= 0 && nx < h && ny >= 0 && ny < w) {
            if (nnx >= 0 && nnx < h && nny >= 0 && nny < w) {
              if (s[nx][ny] == '#' && s[nnx][nny] == '#') ans--;
            }
          }
        }
      }
    }
  cout << ans << endl;
  return 0;
}
