#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int H, W;
cin >> H >> W;
vector<string> S(H);
for (int i = 0; i < H; i++) {
cin >> S[i];
}
vector<vector<int>> cntO(H, vector(W, 0));
for (int i = 0; i < H; i++) {
cntO[i][W - 1] = (S[i][W - 1] == 'O');
for (int j = W - 2; j >= 0; j--) {
cntO[i][j] = cntO[i][j + 1] + (S[i][j] == 'O');
}
}
vector<vector<int>> cntI(H, vector(W, 0));
for (int j = 0; j < W; j++) {
cntI[H - 1][j] = (S[H - 1][j] == 'I');
for (int i = H - 2; i >= 0; i--) {
cntI[i][j] = cntI[i + 1][j] + (S[i][j] == 'I');
}
}
long long ans = 0;
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
if (S[i][j] == 'J') {
ans += cntO[i][j] * cntI[i][j];
}
}
}
cout << ans << '\n';
}