#include <iostream>
#include <string>
#include <cstdlib>
#include <cstdio>
enum Types { NONE = -1 , INT , FLOAT , STRING };
class Value{
protected:
Types __type;
public:
Types __datatype__(){
return (this->__type);
}
virtual const void * __getData__() = 0;
};
class INTEGER : public Value
{
long int payload;
public:
INTEGER(int value=0):Value(){
this->__type = INT;
this->payload = value;
}
int cInt(){
return this->payload;
}
virtual const void * __getData__(){
return ( void * ) payload;
}
void operator= ( long int &val ){
this->payload = val;
}
friend std::ostream& operator<< ( std::ostream& os, INTEGER const& v ){
os<<v.payload;
return os;
}
};
int main()
{
INTEGER i1(2);
std::cout<<i1;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNzdGRpbz4KCmVudW0gVHlwZXMgIHsgTk9ORSA9IC0xICwgSU5UICwgRkxPQVQgLCBTVFJJTkcgfTsKCmNsYXNzIFZhbHVlewogICAgcHJvdGVjdGVkOgogICAgVHlwZXMgX190eXBlOwogICAgcHVibGljOgogICAgVHlwZXMgX19kYXRhdHlwZV9fKCl7CgkJcmV0dXJuICh0aGlzLT5fX3R5cGUpOwoJfQoJdmlydHVhbCBjb25zdCB2b2lkICogX19nZXREYXRhX18oKSA9IDA7Cn07CgpjbGFzcyBJTlRFR0VSIDogcHVibGljIFZhbHVlCnsKICAgIGxvbmcgaW50IHBheWxvYWQ7CgogICAgcHVibGljOgogICAgSU5URUdFUihpbnQgdmFsdWU9MCk6VmFsdWUoKXsKICAgICAgICB0aGlzLT5fX3R5cGUgPSBJTlQ7CiAgICAgICAgdGhpcy0+cGF5bG9hZCA9IHZhbHVlOwogICAgfQoKICAgIGludCBjSW50KCl7CiAgICAgICAgcmV0dXJuIHRoaXMtPnBheWxvYWQ7CiAgICB9CgogICAgdmlydHVhbCBjb25zdCB2b2lkICogX19nZXREYXRhX18oKXsKICAgICAgICByZXR1cm4gKCB2b2lkICogKSBwYXlsb2FkOwogICAgfQoKICAgIHZvaWQgb3BlcmF0b3I9ICggbG9uZyBpbnQgJnZhbCApewogICAgICAgIHRoaXMtPnBheWxvYWQgID0gdmFsOwogICAgfQoKICAgIGZyaWVuZCBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwgKCBzdGQ6Om9zdHJlYW0mIG9zLCBJTlRFR0VSIGNvbnN0JiB2ICl7CiAgICAgICAgb3M8PHYucGF5bG9hZDsKICAgICAgICByZXR1cm4gb3M7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKCUlOVEVHRVIgaTEoMik7CiAgICBzdGQ6OmNvdXQ8PGkxOwp9Cg==