炉石collection

题目描述

小 Z 最近沉迷于一个叫做炉石 collection 的游戏。在游戏中,你需要使用排在 $N \times N$ 的矩阵内的卡牌来击败你的敌人。 在这个游戏中,排兵布阵是游戏的一个重要内容,例如“日怒保卫者”和“上古看守者”放在一起可以起到更好的效果。为了游戏的平衡性,同样种类的卡牌最多只能出战 $2$ 张。 在一次激烈的战斗之后,小 Z 想要重新编排他的队伍。在游戏中,小 Z 可以支付 $A$ 枚金币让你任意横向交换卡牌,支付 $B$ 枚金币让你任意纵向交换卡牌。 你只需要支付一次金币就可以进行某种类型的交换任意次,直到你停下并进行另一种类型的交换,此时需要支付另一种类型交换的费用。例如,“横向交换-横向交换-纵向交换-纵向交换-纵向交换-横向交换-纵向交换”总共要支付 $2A + 2B$ 枚金币。 小 Z 想要知道,他最少要支付多少金币把他目前的布置变换成他想要的布置。

输入输出格式

输入格式


第一行包含三个数字 $N,A,B$,分别表示矩阵的大小,横向交换的费用,纵向交换的费用。 接下来 $N$ 行每行包含 $N$ 个整数,表示开始交换前矩阵内每个位置卡牌的类型。 接下来 $N$ 行每行包含 $N$ 个整数,表示目标矩阵内每个位置卡牌的类型。

输出格式


输出最少需要支付多少金币能够把目前的布置变换成他想要的布置。如果不能变换成功,输出 `Fail`。

输入输出样例

输入样例 #1

3 16 9
2 5 6
1 1 3
7 8 3
2 5 1
3 3 6
7 8 1

输出样例 #1

34

输入样例 #2

2 193 43
1 2
2 1
1 2
2 3

输出样例 #2

Fail

输入样例 #3

3 10 20
1 2 3
4 5 4
3 2 1
2 1 2
1 5 3
4 3 4

输出样例 #3

30

说明

对于 $68\%$ 的数据,答案最多只需要支付 $1$ 次费用。 对于 $86\%$ 的数据,答案最多只需要支付 $2$ 次费用。 对于 $100\%$ 的数据,$1 \leq n \leq 300,1 \leq A,B \leq 1000000,1 \leq$ 卡牌类型的标号 $\leq 100000$。