#include <bits/stdc++.h>
using namespace std;
char Map[305][305];
int main() {
  int N, M, ans = 0, i, j, k;
  scanf("%d %d", &N, &M);
  for (i = 0; i < N; i++) {
    scanf("%s", &Map[i]);
  }
  for (i = 0; i < N; i++) {
    for (j = 0; j < M; j++) {
      if (Map[i][j] == '.') continue;
      for (k = j + 2; k < M; k += 2) {
        if (Map[i][k] == '.') continue;
        if (i + (k - j) / 2 < N && Map[i + (k - j) / 2][j + (k - j) / 2] == '#')
          ans++;
        if (i - (k - j) / 2 >= 0 &&
            Map[i - (k - j) / 2][j + (k - j) / 2] == '#')
          ans++;
      }
    }
  }
  for (i = 0; i < M; i++) {
    for (j = 0; j < N; j++) {
      if (Map[j][i] == '.') continue;
      for (k = j + 2; k < N; k += 2) {
        if (Map[k][i] == '.') continue;
        if (i + (k - j) / 2 < M && Map[j + (k - j) / 2][i + (k - j) / 2] == '#')
          ans++;
        if (i - (k - j) / 2 >= 0 &&
            Map[j + (k - j) / 2][i - (k - j) / 2] == '#')
          ans++;
      }
    }
  }
  for (i = 0; i < min(N, M); i++) {
    for (j = i + 2; j + i < min(N, M); j++) {
      if (Map[i][j] == '#' && Map[j][i] == '#' &&
          Map[(i + j) / 2][(j + i) / 2] == '#') {
        ans++;
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
