Problem:
Score : 400 points

Problem Statement

Akari has n kinds of flowers, one of each kind.

She is going to choose one or more of these flowers to make a bouquet.

However, she hates two numbers a and b, so the number of flowers in the bouquet cannot be a or b.

How many different bouquets are there that Akari can make?

Find the count modulo (10^9 + 7).

Here, two bouquets are considered different when there is a flower that is used in one of the bouquets but not in the other bouquet.

Constraints

All values in input are integers.

2 \leq n \leq 10^9

1 \leq a < b \leq \textrm{min}(n, 2 \times 10^5)

Input

Input is given from Standard Input in the following format:

n a b

Output

Print the number of bouquets that Akari can make, modulo (10^9 + 7). (If there are no such bouquets, print 0.)

Sample Input 1

4 1 3

Sample Output 1

7

In this case, Akari can choose 2 or 4 flowers to make the bouquet.

There are 6 ways to choose 2 out of the 4 flowers, and 1 way to choose 4, so there are a total of 7 different bouquets that Akari can make.

Sample Input 2

1000000000 141421 173205

Sample Output 2

34076506

Print the count modulo (10^9 + 7).

Solution in Ruby (2.3.3) (judge verdict: Wrong Answer)

n,a,b = gets.chomp.split.map(&:to_i)
MOD = 10**9 + 7


def cmb(a ,b)
  b = [a - b ,  b].min
  r = 1
  1.upto(b) do |i|
    r %= MOD
    r = r * (a - b + i)/ i
  end

  r % MOD
end


def pow(base,exponent)
  raise ArgumentError if exponent < 0
  # 指数が0の時は結果は1です
  return 1 if exponent==0
  # 結果が出る変数を用意
  result = 1
  # 指数が1なら終了
  while exponent != 1 do
    # 指数が奇数の時、その時の底はここでresultに掛けてしまい、指数を一つ減らす
    if exponent.odd? then
      result *= base
      exponent -= 1
    end
    # 指数を2で割る
    exponent /= 2
    # 底の2乗を新たな底とする
    base *= base
    base = base % MOD
    # 繰り返す
  end
  result *= base
  # 結果を返す
  return result
end

if a == b
  p (pow(2, n) - cmb(n, a) - 1) % MOD
else
  # p pow(2,n)
  # p cmb(n ,a) % MOD
  # p cmb(n ,b) % MOD

  p (pow(2, n) - cmb(n, a) - cmb(n, b) - 1)
end
#
#
# p pow(2, n)
# p cmb(n, a)
#
# p cmb(3, 2)
# p cmb(4, 2)


# p 2**100 % MOD
# p pow(2,100) % MOD

# powはあってる！！