#icpc2013summerday2f. [icpc2013summer_day2_f]Social Monsters

[icpc2013summer_day2_f]Social Monsters

不思議な生き物と人間が互いに助け合って生きている世界.この世界では自分で捕まえたモンスター同士を戦わせる大会が盛んに行われており,多くの少年少女達が世界一のトレーナーを目指している.

大会では自分が捕まえたモンスターからパーティを作り,パーティ同士のバトルをする.モンスターのペアには相性があり,相性が非常に悪い場合と普通の場合がある.相性が非常に悪い場合,そのペアのモンスターを同じパーティに入れることはできない.相性が普通の場合には,_友情度_という数値で相性の良さが表現される.バトルでは,パーティ全体の友情度の和が勝負の鍵となる.

いまNN匹のモンスターからKK匹のモンスターからなるパーティを作りたい.MM個のモンスターのペア(ai,bi)(a_i,   b_i)に対して相性が分かっており,整数 cic_i で表されている.ci=0c_i = 0 のとき,aia_i 番目のモンスターと bib_i 番目のモンスターは相性が非常に悪いことを意味する.ci0c_i  ≠  0 のとき,aia_i 番目のモンスターと bib_i 番目のモンスターは相性が普通であり,その友情度は cic_i であることを意味する.与えられたMM個のペア以外は,相性が普通であり,それらの友情度はすべて00である.

パーティの友情度の和を最大にする選び方を考えてみよう.

入力形式

入力は以下の形式で与えられる

NN MM KK
a1a_1 b1b_1 c1c_1
......
aMa_M bMb_M cMc_M

出力形式

KK匹のモンスターからなるパーティを作ることができない場合は1行に "Impossible" を出力せよ.パーティを作ることができるとき,友情度の和の最大値を出力せよ.

制約

  • 1KN20001 ≤ K ≤ N ≤ 2000
  • 0MN0 ≤ M ≤ N
  • 1aibiN1   ≤   a_i   ≠   b_i   ≤ N
  • ci10000|c_i|   ≤ 10000
  • 各モンスターは a1,a2,,aM,b1,b2,,bMa_1, a_2, …, a_M, b_1, b_2, …, b_M の中に高々2回しか現れない.
  • $i   ≠   j   ⇒   \\{a_i, b_i\\}   ≠   \\{a_j,   b_j\\}$

入出力例

入力例 1
6 5 4
2 1 1
2 5 2
5 1 1
4 3 2
3 6 -1
出力例 1
4
入力例 2
3 1 3
1 2 -10
出力例 2
-10
入力例 3
6 3 5
1 2 0
2 3 10
3 4 0
出力例 3
Impossible