#include <bits/stdc++.h>
using namespace std;

const int MAX = 1e6;

int cnt[MAX+4];
bool isSqr[MAX+4];

using pii = pair<int,int>;

long long coprimes(int l, int r){
    //[l,r]에서 x<y인 서로소 쌍의 수
    //전체에서 k로 동시에 나눠떨어지는걸로 포함배제하면 된다
    long long result = 1LL * (r-l+1) * (r-l) / 2;
    for(int i=2;i<=r;i++)if(!isSqr[i]){
        long long tmp = r/i - (l-1)/i;
        if(cnt[i]&1) result -= tmp*(tmp-1)/2;
        else result += tmp*(tmp-1)/2;
    }
    return result;
}

int main(){
    for(int i=2;i<=MAX;i++)if(cnt[i] == 0){
        for(int j=i;j<=MAX;j+=i) cnt[j]++;
        if(1LL*i*i<=MAX) for(int j=i*i;j<=MAX;j+=i*i) isSqr[j] = 1;
    }
    int L, R;
    scanf("%d%d",&L,&R);
    long long ans = 1LL*(R-L+1)*(R-L)/2;
    ans -= coprimes(L,R);
    for(int i=max(2,L);i<=R;i++) ans -= R/i-1;
    printf("%lld\n", ans*2);
    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main(){
  int H,W;
  cin>>H>>W;
  vector<vector<int>> p(H+1,vector<int>(W+1));
  for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
      char a;
      cin>>a;
      if(a=='.'){
        p[i][j]++;
      }
    }
  }
  int Z=0;
  for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
      if(p[i][j]){
        Z+=(p[i][j+1]+p[i+1][j]);
      }
    }
  }
  cout<<Z<<endl;
}