For this Question: An integer A is defined to be a soft integer if it can be represented as K*(K+1)/2 where K is some positive integer. Given an integer N, find if it can be represented as the sum of two soft numbers (not necessarily distinct).The first and the only line of input contains a single integer N.

Constraints:
1 <= N <= 10<sup>9</sup>If the given integer can be represented as the sum of two soft integers, print "YES", else print "NO", without the quotes.Sample Input:
16

Sample Output:
YES

Explaination:
16 = 10 + 6
Both 10 and 6 are soft numbers:
10 = 4*(4+1)/2
6 = 3*(3+1)/2, I have written this Solution Code: import java.io.*;
import java.util.*;



class Main {
    public static void main (String[] args) throws IOException {

	BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	String[] str=br.readLine().split(" ");
	int n=Integer.parseInt(str[0]);

	for(int i=1; i<n; i++)
	{
		int number=i * (i+1);

		if(number > n)
		break;

		int result=(int)Math.sqrt(2 * n - number);
		result=result * (result + 1);

		if(result == 2 * n - number)
		{
			System.out.println("YES");
			return;
		}
	}
	System.out.println("NO");
    }
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?