This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
n, m = map(int,input().split())
v = []
for i in range(n):
    s = input()
    v += [s]
cnt_o = [[0 for i in range(m + 1)]for i in range(n + 1)]
cnt_i = [[0 for i in range(n + 1)]for i in range(m + 1)]
for i in range(n):
    x = 0
    for j in range(m):
        if v[i][j] == 'O':
            x += 1
        cnt_o[i][j] = x
for i in range(m):
    for j in range(n):
        ok = 0
        if v[j][i] == 'I':ok = 1
        cnt_i[i][j] = cnt_i[i][j - 1] + ok
ans  =0
for i in range(n):
    for j in range(m):
        if v[i][j] == 'J':
            print(i,j)
            x = cnt_o[i][m - 1] - cnt_o[i][j]
            y = cnt_i[j][n - 1] - cnt_i[j][i]
        #    print(x,y)
            ans += x * y
print(ans)
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |