#include<bits/stdc++.h> using namespace std; int x,cntd,d[510]; int cnt,isprime[510],ci[510];//isprime存因数,ci存每个因数出现的次数 void chai(int n){ for(int i=2;i*i<=n;i++){ if(n%i==0){ isprime[++cnt]=i; while(n%i==0){ n/=i; ci[cnt]++; } } } if(n>1){ isprime[++cnt]=n; ci[cnt]=1; } // for(int i=1;i<=cnt;i++) cout<<isprime[i]<<" "<<ci[i]<<endl; } void dfs(int p,int n){ if(p>cnt){ d[++cntd]=n; return; } for(int i=0;i<=ci[p];i++){ dfs(p+1,n); n*=isprime[p]; } } int main(){ cin>>x; chai(x); dfs(1,1); sort(d+1,d+1+cntd); for(int i=1;i<=cntd;i++){ cout<<d[i]<<" "; } cout<<endl; return 0; }