#include <iostream>
#include <map>
template<typename T, T def>
struct DefaultInteger
{
DefaultInteger() : val(def) {}
DefaultInteger(T val) : val(val) {}
DefaultInteger& operator=(T n) { val = n; return *this; }
operator T() const { return val; }
T val;
};
int main()
{
using namespace std;
map<int,DefaultInteger<int,42>> m;
cout << m[-1] << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKdGVtcGxhdGU8dHlwZW5hbWUgVCwgVCBkZWY+CnN0cnVjdCBEZWZhdWx0SW50ZWdlcgp7CglEZWZhdWx0SW50ZWdlcigpIDogdmFsKGRlZikge30KCURlZmF1bHRJbnRlZ2VyKFQgdmFsKSA6IHZhbCh2YWwpIHt9CiAgICAKCURlZmF1bHRJbnRlZ2VyJiBvcGVyYXRvcj0oVCBuKSB7IHZhbCA9IG47IHJldHVybiAqdGhpczsgfQoJb3BlcmF0b3IgVCgpIGNvbnN0IHsgcmV0dXJuIHZhbDsgfQoKCVQgdmFsOwp9OwoKCmludCBtYWluKCkKewoJdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgltYXA8aW50LERlZmF1bHRJbnRlZ2VyPGludCw0Mj4+IG07CgoJY291dCA8PCBtWy0xXSA8PCBlbmRsOwp9