#include <iostream>
using namespace std;
class Yoba{
};
class Yoba1{
Yoba1(char l){}
};
class Yoba2{
Yoba2(int l){}
};
template<typename T>
Yoba foo(int type, T val) {
switch(type) {
case 0 : return new Yoba1(val);
case 1 : return new Yoba2(val);
}
}
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgWW9iYXsKfTsKCmNsYXNzIFlvYmExewoJWW9iYTEoY2hhciBsKXt9Cn07CgpjbGFzcyBZb2JhMnsKCVlvYmEyKGludCBsKXt9Cn07Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpZb2JhIGZvbyhpbnQgdHlwZSwgVCB2YWwpIHsKc3dpdGNoKHR5cGUpIHsKY2FzZSAwIDogcmV0dXJuIG5ldyBZb2JhMSh2YWwpOwpjYXNlIDEgOiByZXR1cm4gbmV3IFlvYmEyKHZhbCk7Cn0KfQoKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=