#P2048. SoEasy[Ⅲ]

SoEasy[Ⅲ]

    二分图也称为二部图,因为他本质上是可以两个不同的集合组成的东西以下我们称为X,Y集合。现在我们就来研究一下二分图中著名的匹配问题。

    我们都知道一般的图论题是可以很容易就从题中看出来的。而这并不是关键,因为你如果没有任何建模思路那也是白搭。因此,我也不绕弯了。就直接告诉你这是一道完美匹配问题(多重匹配)。但是这个匹配要求跟以往的不同(但是匹配原则还是一样的,就是X集合中的每个点只能跟Y集合中的一点匹配),要求你在求出完美匹配的同时满足替换原来已经匹配边尽量的少。

要求:输出替换最少的匹配边数和达到完美匹配时的最大权值。


Input

输入多组数据。
第一行输入N,M表示的二分图两个集合的的点数。
接下来N行,每行M个数,表示连接他们的花费Eij。
接下来N个数,表示X集合和Y集合原来已经匹配(从1开始以此类推)。
(1<N,M<50,Eij<10000)

Output

输出最少替换数和最大权值。

Sample Input

3 3
2 1 3
3 2 4
1 26 2
2 1 3
2 3
1 2 3
1 2 3
1 2

Sample Output

2 26
1 2

HINT

Source