#include <cstdio>

int maps[1005][1005][3]={{{0}}};
int main(void){
  int m,n,k;
  scanf("%d%d%d",&m,&n,&k);
  int i,j,p;
  char zi[1002];
  for(i=1;i<=m;i++){
    scanf("%s",zi);
    for(j=1;j<=n;j++){
      for(p=0;p<3;p++){
	maps[i][j][p]=maps[i-1][j][p]+maps[i][j-1][p]-maps[i-1][j-1][p];
      }
      switch(zi[j-1]){
      case 'J':
	maps[i][j][0]++;
	break;
      case 'O':
	maps[i][j][1]++;
	break;
      case 'I':
	maps[i][j][2]++;
	break;
      }
    }
  }
  int a,b,c,d;
  int ans[3]={0};
  for(i=0;i<k;i++){
    scanf("%d%d%d%d",&a,&b,&c,&d);
    for(p=0;p<3;p++){
      ans[p]=maps[c][d][p]-maps[c][b-1][p]-maps[a-1][d][p]+maps[a-1][b-1][p];
    }
    printf("%d %d %d\n",ans[0],ans[1],ans[2]);
  }
  return 0;
}