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()