MATCHING - Fast Maximum Matching

FJ has N (1 ≤ N ≤ 50,000) cows and M (1 ≤ M ≤ 50,000) bulls. Given a list of P (1 ≤ P ≤ 150,000) potential matches between a cow and a bull, compute the greatest number of pairs that can be matched. Of course, a cow can be matched to at most one bull, and vice versa.

Input

The first line contains three integers, N, M, and P. Each of the next P lines contains two integers A (1 ≤ A ≤ N) and B (1 ≤ B ≤ M), denoting that cow A can be matched with bull B.

Output

Print a single integer that is the maximum number of pairs that can be obtained.

Example

Input:
5 4 6
5 2
1 2
4 3
3 1
2 2
4 4

Output:
3

Cow 1 can be matched to bull 2, cow 3 to bull 1, and cow 4 to bull 3.

Note: see also http://www.spoj.com/problems/FASTFLOW/.


Added by:Neal Wu
Date:2009-04-12
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO

hide comments
2012-06-17 03:46:14 Lucas Daniel
How is it possible to get accepted in the problem Fast Maximum Flow and wrong answer here? I'm using push-relabel with global relabel heuristic.
2012-06-03 08:40:40 熊怀东
@changiz
I suggest reading flowing paper ,it describe a nice and easy algorithm (I like it)
http://www.duet.ac.bd/journal/5.pdf

This algorithm is easy to understand. I tried, but exceeded the time limit. How can we implement the algorithm efficiently?
2012-05-03 04:57:16 Adi Chris Dpp Bangun
can anyone give me more tescase..i got WA, i have used HK Algorithm..
2011-08-15 18:08:13 changiz
I suggest reading flowing paper ,it describe a nice and easy algorithm (I like it)
http://www.duet.ac.bd/journal/5.pdf
2011-04-01 13:13:51 hjss06
We must use HK algorithm or one more fast!
2010-01-12 05:37:43 Brian Bi
Are there duplicate pairs in input?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.