#include <bits/stdc++.h>
using namespace std;
unsigned long long over = 1000000007;
mt19937 mt(time(nullptr));
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cout << fixed;
  int h, w;
  cin >> h >> w;
  vector<string> s(h);
  for (int i = 0; i < h; ++i) {
    cin >> s[i];
  }
  int ans = 0;
  for (int i = 0; i < h; ++i) {
    for (int j = 0; j < w; ++j) {
      if (s[i][j] == '.') continue;
      for (int k = 1; i - k >= 0 && j - k >= 0 && j + k < h; ++k) {
        if (s[i - k][j - k] == '#' && s[i - k][j + k] == '#') ans++;
      }
      for (int k = 1; i + k < h && j - k >= 0 && j + k < w; ++k) {
        if (s[i + k][j - k] == '#' && s[i + k][j + k] == '#') ans++;
      }
      for (int k = 1; i - k >= 0 && j + k < w && i + k < h; ++k) {
        if (s[i - k][j + k] == '#' && s[i + k][j + k] == '#') ans++;
      }
      for (int k = 1; i - k >= 0 && j - k >= 0 && i + k < h; ++k) {
        if (s[i - k][j - k] == '#' && s[i + k][j - k] == '#') ans++;
      }
      for (int k = 1; i + 3 * k < h && j + 3 * k < w; k++) {
        if (s[i + 3 * k][j + k] == '#' && s[i + k][j + 3 * k] == '#') ans++;
      }
      for (int k = 1;
           i - 3 * k >= 0 && j + k < w && i + k < h && j - 3 * k >= 0; k++) {
        if (s[i - 3 * k][j + k] == '#' && s[i + k][j - 3 * k] == '#') ans++;
      }
      for (int k = 1;
           i + 3 * k < h && j - k >= 0 && i - k >= 0 && j + 3 * k < w; k++) {
        if (s[i + 3 * k][j - k] == '#' && s[i - k][j + 3 * k] == '#') ans++;
      }
      for (int k = 1; i - 3 * k >= 0 && j - 3 * k >= 0; k++) {
        if (s[i - 3 * k][j - k] == '#' && s[i - k][j - 3 * k] == '#') ans++;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
