using System;
using System.Collections.Generic;
class Program
{
	static void Main(string[] args)
	{
		string[] str = Console.ReadLine().Split();
		int H = int.Parse(str[0]);
		int W = int.Parse(str[1]);
		int[,] A = new int[H,W];
		for(var i=0;i<H;i++){
			string str2 = Console.ReadLine();
			for(var j=0;j<W;j++){
				if(str2.Substring(j,1)=="#"){
					A[i,j] = 1;
				}
			}
		}
		int ans = 0;
		for(var i=0;i<H;i++){
			for(var j=0;j<W;j++){
				int m = Math.Min(Math.Max(H,W),Math.Min(i,H-i)+Math.Min(j,W-j));
				for(var k=1;k<=m;k++){
					if(i-k>=0 && A[i-k,j] == 1 && i+k<H && A[i+k,j] == 1){
						if(j-k>=0 && A[i,j-k] == 1){
							ans += 1;
						}
						if(j+k<W && A[i,j+k] == 1){
							ans += 1;
						}
					}
					if(j-k>=0 && A[i,j-k] == 1 && j+k<W && A[i,j+k] == 1){
						if(i-k>=0 && A[i-k,j] == 1){
							ans += 1;
						}
						if(i+k<H && A[i+k,j] == 1){
							ans += 1;
						}
					}
					if(i-k>=0 && A[i-k,j] == 1 && j-k>=0 && A[i,j-k] == 1){
						for(var l=1;l<k;l++){
							if(i+k-l<H && j+l<W && A[i+k-l,j+l] == 1){
								ans += 1;
							}
						}
					}
					if(j-k>=0 && A[i,j-k] == 1 && i+k<H && A[i+k,j] == 1){
						for(var l=1;l<k;l++){
							if(i-k+l>=0 && j+l<W && A[i-k+l,j+l] == 1){
								ans += 1;
							}
						}
					}
					if(i+k<H && A[i+k,j] == 1 && j+k<W && A[i,j+k] == 1){
						for(var l=1;l<k;l++){
							if(i-k+l>=0 && j-l>=0 && A[i-k+l,j-l] == 1){
								ans += 1;
							}
						}
					}
					if(j+k<W && A[i,j+k] == 1 && i-k>=0 && A[i-k,j] == 1){
						for(var l=1;l<k;l++){
							if(i+k-l<H && j-l>=0 && A[i+k-l,j-l] == 1){
								ans += 1;
							}
						}
					}
				}
			}
		}
		Console.WriteLine(ans);
	}
}