#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll INF = 1e9;
const ll MOD = 1e9 + 7;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int H, W;
int K;
string s[1003];
int imos[3][1003][1003];
int get(int i, int y, int x) {
  if (y < 0 || x < 0) return 0;
  return imos[i][y][x];
}
int get(int i, int y1, int x1, int y2, int x2) {
  return get(i, y2, x2) - get(i, y2, x1 - 1) - get(i, y1 - 1, x2) +
         get(i, y1 - 1, x1 - 1);
}
int main() {
  cin >> H >> W >> K;
  for (int i = 0; i < (int)(H); i++) cin >> s[i];
  for (int y = 0; y < (int)(H); y++)
    for (int x = 0; x < (int)(W); x++) {
      int t = 0;
      if (s[y][x] == 'O') t = 1;
      if (s[y][x] == 'I') t = 2;
      imos[t][y][x]++;
    }
  for (int i = 0; i < (int)(3); i++)
    for (int y = 0; y < (int)(1003); y++)
      for (int x = 0; x < (int)(1003); x++)
        if (x) {
          imos[i][y][x] += imos[i][y][x - 1];
        }
  for (int i = 0; i < (int)(3); i++)
    for (int y = 0; y < (int)(1003); y++)
      for (int x = 0; x < (int)(1003); x++)
        if (y) {
          imos[i][y][x] += imos[i][y - 1][x];
        }
  for (int _ = 0; _ < (int)(K); _++) {
    int y1, x1;
    int y2, x2;
    cin >> y1 >> x1 >> y2 >> x2;
    y1--, x1--;
    y2--, x2--;
    for (int i = 0; i < (int)(3); i++) cout << get(i, y1, x1, y2, x2) << " ";
    cout << endl;
  }
  return 0;
}
