#include <iostream>
using namespace std;
template <std::size_t N>
constexpr char bin_string[] = {'0', 'b',
((N >> 7) & 1) ? '1' : '0',
((N >> 6) & 1) ? '1' : '0',
((N >> 5) & 1) ? '1' : '0',
((N >> 4) & 1) ? '1' : '0',
((N >> 3) & 1) ? '1' : '0',
((N >> 2) & 1) ? '1' : '0',
((N >> 1) & 1) ? '1' : '0',
((N >> 0) & 1) ? '1' : '0',
'\0'
};
template <std::size_t N>
constexpr char hex_string[] = {'0', 'x',
"0123456789ABCDEF"[(N >> 8u) & 0x0F],
"0123456789ABCDEF"[(N >> 0u) & 0x0F],
'\0'
};
int main() {
std::cout << bin_string<(0x1 << 2)> << std::endl;
std::cout << hex_string<(0x1 << 2)> << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnRlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgpjb25zdGV4cHIgY2hhciBiaW5fc3RyaW5nW10gPSB7JzAnLCAnYicsCigoTiA+PiA3KSAmIDEpID8gJzEnIDogJzAnLAooKE4gPj4gNikgJiAxKSA/ICcxJyA6ICcwJywKKChOID4+IDUpICYgMSkgPyAnMScgOiAnMCcsCigoTiA+PiA0KSAmIDEpID8gJzEnIDogJzAnLAooKE4gPj4gMykgJiAxKSA/ICcxJyA6ICcwJywKKChOID4+IDIpICYgMSkgPyAnMScgOiAnMCcsCigoTiA+PiAxKSAmIDEpID8gJzEnIDogJzAnLAooKE4gPj4gMCkgJiAxKSA/ICcxJyA6ICcwJywKJ1wwJwp9OyAKCnRlbXBsYXRlIDxzdGQ6OnNpemVfdCBOPgpjb25zdGV4cHIgY2hhciBoZXhfc3RyaW5nW10gPSB7JzAnLCAneCcsCiAgICAiMDEyMzQ1Njc4OUFCQ0RFRiJbKE4gPj4gOHUpICYgMHgwRl0sCiAgICAiMDEyMzQ1Njc4OUFCQ0RFRiJbKE4gPj4gMHUpICYgMHgwRl0sCiAgICAnXDAnCn07IAoKCgppbnQgbWFpbigpIHsKCXN0ZDo6Y291dCA8PCBiaW5fc3RyaW5nPCgweDEgPDwgMik+IDw8IHN0ZDo6ZW5kbDsKCXN0ZDo6Y291dCA8PCBoZXhfc3RyaW5nPCgweDEgPDwgMik+IDw8IHN0ZDo6ZW5kbDsKfQ==