def main():
    MOD = 10 ** 9 + 7

    def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

    N, A, B = map(int, input().split())

    ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1  # 0本の組み合わせを差し引く
    ans %= MOD

    print(ans)


if __name__ == '__main__':
    main() def main():
    MOD = 10 ** 9 + 7

    def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

    N, A, B = map(int, input().split())

    ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1  # 0本の組み合わせを差し引く
    ans %= MOD

    print(ans) main MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

     choose x, y = 1, 1 x 1 y 1 for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
         i range(a) range a x = x * (n - i) % mod x x * (n - i) % mod x * (n - i) x n - i n i mod y = y * (i + 1) % mod y y * (i + 1) % mod y * (i + 1) y i + 1 i 1 mod return x * pow(y, mod - 2, mod) % mod x * pow(y, mod - 2, mod) % mod x * pow(y, mod - 2, mod) x pow(y, mod - 2, mod) pow y mod - 2 mod 2 mod mod n n a a mod=MOD mod MOD N, A, B = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split A B ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1 ans pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1 pow(2, N, MOD) - choose(N, A) - choose(N, B) pow(2, N, MOD) - choose(N, A) pow(2, N, MOD) pow 2 N MOD choose(N, A) choose N A choose(N, B) choose N B 1 ans %= MOD ans MOD print(ans) print ans if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():
    MOD = 10 ** 9 + 7

    def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

    N, A, B = map(int, input().split())

    ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1  # 0本の組み合わせを差し引く
    ans %= MOD

    print(ans) def main():
    MOD = 10 ** 9 + 7

    def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

    N, A, B = map(int, input().split())

    ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1  # 0本の組み合わせを差し引く
    ans %= MOD

    print(ans) main
def main():
    MOD = 10 ** 9 + 7

    def choose(n, a, mod=MOD):
        x, y = 1, 1
        for i in range(a):
            x = x * (n - i) % mod
            y = y * (i + 1) % mod
        return x * pow(y, mod - 2, mod) % mod

    N, A, B = map(int, input().split())

    ans = pow(2, N, MOD) - choose(N, A) - choose(N, B) - 1  # 0本の組み合わせを差し引く
    ans %= MOD

    print(ans)


if __name__ == '__main__':
    main()
