Polycarp remembered the 2020-th year, and he is happy with the arrival of the new 2021-th year. To remember such a wonderful moment, Polycarp wants to represent the number n as the sum of a certain number of 2020 and a certain number of 2021.

For example, if: 

  * n=4041, then the number n can be represented as the sum 2020 + 2021; 
  * n=4042, then the number n can be represented as the sum 2021 + 2021; 
  * n=8081, then the number n can be represented as the sum 2020 + 2020 + 2020 + 2021; 
  * n=8079, then the number n cannot be represented as the sum of the numbers 2020 and 2021. 



Help Polycarp to find out whether the number n can be represented as the sum of a certain number of numbers 2020 and a certain number of numbers 2021.

Input

The first line contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

Each test case contains one integer n (1 ≤ n ≤ 10^6) — the number that Polycarp wants to represent as the sum of the numbers 2020 and 2021.

Output

For each test case, output on a separate line: 

  * "YES" if the number n is representable as the sum of a certain number of 2020 and a certain number of 2021; 
  * "NO" otherwise. 



You can output "YES" and "NO" in any case (for example, the strings yEs, yes, Yes and YES will be recognized as positive).

Example

Input


5
1
4041
4042
8081
8079


Output


NO
YES
YES
YES
NO
import java.util.*;
public class codeforces{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int test=sc.nextInt();
		while(test-->0){
		      int n=sc.nextInt();
		      String ans =(bsolver(n))?"YES":"NO";
		      System.out.println(ans);



		      
	}
	/*static boolean bsolver(int n){
		if(n%2020==0 || n%2020==1)return true;
		else return false;
	}*/


	
	       
              
             
          }
	static int helper(int arr[]){
		int n=arr.length;
		int ans=1;
		int count=1;
		for(int i=0;i<n-1;i++){
			if(arr[i]==arr[i+1])count++;
			else{
				if(count>ans)ans=count;
				count=1;
			}
		}
		if(count>ans)ans=count;
		return ans;
	}
	static boolean bsolver(int n){
                 int Y2021=n%2020;
		 int Y2020=(n-Y2021)/2020-Y2021;
		 if (Y2020 >= 0 && 2020 * Y2020 + 2021 * Y2021 == n) {
      return true;
    } else {
      return false;
        }
	}



/*	int solution_c(int []crr,int []arr,int []brr){
		int ans=0;
		int len=0;
		//for(int i=0;i<n;i++){
		for(int i=1;i<n;i++){
			int currentlen=c[i]+1+Math.abs(arr[i]-brr[i]);
			if(a[i]!=b[i]){
				currentlen=Math.max(currentlen,crr[i]+1-Math.abs(arr[i]-brr[i]));
				ans=Math.max(currentlen,ans);
				len=currentlen;
			}
		}
		return ans;
		}*/

}
class Job{
	int start;
	int end;
	public Job(int start,int end){
		this.start=start;
		this.end=end;
	}
}
