#include<bits/stdc++.h>
using namespace std;
vector<int> perfect; //完数
vector<int> full; //盈数
//判断是否是完数或者盈数
void isPorF(int n) {
int count = 0;
vector<int> number;
vector<int>::iterator it;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
number.push_back(i);
}
}
for (it = number.begin(); it != number.end(); it++) {
count += *it;
}
if (count == n) {
perfect.push_back(n);
}else if(count>n){
full.push_back(n);
}
}
int main() {
//枚举判断
for (int i = 2; i <= 60; i++) {
isPorF(i);
}
//打印
vector<int>::iterator it;
cout << "E: ";
for (it = perfect.begin(); it != perfect.end(); it++) {
cout << *it;
if (*it != perfect.back()) {
cout << " ";
}
}
cout<<endl;
cout << "G: ";
for (it = full.begin(); it != full.end(); it++) {
cout << *it;
if (*it != full.back()) {
cout << " ";
}
}
return 0;
}