#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
register int x=0,w=1;
register char ch;
while(ch<'0'||ch>'9'){
if(ch=='-')
w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
return x*w;
}
signed main(){
register int ans,n,m;
register char mp[1001][1001];
register char fail[1001];
register char s[1001];
n=read();
m=read();
for(register int i(1);i<=n;++i){
cin>>s;
for(register int j(1);j<=m;++j){
mp[i][j]=s[j-1]=='.'?1:0;
}
}
for(register int up(1);up<=n;++up){
memset(fail,0,sizeof(fail));
for(register int down(up);down<=n;++down){
for(register int i(1);i<=m;i++){
if(!mp[down][i]){
fail[i]=1;
}
}
for(register int l(1);l<=m;++l){
register int r=l;
while(!fail[r]&&r<=m){
++r;
}
ans+=((r-l+1)*(r-l))>>1;
l=r;
}
}
}
printf("%lld",ans);
return 0;
}
第8个点TLE,帮帮孩子吧