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
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define n_l '\n'
#define dbg(...) cout << "[" << #__VA_ARGS__ << "]: "; cout << to_string(__VA_ARGS__) << endl
template <typename T, size_t N> 
int SIZE(const T (&t)[N])
{ 
    return N; 
} 
template<typename T> 
int SIZE(const T &t)
{ 
    return t.size(); 
} 
string to_string(const string s, int x1=0, int x2=1e9)
{ 
    return '"' + ((x1 < s.size()) ? s.substr(x1, x2-x1+1) : "") + '"'; 
} 
string to_string(const char* s) 
{ 
    return to_string((string) s); 
} 
string to_string(const bool b) 
{ 
    return (b ? "true" : "false"); 
} 
string to_string(const char c)
{ 
    return string({c}); 
} 
template<size_t N> 
string to_string(const bitset<N> &b, int x1=0, int x2=1e9)
{ 
    string t = ""; 
    for(int __iii__ = min(x1,SIZE(b)),  __jjj__ = min(x2, SIZE(b)-1); __iii__ <= __jjj__; ++__iii__)
    { 
        t += b[__iii__] + '0'; 
    } 
    return '"' + t + '"'; 
} 
template <typename A, typename... C> 
string to_string(const A (&v), int x1=0, int x2=1e9, C... coords); 
int l_v_l_v_l = 0, t_a_b_s = 0; 
template <typename A, typename B> 
string to_string(const pair<A, B> &p) 
{ 
    l_v_l_v_l++; 
    string res = "(" + to_string(p.first) + ", " + to_string(p.second) + ")"; l_v_l_v_l--; 
    return res; 
} 
template <typename A, typename... C> 
string to_string(const A (&v), int x1, int x2, C... coords) 
{ 
    int rnk = rank<A>::value; string tab(t_a_b_s, ' '); 
    string res = ""; 
    bool first = true; 
    if(l_v_l_v_l == 0) 
        res += n_l; 
   res += tab + "["; 
   x1 = min(x1, SIZE(v)), x2 = min(x2, SIZE(v)); 
   auto l = begin(v); 
   advance(l, x1); 
   auto r = l; 
   advance(r, (x2-x1) + (x2 < SIZE(v))); 
   for (auto e = l; e != r; e = next(e)) 
   { 
        if (!first)
        { 
            res += ", "; 
        } 
        first = false; 
        l_v_l_v_l++; 
        if(e != l)
        { 
            if(rnk > 1) 
            {
                 res += n_l; 
                 t_a_b_s = l_v_l_v_l; 
            }; 
       } 
       else{
        t_a_b_s = 0; 
      } 
      res += to_string(*e, coords...); 
      l_v_l_v_l--; 
    } 
    res += "]"; 
    if(l_v_l_v_l == 0) 
        res += n_l; 
    return res; 
} 
void dbgm(){;} 
template<typename Heads, typename... Tails> 
void dbgm(Heads H, Tails... T)
{ 
    cout << to_string(H) << " | "; dbgm(T...); 
} 
#define dbgm(...) cout << "[" << #__VA_ARGS__ << "]: "; dbgm(__VA_ARGS__); cout << endl
void solve()
{
    ll n;
    cin>>n;
    if(n%2020==0)
    {
        cout<<"YES"<<"\n";
        return;
    }
    if(n%2021==0)
    {
        cout<<"YES"<<"\n";
        return;
    }
    ll cnt=0;
    while(n>2020)
    {
        cnt++;
        n-=2020;
    }
    if(cnt>=n)
        cout<<"YES"<<"\n";
    else
    cout<<"NO"<<"\n";
}    
int main()
{
    int t;
    cin>>t;
    while(t--)
        solve();    
}