#include <iostream>
#include <fstream>
using namespace std;

char map[1010][1010];
int sum[1010][1010][3] = {0};

int conv(char c) {
	
	if(c == 'J') {
		return 0;
	} else if(c == 'O') {
		 return 1;
	} else if(c == 'I') {
		return 2;
	} else {
		return -1;
	}
	
}

void calc(int a, int b, int c, int d) {

	int
		J = sum[c][d][0] - sum[a-1][d][0] - sum[c][b-1][0] + sum[a-1][b-1][0],
		O = sum[c][d][1] - sum[a-1][d][1] - sum[c][b-1][1] + sum[a-1][b-1][1],
		I = sum[c][d][2] - sum[a-1][d][2] - sum[c][b-1][2] + sum[a-1][b-1][2];
	cout << J << " " << O << " " << I << endl;

}

int main() {

	//ifstream cin("in/01.in");
	//ofstream cout("OUTPUT.txt");

	int M, N, K;
	
	cin >> M >> N >> K;
	
	for(int i = 0; i < M; i++) {
		cin >> map[i];
	}
	
	for(int i = 1; i <= M; i++) {
		for(int j = 1; j <= N; j++) {
			for(int k = 0; k < 3; k++) {
				sum[i][j][k] = sum[i-1][j][k] - sum[i-1][j-1][k] + sum[i][j-1][k] + (conv(map[i-1][j-1]) == k);
			}
		}
	}

	for(int i = 0; i < K; i++){
		int a, b, c, d;
		cin >> a >> b >> c >> d;
		calc(a, b, c, d);
	}

	return 0;

}