def main():
    n, a, b = map(int, input().split())
    p = 10 ** 9 + 7
    r = pow(2, n, p) - 1
    if (n - a) < a:
        a = n - a
    if (n - b) < b:
        b = n - b
    fac_na = 1
    for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
    fac_nb = 1
    for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
    fac_a = 1
    for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
    fac_b = 1
    for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

    an = fac_na * pow(fac_a, p-2, p)
    bn = fac_nb * pow(fac_b, p-2, p)
    an = an % p
    bn = bn % p
    r -= an
    if r < 0:
        r += p
    r -= bn
    if r < 0:
        r += p
    if r < 0:
        r += p
    print(int(r))


if __name__ == '__main__':
    main() def main():
    n, a, b = map(int, input().split())
    p = 10 ** 9 + 7
    r = pow(2, n, p) - 1
    if (n - a) < a:
        a = n - a
    if (n - b) < b:
        b = n - b
    fac_na = 1
    for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
    fac_nb = 1
    for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
    fac_a = 1
    for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
    fac_b = 1
    for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

    an = fac_na * pow(fac_a, p-2, p)
    bn = fac_nb * pow(fac_b, p-2, p)
    an = an % p
    bn = bn % p
    r -= an
    if r < 0:
        r += p
    r -= bn
    if r < 0:
        r += p
    if r < 0:
        r += p
    print(int(r)) main n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b p = 10 ** 9 + 7 p 10 ** 9 + 7 10 ** 9 10 9 7 r = pow(2, n, p) - 1 r pow(2, n, p) - 1 pow(2, n, p) pow 2 n p 1 if (n - a) < a:
        a = n - a
     (n - a) < a n - a n a a a = n - a a n - a n a if (n - b) < b:
        b = n - b
     (n - b) < b n - b n b b b = n - b b n - b n b fac_na = 1 fac_na 1 for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
     i1 range(n, n - a, -1) range n n - a n a -1 fac_na = (fac_na * i1) % p fac_na (fac_na * i1) % p fac_na * i1 fac_na i1 p fac_nb = 1 fac_nb 1 for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
     i1 range(n, n - b, -1) range n n - b n b -1 fac_nb = (fac_nb * i1) % p fac_nb (fac_nb * i1) % p fac_nb * i1 fac_nb i1 p fac_a = 1 fac_a 1 for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
     i1 range(1, a+1) range 1 a+1 a 1 fac_a = (fac_a * i1) % p fac_a (fac_a * i1) % p fac_a * i1 fac_a i1 p fac_b = 1 fac_b 1 for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

     i1 range(1, b+1) range 1 b+1 b 1 fac_b = (fac_b * i1) % p fac_b (fac_b * i1) % p fac_b * i1 fac_b i1 p an = fac_na * pow(fac_a, p-2, p) an fac_na * pow(fac_a, p-2, p) fac_na pow(fac_a, p-2, p) pow fac_a p-2 p 2 p bn = fac_nb * pow(fac_b, p-2, p) bn fac_nb * pow(fac_b, p-2, p) fac_nb pow(fac_b, p-2, p) pow fac_b p-2 p 2 p an = an % p an an % p an p bn = bn % p bn bn % p bn p r -= an r an if r < 0:
        r += p
     r < 0 r 0 r += p r p r -= bn r bn if r < 0:
        r += p
     r < 0 r 0 r += p r p if r < 0:
        r += p
     r < 0 r 0 r += p r p print(int(r)) print int(r) int r if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():
    n, a, b = map(int, input().split())
    p = 10 ** 9 + 7
    r = pow(2, n, p) - 1
    if (n - a) < a:
        a = n - a
    if (n - b) < b:
        b = n - b
    fac_na = 1
    for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
    fac_nb = 1
    for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
    fac_a = 1
    for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
    fac_b = 1
    for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

    an = fac_na * pow(fac_a, p-2, p)
    bn = fac_nb * pow(fac_b, p-2, p)
    an = an % p
    bn = bn % p
    r -= an
    if r < 0:
        r += p
    r -= bn
    if r < 0:
        r += p
    if r < 0:
        r += p
    print(int(r)) def main():
    n, a, b = map(int, input().split())
    p = 10 ** 9 + 7
    r = pow(2, n, p) - 1
    if (n - a) < a:
        a = n - a
    if (n - b) < b:
        b = n - b
    fac_na = 1
    for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
    fac_nb = 1
    for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
    fac_a = 1
    for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
    fac_b = 1
    for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

    an = fac_na * pow(fac_a, p-2, p)
    bn = fac_nb * pow(fac_b, p-2, p)
    an = an % p
    bn = bn % p
    r -= an
    if r < 0:
        r += p
    r -= bn
    if r < 0:
        r += p
    if r < 0:
        r += p
    print(int(r)) main
def main():
    n, a, b = map(int, input().split())
    p = 10 ** 9 + 7
    r = pow(2, n, p) - 1
    if (n - a) < a:
        a = n - a
    if (n - b) < b:
        b = n - b
    fac_na = 1
    for i1 in range(n, n - a, -1):
        fac_na = (fac_na * i1) % p
    fac_nb = 1
    for i1 in range(n, n - b, -1):
        fac_nb = (fac_nb * i1) % p
    fac_a = 1
    for i1 in range(1, a+1):
        fac_a = (fac_a * i1) % p
    fac_b = 1
    for i1 in range(1, b+1):
        fac_b = (fac_b * i1) % p

    an = fac_na * pow(fac_a, p-2, p)
    bn = fac_nb * pow(fac_b, p-2, p)
    an = an % p
    bn = bn % p
    r -= an
    if r < 0:
        r += p
    r -= bn
    if r < 0:
        r += p
    if r < 0:
        r += p
    print(int(r))


if __name__ == '__main__':
    main()