#include <bits/stdc++.h>
using namespace std;
long long H, W, MAX;
int coin[3333][3333];
long long bS[333][333], bSB[333][333];
long long S[3333][3333], BS[3333][3333];
long long ans;
long long i, j, k;
int main() {
  scanf("%lld%lld", &H, &W);
  MAX = H > W ? H : W;
  for (i = 0; i < H; i++) {
    char str[333];
    scanf("%s", str);
    for (j = 0; j < W; j++) {
      if (str[j] == '#') {
        coin[i + 1000][j + 1000] = 1;
      }
    }
  }
  for (i = 1; i < 2000; i++) {
    for (j = 1; j < 2000; j++) {
      BS[i][j] = BS[i - 1][j - 1] + (coin[i][j] ? 1 : 0);
      S[i][W - j + 1999] =
          S[i - 1][W - j + 2000] + (coin[i][W - j + 1999] ? 1 : 0);
    }
  }
  for (i = 0; i < H; i++) {
    for (j = 0; j < W; j++) {
      printf("%lld:%lld ", BS[i + 1000][j + 1000], S[i + 1000][j + 1000]);
    }
    printf("\n");
  }
  for (i = 0; i < H; i++) {
    for (j = 0; j < W; j++) {
      for (k = 1; k < MAX * 2; k++) {
        if (coin[i + k + 1000][j + 1000] && coin[i + 1000][j + k + 1000]) {
          ans += S[i + 1000][j - k + 1000] - S[i - k + 999][j + 1001];
        }
        if (coin[i - k + 1000][j + 1000] && coin[i + 1000][j - k + 1000]) {
          ans += S[i + k + 1000][j + 1000] - S[i + 999][j + k + 1001];
        }
        if (coin[i - k + 1000][j + 1000] && coin[i + 1000][j + k + 1000]) {
          ans += BS[i + k + 999][j + 999] - BS[i + 1000][j - k + 1000];
        }
        if (coin[i + k + 1000][j + 1000] && coin[i + 1000][j - k + 1000]) {
          ans += BS[i + 999][j + k + 999] - BS[i - k + 1000][j + 1000];
        }
      }
    }
  }
  printf("%lld\n", ans);
  return 0;
}
