#include <iostream>
int a[10];
using namespace std;
int SeekPos(int n)
{
    int i=1;
    while(a[i] <= n && i<=9)
        i++;
    i--;
    return i;
}
int isans(int n)
{
    int LastPos=0;
    while(n!=0  && SeekPos(n)!= LastPos)
    {
        LastPos=SeekPos(n);
        n-=a[SeekPos(n)];
    }
    return n==0?1:0;
}
int main()
{
    int i,n,num;
    a[1]=1;
    for ( i=2;i*a[i-1]<=1000000;i++)
        a[i]=i*a[i-1];
    cin>>n;
    while (n--)
    {
        cin>>num;
        if (isans(num))
        {
            cout<<"Yes"<<endl;
        }else cout<<"No"<<endl;
       
    }
    return 0;
}