Type: Default 500ms 256MiB

球形玩具

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

幼儿园打算买进 nn 个球形玩具。

目前商店有 nn 种球形玩具,每种球形玩具都有 kk 个,并且 kk 个颜色互不相同,并且价格各有差异,并且每种球形玩具,商店只允许买一个颜色。

现在幼儿园的老师打算通过 n1n-1 个小朋友,来知道该如何购买这 nn 个球形玩具,于是老师拿了一张纸,让小朋友们写下自己想选的两种球形玩具,可是老师有要求:

  • 每个小朋友需要写下两种不同的球形玩具,表示当前这位小朋友以后可以选择玩这两种球形玩具。
  • nn 种球形玩具都会被写在纸上。
  • 每种球形玩具只能买一个颜色。
  • 小朋友不能写下重复的需求。

通过这张纸,老师可以得到一张小朋友们玩球形玩具的连通需求网。

为了让需求网更加精彩,老师想要让每一个小朋友可以选择的球形玩具颜色不同。

老师想知道,他购进nn个球形玩具最少需要花费多少钱,以及每种球形玩具需要买哪种颜色。

输入格式

第一行输入两个整数 nnkk ,表示有 nn 种球形玩具和每种球形玩具有 kk 个。

随后 nn 行,每行输入 kk 个整数:ai,1ai,2ai,3ai,k{a_{i,1}},{a_{i,2}},{a_{i,3}},……,{a_{i,k}} ,其中ai,j{a_{i,j}}表示颜色为 jj 的第ii 种球形玩具对应的价格。

随后 n1n-1 行,每行输入两个整数 uuvv ,表示第 ii 个小朋友写下的两种球形玩具,并且满足老师的要求。

输出格式

第一行输出一个整数 ansans ,表示老师最少需要花多少钱购进 nn 个球形玩具。

第二行输出 nn 个整数,每个整数用空格隔开,c1,c2,c3,,cn{c_1},{c_2},{c_3},……,{c_n} ,其中 ci{c_i} 表示第 ii 种球形玩具需要购买的颜色。

特别地

  • 如果有多组球形颜色方案,任意输出一组即可。
  • 如果没有球形颜色方案,输出-1。

输入输出样例 #1

输入 #1

3 2
10 2
3 10
4 10
1 2
1 3

输出 #1

9
2 1 1

说明/提示

对于 100 %的测试数据,$2 \leq n \leq 2\times 10^3 , 1 \leq k \leq 10^3,1 \leq {a_{i,j}} \leq 10^9$。