
X,Y,E = gets.chomp.split(' ').map(&:to_i)
D = Array.new(X).map{ Array.new(Y) }
E.times do 
	x,y = gets.chomp.split(' ').map(&:to_i) # ?????????x,y??????????????????
	D[x][y] = true
end

PY = Array.new(Y).map{-1} # Y's pair ??????-1??¨???????????????
V = Array.new(X).map{false} # visited or not (boolean)

def match(x)
	return true if x<0 
	return false if V[x] # ????????¢????¨????????????????false
	V[x] = true
	Y.times do |y|
		next if !D[x][y] # ??????????????????????????§????????????????¬????
		# ??\????????????????????´?????§...
		#p "#{x}, #{y}"
		if match(PY[y]) # y?????????????????????PY[y]???-1????????§match(-1)???true, ??????y???????????¢?????????????????????????????????????????????????????????????????????...?????°?????????
			PY[y] = x # y????????¢???x??¨??????
			#p "#{x}, #{y} matched"
			return true # ??????????????????????????¢??????????????????????\???????????????????????????¨????????? or count++
		end
	end
	return false # ??°?????¢?????§???????????£????????§???NG?????????
end

count = 0 # ?????¢??°

# ????????§???x??????????????????????????????????????????
X.times do |x|
	x.times do |i|
		V[i] = false
	end
	count = count + 1 if match(x)
end
#p PY
p count