#include <bits/stdc++.h>
using namespace std;
bool allDistinct(vector<int> &v) {
unordered_set<int> st;
for (int x : v) {
if (st.count(x)) return false;
st.insert(x);
}
return true;
}
int main() {
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int count=0;
vector<int> f;
for(int i=2;i<=n;i++){
if(n%i==0) {
count++;
f.push_back(i);
}
if(count==2) break;
}
f.push_back(n/(f[0]*f[1]));
if(allDistinct(f) && f[2]>1) cout<<"YES\n"<<f[0]<<" "<<f[1]<<" "<<f[2]<<"\n";
else cout<<"NO\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgYWxsRGlzdGluY3QodmVjdG9yPGludD4gJnYpIHsKICAgIHVub3JkZXJlZF9zZXQ8aW50PiBzdDsKICAgIGZvciAoaW50IHggOiB2KSB7CiAgICAgICAgaWYgKHN0LmNvdW50KHgpKSByZXR1cm4gZmFsc2U7CiAgICAgICAgc3QuaW5zZXJ0KHgpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKCkgewogICAgaW50IHQ7CiAgICBjaW4+PnQ7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGludCBuOwogICAgICAgIGNpbj4+bjsKICAgICAgICBpbnQgY291bnQ9MDsKICAgICAgICB2ZWN0b3I8aW50PiBmOwogICAgICAgIGZvcihpbnQgaT0yO2k8PW47aSsrKXsKICAgICAgICAgICAgaWYobiVpPT0wKSB7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgZi5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoY291bnQ9PTIpIGJyZWFrOwogICAgICAgIH0KICAgICAgICBmLnB1c2hfYmFjayhuLyhmWzBdKmZbMV0pKTsKICAgICAgICBpZihhbGxEaXN0aW5jdChmKSAmJiBmWzJdPjEpIGNvdXQ8PCJZRVNcbiI8PGZbMF08PCIgIjw8ZlsxXTw8IiAiPDxmWzJdPDwiXG4iOwogICAgICAgIGVsc2UgY291dDw8Ik5PXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0K