using System;

public class Hello
{
    public static void Main()
    {
        string[] line = Console.ReadLine().Trim().Split(' ');
        var m = int.Parse(line[0]);
        var n = int.Parse(line[1]);
        var k = int.Parse(Console.ReadLine().Trim());
        var mapJ = new int[m, n];
        var mapO = new int[m, n];
        for (int i = 0; i < m; i++)
        {
            var s = Console.ReadLine().Trim();
            if (s[0] == 'J') mapJ[i, 0] = 1;
            else if (s[0] == 'O') mapO[i, 0] = 1;
            for (int j = 1; j < n; j++)
            {
                mapJ[i, j] = mapJ[i, j - 1];
                mapO[i, j] = mapO[i, j - 1];
                if (s[j] == 'J') mapJ[i, j]++;
                else if (s[j] == 'O') mapO[i, j]++;
            }
        }
        var mapJ2 = new int[m, n];
        var mapO2 = new int[m, n];
        for (int i = 0; i < m; i++)
            for (int j = 0; j < n; j++)
                if (i == 0)
                {
                    mapJ2[i, j] = mapJ[i, j];
                    mapO2[i, j] = mapO[i, j];
                }
                else
                {
                    mapJ2[i, j] = mapJ[i, j] + mapJ2[i - 1, j];
                    mapO2[i, j] = mapO[i, j] + mapO2[i - 1, j];
                }
        for (int i = 0; i < k; i++)
        {
            string[] line2 = Console.ReadLine().Trim().Split(' ');
            var a = int.Parse(line2[0]) - 1;
            var b = int.Parse(line2[1]) - 1;
            var c = int.Parse(line2[2]) - 1;
            var d = int.Parse(line2[3]) - 1;
            var t = (c - a + 1) * (d - b + 1);
            var ansJ = 0; var ansO = 0;
            if (a == 0 && b >= 1)
            {
                ansJ = mapJ2[c, d] - mapJ2[c, b - 1];
                ansO = mapO2[c, d] - mapO2[c, b - 1];
            }
            else if (a == 0 && b == 0) { ansJ = mapJ2[c, d]; ansO = mapO2[c, d]; }
            else if (a >= 1 && b >= 1)
            {
                ansJ = mapJ2[c, d] - mapJ2[c, b - 1] - mapJ2[a - 1, d] + mapJ2[a - 1, b - 1];
                ansO = mapO2[c, d] - mapO2[c, b - 1] - mapO2[a - 1, d] + mapO2[a - 1, b - 1];
            }
            else
            {
                ansJ = mapJ2[c, d] - mapJ2[a, d] + mapJ2[a, b];
                ansO = mapO2[c, d] - mapO2[a, d] + mapO2[a, b];
            }
            Console.WriteLine("{0} {1} {2}", ansJ, ansO, t - ansJ - ansO);
        }
    }
}

