Загрузка данных


def solve():
    while True:
        try:
            first_line = input().split()
            if not first_line:
                break
            
            n = int(first_line[0])
            m = int(first_line[1])
            k = int(first_line[2])
            
            grid = []
            for _ in range(n):
                grid.append(input().strip())
            
            edges_in_layer = n * (m + 1) + m * (n + 1)
            blue_count = 0
            
            for i in range(n):
                for j in range(m):
                    color = grid[i][j]
                    
                    if color == 'B':
                        blue_count += 1
                        
                    if j + 1 < m:
                        right_color = grid[i][j+1]
                        if (color == 'R' and right_color == 'R') or (color == 'G' and right_color == 'G'):
                            edges_in_layer -= 1
                            
                    if i + 1 < n:
                        down_color = grid[i+1][j]
                        if (color == 'R' and down_color == 'R') or (color == 'G' and down_color == 'G'):
                            edges_in_layer -= 1

            total_faces = k * edges_in_layer
            total_faces += (k + 1) * n * m - (k - 1) * blue_count
            
            print(total_faces)
            
        except EOFError:
            break

solve()