#include <iostream>
#include <cstdlib>

using namespace std;

class conjunto {
    private:
        int c;
    public:
        conjunto(void);
        conjunto& operator += (int k);
        ostream&  print(ostream& os)  const;
};


conjunto::conjunto(void)
{
    c= 0;
}

conjunto& conjunto::operator += (int k)
{
    c|= 1 << k;
}

ostream& conjunto::print(ostream& os) const
{
    int s= 8*sizeof(c);
    os << "{";
    for (int k=0; k<s; k++) 
       if ( ((1 << k) & c) != 0)
          os << ' ' << k;
    os << " }";
    return os;
}

int main()
{
    conjunto A, B;

    A+= 8;
    A+= 4;
    A+= 21;

    B+= 15;
    B+= 4;
    B+= 22;

    A.print(cout);
    cout << endl;
    B.print(cout);
    cout << endl;

    return EXIT_SUCCESS;
}








