#include <bits/stdc++.h>
using namespace std;
char tt[1000][1000];
int jj[1000][1000];
int oo[1000][1000];
int ii[1000][1000];
void f(int, int);
int main() {
  int n, m, k;
  scanf("%d%d%d", &m, &n, &k);
  for (int i = 0; i < m; i++) {
    scanf("%s", tt[i]);
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      f(i, j);
    }
  }
  for (int i = 0; i < k; i++) {
    int y1, x1, y2, x2;
    scanf("%d%d%d%d", &y1, &x1, &y2, &x2);
    x1--;
    x1--;
    y1--;
    y1--;
    x2--;
    y2--;
    int jm = (jj[y1][x2] - jj[y1][x1]) + jj[y2][x1];
    int om = (oo[y1][x2] - oo[y1][x1]) + oo[y2][x1];
    int im = (ii[y1][x2] - ii[y1][x1]) + ii[y2][x1];
    printf("%d %d %d\n", jj[y2][x2] - jm, oo[y2][x2] - om, ii[y2][x2] - im);
  }
  return 0;
}
void f(int x, int y) {
  if (x == 0 && y == 0) {
    jj[0][0] = 0;
    ii[0][0] = 0;
    ii[0][0] = 0;
  } else if (x == 0) {
    jj[y][0] = jj[y - 1][0];
    ii[y][0] = ii[y - 1][0];
    oo[y][0] = oo[y - 1][0];
  } else if (y == 0) {
    jj[0][x] = jj[0][x - 1];
    ii[0][x] = ii[0][x - 1];
    oo[0][x] = oo[0][x - 1];
  } else {
    jj[y][x] = (jj[y - 1][x] - jj[y - 1][x - 1]) + jj[y][x - 1];
    oo[y][x] = (oo[y - 1][x] - oo[y - 1][x - 1]) + oo[y][x - 1];
    ii[y][x] = (ii[y - 1][x] - ii[y - 1][x - 1]) + ii[y][x - 1];
  }
  if (tt[y][x] == 'J')
    jj[y][x]++;
  else if (tt[y][x] == 'O')
    oo[y][x]++;
  else if (tt[y][x] == 'I')
    ii[y][x]++;
}
