#include <string>
#include <typeinfo>
using namespace std;
template <typename T>
static T StringCast(string inValue)
{
if(typeid(T) == typeid(bool))
{
if(inValue == "true")
return true;
if(inValue == "false")
return false;
if(inValue == "1")
return true;
if(inValue == "0")
return false;
return false;
}
std::istringstream stream(inValue);
T t;
stream >> t;
return t;
}
int main()
{
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHR5cGVpbmZvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kc3RhdGljIFQgU3RyaW5nQ2FzdChzdHJpbmcgaW5WYWx1ZSkKewogICAgaWYodHlwZWlkKFQpID09IHR5cGVpZChib29sKSkKICAgIHsKICAgICAgICBpZihpblZhbHVlID09ICJ0cnVlIikKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgaWYoaW5WYWx1ZSA9PSAiZmFsc2UiKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgaWYoaW5WYWx1ZSA9PSAiMSIpCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIGlmKGluVmFsdWUgPT0gIjAiKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHN0ZDo6aXN0cmluZ3N0cmVhbSBzdHJlYW0oaW5WYWx1ZSk7CiAgICBUIHQ7CiAgICBzdHJlYW0gPj4gdDsKICAgIHJldHVybiB0Owp9CgppbnQgbWFpbigpCnsKfQ==