//题目有问题,盈数要自己加一个2
#include <iostream>
#include <vector>
using namespace std;

vector<int> e;//完数
vector<int> g;//盈数
int yinzi(int x)
{
    int sum=0;
    for(int i=2;i*i<=x;i++)
    {
        if(x%i==0)
        {
            if((x/i)!=i)
            {
                sum+=(x/i);
                sum+=i;
            }
            else {
            {
                sum+=i;
            }
            }
        }
    }
    sum++;
    if(sum==x)return 1;//是完数
    else if(sum>x)return 0;//是盈数
    else{
        return 2;//啥也不是
    }
}


int main() {

    for(int i=2;i<=60;i++)
    {
        if(yinzi(i)==1)
        {
            e.push_back(i);
        }
        else if(yinzi(i)==0)
        {
            g.push_back(i);
        }
    }
    cout<<"E:";
    for(int i=0;i<e.size();i++)
    {
        cout<<" "<<e[i];
    }
    //cout<<endl;
    cout<<" G: 2";
    for(int i=0;i<g.size();i++)
    {
        cout<<" "<<g[i];
    }

    return 0;    
}