時間制限 : sec, メモリ制限 : KB
English / Japanese  

2部マッチング

グラフ G = (V, E) において、V が2つの部分集合 XY に分割され、E のどの辺も一方の端点は Xに、もう一方の端点は Y に属しているとき、G を2部グラフという。

グラフ G = (V, E) において、ME の部分集合でかつ M のどの2辺も共通の端点をもたないとき、MG のマッチングといい、辺の本数が最大であるマッチングを最大マッチング(maximum matching)という。

与えられた2部グラフの、最大マッチングの辺の数を求めて下さい。

入力

|X| |Y| |E|
x0 y0
x1 y1
:
x|E|-1 y|E|-1

|X|, |Y| はそれぞれ X, Y に含まれる頂点の数、|E| はグラフ G の辺の数を示す。X の頂点にはそれぞれ 0, 1, ..., |X|-1、Y の頂点にはそれぞれ 0, 1, ..., |Y|-1、の番号が付けられている。

xi, yi はそれぞれ XY の頂点の番号であり、それらを結ぶ i 番目の辺の端点を表す。

出力

最大マッチングの辺の数を1行に出力する。

制約

  • 1 ≤ |X|, |Y| ≤ 100
  • 0 ≤ |E| ≤ 10,000

入力例 1

3 4 6
0 0
0 2
0 3
1 1
2 1
2 3

出力例 1

3