def resolve():
    n, a, b = list(map(int, input().split()))
    MOD = 10**9+7
    ntoa = 1
    ato1 = 1
    ntob = 1
    bto1 = 1
    for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
    for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
    def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
    nca = ntoa*pow(ato1, MOD-2)%MOD
    ncb = ntob*pow(bto1, MOD-2)%MOD
    print((pow(2, n)%MOD-1-nca-ncb)%MOD)

if '__main__' == __name__:
    resolve() def resolve():
    n, a, b = list(map(int, input().split()))
    MOD = 10**9+7
    ntoa = 1
    ato1 = 1
    ntob = 1
    bto1 = 1
    for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
    for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
    def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
    nca = ntoa*pow(ato1, MOD-2)%MOD
    ncb = ntob*pow(bto1, MOD-2)%MOD
    print((pow(2, n)%MOD-1-nca-ncb)%MOD) resolve n, a, b = list(map(int, input().split())) n list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split a b MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 ntoa = 1 ntoa 1 ato1 = 1 ato1 1 ntob = 1 ntob 1 bto1 = 1 bto1 1 for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
     i range(a) range a ntoa *= (n-i) ntoa n-i n i ntoa %= MOD ntoa MOD ato1 *= (a-i) ato1 a-i a i ato1 %= MOD ato1 MOD for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
     i range(b) range b ntob *= (n-i) ntob n-i n i ntob %= MOD ntob MOD bto1 *= (b-i) bto1 b-i b i bto1 %= MOD bto1 MOD def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
     pow ret = 1 ret 1 while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
         n > 0 n 0 if n & 1:
                ret = (ret*x)%MOD
             n & 1 n 1 ret = (ret*x)%MOD ret (ret*x)%MOD ret*x ret x MOD x = (x*x)%MOD x (x*x)%MOD x*x x x MOD n >>= 1 n 1 return ret ret x x n n MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 nca = ntoa*pow(ato1, MOD-2)%MOD nca ntoa*pow(ato1, MOD-2)%MOD ntoa*pow(ato1, MOD-2) ntoa pow(ato1, MOD-2) pow ato1 MOD-2 MOD 2 MOD ncb = ntob*pow(bto1, MOD-2)%MOD ncb ntob*pow(bto1, MOD-2)%MOD ntob*pow(bto1, MOD-2) ntob pow(bto1, MOD-2) pow bto1 MOD-2 MOD 2 MOD print((pow(2, n)%MOD-1-nca-ncb)%MOD) print (pow(2, n)%MOD-1-nca-ncb)%MOD pow(2, n)%MOD-1-nca-ncb pow(2, n)%MOD-1-nca pow(2, n)%MOD-1 pow(2, n)%MOD pow(2, n) pow 2 n MOD 1 nca ncb MOD if '__main__' == __name__:
    resolve() '__main__' == __name__ '__main__' __name__ resolve() resolve def resolve():
    n, a, b = list(map(int, input().split()))
    MOD = 10**9+7
    ntoa = 1
    ato1 = 1
    ntob = 1
    bto1 = 1
    for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
    for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
    def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
    nca = ntoa*pow(ato1, MOD-2)%MOD
    ncb = ntob*pow(bto1, MOD-2)%MOD
    print((pow(2, n)%MOD-1-nca-ncb)%MOD) def resolve():
    n, a, b = list(map(int, input().split()))
    MOD = 10**9+7
    ntoa = 1
    ato1 = 1
    ntob = 1
    bto1 = 1
    for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
    for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
    def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
    nca = ntoa*pow(ato1, MOD-2)%MOD
    ncb = ntob*pow(bto1, MOD-2)%MOD
    print((pow(2, n)%MOD-1-nca-ncb)%MOD) resolve
def resolve():
    n, a, b = list(map(int, input().split()))
    MOD = 10**9+7
    ntoa = 1
    ato1 = 1
    ntob = 1
    bto1 = 1
    for i in range(a):
        ntoa *= (n-i)
        ntoa %= MOD
        ato1 *= (a-i)
        ato1 %= MOD
    for i in range(b):
        ntob *= (n-i)
        ntob %= MOD
        bto1 *= (b-i)
        bto1 %= MOD
    def pow(x, n, MOD=10**9+7):
        ret = 1
        while n > 0:
            if n & 1:
                ret = (ret*x)%MOD
            x = (x*x)%MOD
            n >>= 1
        return ret
    nca = ntoa*pow(ato1, MOD-2)%MOD
    ncb = ntob*pow(bto1, MOD-2)%MOD
    print((pow(2, n)%MOD-1-nca-ncb)%MOD)

if '__main__' == __name__:
    resolve()
