#include<bits/stdc++.h>
using namespace std;
int main()
{
    int h,w;
    cin>>h>>w;
    char c;
    int in[h][w];
    for(int i=0;i<h;i++)
    {
        for(int j=0;j<w;j++)
        {
            cin>>c;
            if(c=='.')in[i][j]=0;
            else in[i][j]=1;
        }
    }
        int ans=0;
        for(int i=1;i<h;i++)
        {
            for(int j=0;j<w-1;j++)
            {
               int sum=in[i-1][j]+in[i-1][j+1]+in[i][j]+in[i][j+1];
               if(sum==1 || sum==3)ans+=1;
            }
        }
    cout<<ans;
    return 0;
}
#include <bits/stdc++.h>
// #include <atcoder/all>
#define rep(i,n) for(int i = 0; i < (n); ++i)
#define rep1(i,n) for(int i = 1; i <= (n); ++i)
// #define MOD 998'244'353
// #define MOD 1'000'000'007
// #define INF 1'000'000'000'000'000'000
using namespace std;
// using namespace atcoder;
typedef long long ll;

int main(){
    int N;
    cin >> N;
    int a[N+1];
    int b[N+1];
    int c[N+1];
    rep1(i, N) cin >> a[i];
    rep1(i, N) cin >> b[i];
    rep1(i, N) cin >> c[i];
    a[0] = 0;
    b[0] = 0;
    c[0] = 0;

    ll ans = 0;

    map<int, ll> mpa;
    map<int, ll> mpbc;

    rep1(i, N){
        mpa[a[i]]++;
    }
    rep1(j, N){
        mpbc[b[c[j]]]++;
    }

    rep1(i, N){
        ans += mpa[i] * mpbc[i];
    }


    cout << ans << endl;

    return 0;
}