def xgcd a, b
	x, y, u, v = 1, 0, 0, 1
	until b == 0
		q, a, b = a/b, b, a%b
		x, y, u, v = u, v, x-q*u, y-q*v
	end
	return a, x, y
end
def imod a, m
	d, x, y = xgcd a, m
	return nil unless d == 1
	return 0<x ? x : x+m
end

X, Y = gets.split.map(&:to_i)
MOD = 1000000007
(p 0; exit) unless (X+Y)%3 == 0
L, R = [Y-(X+Y)/3, 2*(X+Y)/3-Y].minmax
(p 0; exit) if L < 0
p((R+1..L+R).inject(1){|s,n| s*n%MOD } * imod((1..L).inject(1){|s,d| s*d%MOD },MOD) % MOD)
