#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;
}