题目描述 市政府“惠民工程”的目标是在全市 ${n}$ 个居民点间之架设煤气管道(但不一定有直接的管道相连,只要能间接通过管道可达即可)。 很显然最多可架设 ${n(n-1)/2}$ 条管道,然而实际上要连通 ${n}$ 个居民点只需架设 ${n-1}$ 条管道就可以了。 现请你编写程序,计算出该惠民工程需要的最低成本。 输入格式 测试输入包含若干测试用例。 每个测试用例的第 1 行给出居民点数目 ${M}$(${\le 100}$)、评估的管道条数 ${N}$;随后的 ${N}$ 行对应居民点间管道的成本,每行给出一对正整数,分别是两个居民点的编号,以及此两居民点间管道的成本(也是正整数)。 为简单起见,居民点从 1 到 ${M}$ 编号。 输出格式 对每个测试用例,在 1 行里输出全市管道畅通所需要的最低成本。 若统计数据不足以保证畅通,则输出 “?”。 数据范围 ${M \le 100}$ 输入样例 3 3 1 2 1 1 3 2 2 3 4 3 1 2 3 2 输出样例 3 ?