#include <iostream>
#include <vector>
using namespace std;
struct WrongType : public std::runtime_error {
WrongType(const char* msg) :runtime_error{msg} {}
};
class Value {
public:
enum class Type {
NUMBER, STRING, ARRAY, OBJECT
};
virtual Type type() const =0;
double& number() { throw WrongType {"Not a number"}; } // fat
};
class NumberValue : public Value {
double n;
public:
NumberValue(double x) :n{x} {}
Type type() const override { return Value::Type::NUMBER; }
double& number() { return n; }
};
int main() {
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFdyb25nVHlwZSA6IHB1YmxpYyBzdGQ6OnJ1bnRpbWVfZXJyb3IgewoJV3JvbmdUeXBlKGNvbnN0IGNoYXIqIG1zZykgOnJ1bnRpbWVfZXJyb3J7bXNnfSB7fQp9OwoKY2xhc3MgVmFsdWUgewpwdWJsaWM6CgllbnVtIGNsYXNzIFR5cGUgewoJCU5VTUJFUiwgU1RSSU5HLCBBUlJBWSwgT0JKRUNUCgl9OwoKCXZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPTA7Cglkb3VibGUmIG51bWJlcigpIHsgdGhyb3cgV3JvbmdUeXBlIHsiTm90IGEgbnVtYmVyIn07IH0gLy8gZmF0Cn07CgpjbGFzcyBOdW1iZXJWYWx1ZSA6IHB1YmxpYyBWYWx1ZSB7Cglkb3VibGUgbjsKcHVibGljOgoJTnVtYmVyVmFsdWUoZG91YmxlIHgpIDpue3h9IHt9CgkKCVR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFZhbHVlOjpUeXBlOjpOVU1CRVI7IH0KCWRvdWJsZSYgbnVtYmVyKCkgeyByZXR1cm4gbjsgfQp9OwoKaW50IG1haW4oKSB7CglyZXR1cm4gMDsKfQ==