#include <iostream>
using namespace std;
class Set
{
private:
struct Node
{
int val;
Node* link;
};
Node *cons(int x, Node *p);
Node *list;
public:
Set() {list = NULL;}
bool isEmpty() const;
int size() const;
bool member (int x) const;
bool insert (int x);
bool remove (int x);
void print() const;
const Set operator+(const Set &otherSet)const;
const Set operator*(const Set &otherSet)const;
Node* getSet()const{return list;}
void setList(Node *list);
friend ostream& operator <<(ostream& outputStream, const Set &set);
};
ostream& operator <<(ostream& outputStream, const Set &set)
{
Set::Node *p;
p = set.list;
outputStream << '{';
while(p->link != NULL)
{
outputStream << p->val;
p = p->link;
}
outputStream << '}';
return outputStream;
}
int main() {
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgU2V0CiAgICB7CnByaXZhdGU6CiAgICBzdHJ1Y3QgTm9kZQogICAgewogICAgICAgIGludCB2YWw7CiAgICAgICAgTm9kZSogbGluazsKICAgIH07CgogICAgTm9kZSAqY29ucyhpbnQgeCwgTm9kZSAqcCk7CiAgICBOb2RlICpsaXN0OwoKCnB1YmxpYzoKICAgIFNldCgpIHtsaXN0ID0gTlVMTDt9CiAgICBib29sIGlzRW1wdHkoKSBjb25zdDsKICAgIGludCBzaXplKCkgY29uc3Q7CiAgICBib29sIG1lbWJlciAoaW50IHgpIGNvbnN0OwogICAgYm9vbCBpbnNlcnQgKGludCB4KTsKICAgIGJvb2wgcmVtb3ZlIChpbnQgeCk7CiAgICB2b2lkIHByaW50KCkgY29uc3Q7CiAgICBjb25zdCBTZXQgb3BlcmF0b3IrKGNvbnN0IFNldCAmb3RoZXJTZXQpY29uc3Q7CiAgICBjb25zdCBTZXQgb3BlcmF0b3IqKGNvbnN0IFNldCAmb3RoZXJTZXQpY29uc3Q7CiAgICBOb2RlKiBnZXRTZXQoKWNvbnN0e3JldHVybiBsaXN0O30KICAgIHZvaWQgc2V0TGlzdChOb2RlICpsaXN0KTsKICAgIGZyaWVuZCBvc3RyZWFtJiBvcGVyYXRvciA8PChvc3RyZWFtJiBvdXRwdXRTdHJlYW0sIGNvbnN0IFNldCAmc2V0KTsKICAgIH07CiAgICAKICAgIG9zdHJlYW0mIG9wZXJhdG9yIDw8KG9zdHJlYW0mIG91dHB1dFN0cmVhbSwgY29uc3QgU2V0ICZzZXQpCiAgICB7CiAgICAgICAgICAgICAgU2V0OjpOb2RlICpwOwogICAgICAgICAgICAgIHAgPSBzZXQubGlzdDsKICAgICAgICAgICAgICBvdXRwdXRTdHJlYW0gPDwgJ3snOwogICAgICAgICAgICAgIHdoaWxlKHAtPmxpbmsgIT0gTlVMTCkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBvdXRwdXRTdHJlYW0gPDwgcC0+dmFsOwogICAgICAgICAgICAgICAgcCA9IHAtPmxpbms7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG91dHB1dFN0cmVhbSA8PCAnfSc7CiAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dFN0cmVhbTsKICAgIH0KICAgIAppbnQgbWFpbigpIHsKICAgIHJldHVybiAwOwp9