問題文
N頂点M辺の有向グラフが与えられます。i番目の辺は頂点xiから頂点yiへ向かう有向辺です。各頂点には整数Biが書かれており、各頂点ははじめ白で塗られています。
次の操作を順に行うとき、黒で塗られている頂点に書かれた整数の和の最大値を求めてください。
- 操作1:0個以上の頂点を選択し、選択した頂点からたどり着ける頂点を黒で塗る。
- 操作2:0個以上の頂点を選択し、選択した頂点からたどり着ける頂点を白で塗る。
制約
- 1≤N≤1000
- 0≤M≤min(N(N−1),1000)
- −109≤Bi≤109
- 1≤xi,yi≤N
- xi=yi
- (xi,yi)=(xj,yj)(i=j)
入力
入力はすべて整数である。
出力
答えを一行に出力せよ。
サンプル
操作1で頂点1を選び、頂点1,2,3を黒で塗ります。
操作2で頂点2を選び、頂点2,3を白で塗ります。このとき、黒で塗られている頂点に書かれた整数の和はB1=2となります。
入力2
5 6
4 -3 2 -1 -10
1 2
1 5
2 1
3 4
4 3
4 5
グラフが閉路を含むこともあります。操作1で頂点1,3を選び、2番目の操作で頂点5を選ぶのが最適です。
1つも選ばなくても良いです。