#include <bits/stdc++.h>
using namespace std;
class p {
 public:
  int j, o, i;
  p();
  p operator+(p p1);
  p operator-(p p1);
};
p::p() {
  j = 0;
  o = 0;
  i = 0;
}
p p::operator+(p p1) {
  p tmp;
  tmp.j = j + p1.j;
  tmp.o = o + p1.o;
  tmp.i = i + p1.i;
  return tmp;
}
p p::operator-(p p1) {
  p tmp;
  tmp.j = j - p1.j;
  tmp.o = o - p1.o;
  tmp.i = i - p1.i;
  return tmp;
}
char map1[1010][1010];
p map2[1010][1010] = {};
int main() {
  int m, n, k;
  cin >> m >> n >> k;
  for (int i = 1; i <= m; i++) {
    for (int j = 1; j <= n; j++) {
      cin >> map1[i][j];
    }
  }
  for (int i = 1; i <= m; i++) {
    for (int j = 1; j <= n; j++) {
      map2[i][j] = map2[i - 1][j] + map2[i][j - 1] - map2[i - 1][j - 1];
      if (map1[i][j] == 'J') map2[i][j].j++;
      if (map1[i][j] == 'O') map2[i][j].o++;
      if (map1[i][j] == 'I') map2[i][j].i++;
    }
  }
  for (int i = 0; i <= k; i++) {
    int x1, y1, x2, y2;
    cin >> x1 >> y1 >> x2 >> y2;
    p ans;
    ans = map2[x2][y2] - map2[x1 - 1][y2] - map2[x2][y1 - 1] +
          map2[x1 - 1][y1 - 1];
    cout << ans.j << ' ' << ans.o << ' ' << ans.i << endl;
  }
}
