#include <bits/stdc++.h>
using namespace std;
using Int = long long;
template <typename T1, typename T2>
inline void chmin(T1 &a, T2 b) {
  if (a > b) a = b;
}
template <typename T1, typename T2>
inline void chmax(T1 &a, T2 b) {
  if (a < b) a = b;
}
const Int MAX = 305;
Int ex[MAX * 2][MAX * 2];
Int dp[MAX * 2 + 2][MAX * 2 + 2];
signed main() {
  Int h, w;
  cin >> h >> w;
  vector<string> s(h);
  for (Int i = 0; i < h; i++) cin >> s[i];
  memset(ex, 0, sizeof(ex));
  for (Int i = 0; i < h; i++) {
    for (Int j = 0; j < w; j++) {
      if (s[i][j] != '#') continue;
      ex[1 + i + j][1 + i - j + MAX] = 1;
    }
  }
  auto ch = [&](Int i, Int j) -> Int {
    if (i < 0 || i >= MAX * 2) return 0;
    if (j < 0 || j >= MAX * 2) return 0;
    return ex[i][j];
  };
  Int ans = 0;
  for (Int k = 1; k < MAX * 2; k++) {
    for (Int i = 0; i < MAX * 2; i++)
      for (Int j = 1; j < MAX * 2; j++)
        dp[i][j + 1] = dp[i][j] + (ch(i, j) && ch(i, j - k));
    for (Int i = 1; i < MAX * 2; i++) {
      for (Int j = 1; j < MAX * 2; j++) {
        if (!ex[i][j]) continue;
        if (i - k >= 0)
          ans += dp[i - k][min(MAX * 2 - 1, j + k + 1)] - dp[i - k][j];
        if (i + k < MAX)
          ans += dp[i + k][min(MAX * 2 - 1, j + k + 1)] - dp[i + k][j];
      }
    }
    for (Int j = 0; j < MAX * 2; j++)
      for (Int i = 0; i < MAX * 2; i++)
        dp[i + 1][j] = dp[i][j] + (ch(i, j) && ch(i - k, j));
    for (Int i = 1; i < MAX * 2; i++) {
      for (Int j = 1; j < MAX * 2; j++) {
        if (!ex[i][j]) continue;
        if (j - k >= 0)
          ans += dp[min(MAX * 2 - 1, i + k + 1)][j - k] - dp[i][j - k];
        if (j + k < MAX)
          ans += dp[min(MAX * 2 - 1, i + k + 1)][j + k] - dp[i][j + k];
      }
    }
  }
  if (1) {
    for (Int i = 0; i < MAX * 2; i++) {
      for (Int j = 0; j < MAX * 2; j++) {
        if (!ex[i][j]) continue;
        for (Int k = 1; k < MAX * 2; k++) {
          if (ch(i + k, j) && ch(i, j + k)) ans--;
          if (ch(i + k, j) && ch(i, j - k)) ans--;
          if (ch(i - k, j) && ch(i, j + k)) ans--;
          if (ch(i - k, j) && ch(i, j - k)) ans--;
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
