AT_bogosortcontest_div1_g Source to Sink

Description

$ N $ 頂点 $ M $ 辺の単純有向グラフ $ G $ があります。 頂点には $ 1 $ から $ N $ までの番号が付けられていて、 $ i $ 本目の辺は頂点 $ u_i $ から頂点 $ v_i $ への有向辺です。 あなたは以下の操作を何回でも行うことができます。 - $ G $ の入次数 $ 0 $ の頂点 $ v $ を選び、 $ v $ を端点とするすべての辺の向きを反転する。 操作を行うことができる最大の回数を求めてください。ただし、操作を無限に続けることができる場合、その旨を報告してください。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ M $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_M $ $ v_M $

Output Format

$ T $ 行出力せよ。 $ t $ 行目には $ t $ 個目のテストケースの答えを出力せよ。 各テストケースについて、操作を行うことができる最大の回数を出力せよ。ただし、操作を無限に続けることができる場合、`-1` を出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ つ目のテストケースについて、以下のように操作することで、 $ 2 $ 回操作を行うことができます。 - 頂点 $ 2 $ に対して操作を行う。 $ 2 $ , $ 3 $ 番目の辺の向きが反転する。 - 頂点 $ 5 $ に対して操作を行う。 $ 3 $ , $ 6 $ 番目の辺の向きが反転する。 $ 3 $ 回以上操作を行うことはできないので、 $ 2 $ を出力します。 $ 2 $ つ目のテストケースについて、頂点 $ 1 $ 、頂点 $ 2 $ に対して交互に操作を行うことで、無限に操作を続けることができます。 $ 3 $ つ目のテストケースについて、頂点 $ 3 $ に対して何回でも操作を行うことができます。 $ 4 $ つ目のテストケースについて、 $ 1 $ 回も操作を行うことができません。 ### Constraints - $ 1 \leq T \leq 5 \times 10^4 $ - $ 2 \leq N \leq 10^5 $ - $ 1 \leq M \leq \min(N(N-1), 2 \times 10^5) $ - $ 1 \leq u_i, v_i \leq N $ - $ u_i \neq v_i $ - $ (u_i,v_i) \neq (u_j,v_j) \ (i \neq j) $ - すべてのテストケースに対する $ N $ の総和は $ 10^5 $ 以下 - すべてのテストケースに対する $ M $ の総和は $ 2 \times 10^5 $ 以下 - 入力される数値はすべて整数