#include<bits/stdc++.h>
using namespace std;
using ll = int64_t;
struct Po{
    int j, o, i;
    void operator += (Po p){
        this->j += p.j;
        this->o += p.o;
        this->i += p.i;
    }
    Po operator - (Po p){
        return Po{this->j - p.j, this->o - p.o, this->i - p.i};
    }
    Po operator + (Po p){
        return Po{this->j + p.j, this->o + p.o, this->i + p.i};
    }
};
int main(){
    int N, M, K;
    cin >> N >> M >> K;
    string s[N];
    for(int i = 0; i < N; i++) cin >> s[i];
    Po sum[N + 1][M + 1];
    for(int i = 0; i <= N; i++) sum[i][0] = Po{0, 0, 0};
    for(int i = 0; i <= M; i++) sum[0][i] = Po{0, 0, 0};
    for(int i = 1; i <= N; i++){
        for(int j = 0; j < M; j++){
            sum[i][j + 1] = sum[i][j];
            if(s[i - 1][j] == 'J') sum[i][j + 1].j++;
            if(s[i - 1][j] == 'O') sum[i][j + 1].o++;
            if(s[i - 1][j] == 'I') sum[i][j + 1].i++;
        }
    }
    for(int i = 0; i < N; i++){
        for(int j = 0; j <= M; j++){
            sum[i + 1][j] += sum[i][j];
        }
    }
    for(int i = 0; i < K; i++){
        int a, b, c, d;
        cin >> a >> b >> c >> d;
        auto tmp = sum[c][d] + sum[a - 1][b - 1] - sum[a - 1][d] - sum[c][b - 1];
        cout << tmp.j << " " << tmp.o << " " << tmp.i << endl;
    }
    return 0;
}
