# 二項係数nCk mod p
# 前処理
MOD = 10**9 + 7
@fac, @finv, @inv = [], [], []
def comInit
    @fac[0] = @fac[1] = 1
    @finv[0] = @finv[1] = 1
    @inv[1] = 1
    (2...(10 ** 6)).each {|i|
        @fac[i] = @fac[i-1] * i % MOD
        @inv[i] = MOD - @inv[MOD % i] * (MOD / i) % MOD
        @finv[i] = @finv[i-1] * @inv[i] % MOD
    }
end

def com n, k
    if (n < k)
        return 0
    end
    if (n < 0 || k < 0)
        return 0
    end
    return @fac[n] * (@finv[k] * @finv[n - k] % MOD) % MOD;
end

X, Y = gets.split(' ').map(&:to_i)

def func x, y
    a = (2 * x - y) / 3
    b = (2 * y - x) / 3
    return a, b
end

if (X + Y) % 3 != 0
    puts 0
    exit
end

A, B = func X, Y

comInit

puts (com A + B, B)