#include <iostream>
#include <string>
#include <typeinfo>
using namespace std;
typedef std::basic_string<unsigned char> ustring;
int main() {
ustring abc = reinterpret_cast<const unsigned char *>("abcd");
#define TYPE(X) cout << #X ": " << typeid(X).name() << endl;
TYPE(char);
TYPE(unsigned char);
TYPE(abc[0]);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dHlwZWluZm8+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+IHVzdHJpbmc7CgppbnQgbWFpbigpIHsKCXVzdHJpbmcgYWJjID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KCJhYmNkIik7CiNkZWZpbmUgVFlQRShYKSBjb3V0IDw8ICNYICI6ICIgPDwgdHlwZWlkKFgpLm5hbWUoKSA8PCBlbmRsOwoJVFlQRShjaGFyKTsKCVRZUEUodW5zaWduZWQgY2hhcik7CglUWVBFKGFiY1swXSk7CgkKCQoJcmV0dXJuIDA7Cn0=