#1296. Problem C. 黑白立方格

Problem C. 黑白立方格

给定一个大小为 N×M×LN \times M\times L 的立方格,其中每个格点 (i,j,k)(i,j,k) 要么是白色要么是黑色,格点的坐标均为正整数。设翻转格点 (i,j,k)(i,j,k) 颜色的代价为 ai,j,ka_{i,j,k}。求翻转格点颜色的最小代价,使得左下角 (1,1,1)(1,1,1) 为黑色,右上角 (N,M,L)(N,M,L) 为白色,且任意两个不同格点 (i1,j1,k1)(i_1, j_1, k_1)(i2,j2,k2)(i_2,j_2,k_2) 至少满足以下条件之一。

  • i1>i2i_1 > i_2
  • j1>j2j_1 > j_2
  • k1>k2k_1 > k_2
  • (i1,j1,k1)(i_1, j_1, k_1) 是黑色的。
  • (i2,j2,k2)(i_2, j_2, k_2) 是白色的。

Input

第一行包含三个整数 N,M,LN, M, L1N,M,L5×1031\le N, M, L\le 5\times 10^32N×M×L5×1032 \leq N \times M \times L \leq 5\times 10^3),表示网格的大小。

接下来 L×NL \times N 行中,每行包含一个长度为 MM 的字符串,该字符串只由 \t{B} 和 \t{W} 组成。第 (k1)×N+i(k-1) \times N + i 行的第 jj 个字符是格点 (i,j,k)(i,j,k) 的初始颜色,如果这个字符为 \t{B},则表示格点颜色为黑色,否则为白色。

接下来 L×NL \times N 行中,每行包含 MM 个不大于 10510^5 的非负整数。第 (k1)×N+i(k-1) \times N + i 行的第 jj 个整数表示翻转格点 (i,j,k)(i,j,k) 颜色的代价。

Output

输出一行一个整数,表示最小代价。

Example

2 2 2
WW
WW
BB
BB
1 1
1 1
2 2
2 2
5