include
#include <vector>
using namespace std;
// 计算正整数x的真因数之和
int sum_proper_divisors(int x) {
if (x == 1) return 0; // 1没有真因数
int sum = 1; // 1是所有数(除1外)的真因数
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) {
sum += i; // 添加因数i
if (i != x / i) // 避免重复添加平方根
sum += x / i; // 添加配对的因数x/i
}
}
return sum;
}
int main() {
int n;
cin >> n;
vector<int> perfect_numbers;
// 遍历2到n的所有数字(1没有真因数)
for (int num = 2; num <= n; num++) {
if (sum_proper_divisors(num) == num) {
perfect_numbers.push_back(num);
}
}
// 输出结果
for (int p : perfect_numbers) {
cout << p << " ";
}
return 0;
}