#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <array>
#include <cstdint>
#include <iomanip>
template <typename C>
std::string hex_str(const C& data)
{
std::ostringstream output;
output << std::hex << std::setw(2) << std::setfill('0');
for(const auto &elem : data)
output << static_cast<unsigned>(elem);
return output.str();
}
int main() {
std::array<uint8_t, 5> arr = {0x48, 0x65, 0x6c, 0x6c, 0x6f};
std::cout << hex_str(arr) << std::endl;
std::vector<uint8_t> vec = {0x48, 0x65, 0x6c, 0x6c, 0x6f};
std::cout << hex_str(vec) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8Y3N0ZGludD4KI2luY2x1ZGUgPGlvbWFuaXA+Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgQz4Kc3RkOjpzdHJpbmcgaGV4X3N0cihjb25zdCBDJiBkYXRhKQp7CglzdGQ6Om9zdHJpbmdzdHJlYW0gb3V0cHV0OwoJb3V0cHV0IDw8IHN0ZDo6aGV4IDw8IHN0ZDo6c2V0dygyKSA8PCBzdGQ6OnNldGZpbGwoJzAnKTsKCWZvcihjb25zdCBhdXRvICZlbGVtIDogZGF0YSkKCQlvdXRwdXQgPDwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGVsZW0pOwoJcmV0dXJuIG91dHB1dC5zdHIoKTsKfQoKaW50IG1haW4oKSB7CglzdGQ6OmFycmF5PHVpbnQ4X3QsIDU+IGFyciA9IHsweDQ4LCAweDY1LCAweDZjLCAweDZjLCAweDZmfTsKCXN0ZDo6Y291dCA8PCBoZXhfc3RyKGFycikgPDwgc3RkOjplbmRsOwoKCXN0ZDo6dmVjdG9yPHVpbnQ4X3Q+IHZlYyA9IHsweDQ4LCAweDY1LCAweDZjLCAweDZjLCAweDZmfTsKCXN0ZDo6Y291dCA8PCBoZXhfc3RyKHZlYykgPDwgc3RkOjplbmRsOwp9