#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define ff first
#define sd second
#define debug(x) cerr << #x << "----> " << x << endl;
//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("O3")
const int mxN = 1e6 + 5;
ll n;
set<ll> f(ll x){
set<ll> res;
res.insert(x - 1);
for(int i = 2; i <= sqrtl(x); i++){
if(x % i == 0){
ll k = i;
for(auto it : f(x / k)) res.insert(k - 1 + it);
k = x / i;
for(auto it : f(x / k)) res.insert(k - 1 + it);
}
}
return res;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
set<ll> ans = f(n);
cout << ans.size() << '\n';
for(auto it : ans) cout << it << ' ';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |