#include #include #ifdef LOCAL #include #define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define debug(...) (static_cast(0)) #endif using namespace atcoder; using mint=modint998244353; using namespace std; using ll=long long; using ul=unsigned long long; int dx[8] = {-1, 1, 0, 0, -1, -1, 1, 1}; int dy[8] = {0, 0, -1, 1, -1, 1, -1, 1}; using Graph=vector>; ll op(ll a,ll b){return max(a,b);} ll e(){return 0;} vector pf(ll n){ vectort; ll N=n; for(ll i=2;i*i<=N;i++){ while(n%i==0)t.push_back(i),n/=i; } if(n!=1)t.push_back(n); return t; } int main(){ ll N; cin>>N; if(N==1){cout<<"NO"<t=pf(N); debug(t); if(t.size()<3)cout<<"NO"<