#joi2020yo2a. [joi2020_yo2_a]ポスター (Poster)

[joi2020_yo2_a]ポスター (Poster)

问题描述

JOI同学为了宣传班级在文化节上的节目,制作了一张海报。这张海报是一个 NNNN 列的方格状,每个格子都被染成红色、绿色或蓝色其中之一。从海报的上方开始,第 ii 行,从左边开始第 jj 列 (1iN1 \leqq i \leqq N1jN1 \leqq j \leqq N) 的格子的颜色为 Si,j=S_{i,j}=R 表示红色,Si,j=S_{i,j}=G 表示绿色,Si,j=S_{i,j}=B 表示蓝色。

然而,大家对这张海报并不满意。经过讨论,决定保持方格状的形状,通过改变颜色的排列来制作新的海报。新的海报中,从上方开始,第 ii 行,从左边开始第 jj 列 (1iN1 \leqq i \leqq N1jN1 \leqq j \leqq N) 的格子的颜色为 Ti,j=T_{i,j}=R 表示红色,Ti,j=T_{i,j}=G 表示绿色,Ti,j=T_{i,j}=B 表示蓝色。

JOI同学决定通过以下任一操作反复进行,以制作新的海报。

  • 选择一个格子,将这个格子的颜色重新染成任意颜色。

  • 将整个海报顺时针旋转 9090^\circ。这样,原来从上方开始,第 ii 行,从左边开始第 jj 列 (1iN1 \leqq i \leqq N1jN1 \leqq j \leqq N) 的格子移动到了从上方开始,第 jj 行,从右边开始第 Ni+1N-i+1 列。

  • 将整个海报逆时针旋转 9090^\circ。这样,原来从上方开始,第 ii 行,从左边开始第 jj 列 (1iN1 \leqq i \leqq N1jN1 \leqq j \leqq N) 的格子移动到了从上方开始,第 Nj+1N-j+1 行,从左边开始第 ii 列。

无论进行哪个操作,JOI同学都需要花费 11 分钟的时间。给定JOI同学制作的海报和新的海报的信息,请编写一个程序,计算出JOI同学制作新的海报所需的最短时间。

约束条件

  • 1N5001 \leqq N \leqq 500
  • Si,jS_{i,j}RGB 之一。
  • Ti,jT_{i,j}RGB 之一。

输入

从标准输入中按以下格式给出。

NN S1,1S1,NS_{1,1} \cdots S_{1,N} \vdots SN,1SN,NS_{N,1} \cdots S_{N,N} T1,1T1,NT_{1,1} \cdots T_{1,N} \vdots TN,1TN,NT_{N,1} \cdots T_{N,N}

输出

输出最短时间,用一行表示。


输入示例 1

3
RRR
GGG
BBB
RRR
RRR
RRR

输出示例 1

6

我们只需要将第二行和第三行的格子都染成红色即可。这需要 66 分钟的时间。


输入示例 2

3
RRR
GGG
BBB
RGB
RGB
RGB

输出示例 2

1

我们只需将整个海报逆时针旋转 9090^\circ。这需要 11 分钟的时间。


输入示例 3

6
RRRBBB
RRRBBB
RRRBBB
GGGRRG
GGGRRG
GGGBBR
RRRGGG
RRRGGG
RRRGGG
BBBRRB
BBBRRB
BBBGGR

输出示例 3

10