For this Question: Given N candies of different colors. Find the number of different ways of selecting 1 or more candies such that the number of candies you select is not A or B.
<b>Note:</b>Two selecting ways are different if there is a candy of a particular color in only one of the selections.
As the answer can be the huge print answer 10<sup>9</sup>+7.The input contains three integers: N, A, and B.

</b>Constratins:</b>
3 &le; N &le; 10<sup>9</sup>
1 &le; A < B &le; min(N, 10<sup>5</sup>)Print answer 10<sup>9</sup>+7.Sample Input:
4 2 4

Sample Output:
8

<b>Explanation:</b>
(1) (2) (3) (4) (1, 2, 3) (1, 3, 4) (1, 2, 4) (2, 3, 4), I have written this Solution Code: import java.io.*;
import java.util.*;
import java.math.*;


class Main {
	public static void main (String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String input[] = br.readLine().trim().split(" ");

		long n = Long.parseLong(input[0]),
			 a = Long.parseLong(input[1]),
			 b = Long.parseLong(input[2]);

		long modValue = 1000000007;

		long nCa = findNCR(n, a, modValue);
		long nCb = findNCR(n, b, modValue);

		long result = (modValue + modValue + findPower(2, n, modValue) - 1 - nCa - nCb) % modValue;
		System.out.println(result);
	}

	static long findNCR(long n, long a, long modValue){
		long result = 1;

		for(int i = 1; i <= a; i++){
          result = (result * compute((n - a + i), i, modValue) % modValue) % modValue;
		}
		return result;
	}

	static long compute(long a, long b, long modValue){

		return a * findPower(b, modValue-2, modValue) % modValue;

	}

	static long findPower(long a, long b, long modValue){
		long result = 1;

		while(b > 0) {

			if(b % 2 == 1) result = result * a % modValue;
			a = a * a % modValue;
			b = b / 2;
		}

		return result;
	}
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?