#include <iostream>
#include <fstream>
#include <locale>
#include <vector>
#include <sstream>
#include <iomanip>
struct tick_is_space : std::ctype<char> {
tick_is_space() : std::ctype<char>(get_table()) {}
static std::ctype_base::mask const* get_table()
{
static std::vector<std::ctype_base::mask>
rc(table_size, std::ctype_base::mask());
rc['\n'] = std::ctype_base::space;
rc['\''] = std::ctype_base::space;
return &rc[0];
}
};
int main()
{
// std::ifstream ifs("input.data"); // no files on ideone
std::cin.imbue(std::locale(std::locale(), new tick_is_space()));
int foo;
std::string type, ullstr;
while( std::cin >> foo >> type >> ullstr)
{
std::vector<unsigned long long> ull;
while(ullstr.size() > 15)
{
std::istringstream is(ullstr.substr(0, 16));
unsigned long long tmp;
is >> std::hex >> tmp;
ull.push_back(tmp);
ullstr.erase(0, 16);
}
std::cout << std::dec << foo << " " << type << " "
<< std::hex << std::showbase;
for(size_t p=0; p<ull.size(); ++p)
std::cout << std::setw(16) << std::setfill('0') << ull[p] << ' ';
std::cout << '\n';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGxvY2FsZT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxpb21hbmlwPgpzdHJ1Y3QgdGlja19pc19zcGFjZSA6IHN0ZDo6Y3R5cGU8Y2hhcj4gewogICAgdGlja19pc19zcGFjZSgpIDogc3RkOjpjdHlwZTxjaGFyPihnZXRfdGFibGUoKSkge30KICAgIHN0YXRpYyBzdGQ6OmN0eXBlX2Jhc2U6Om1hc2sgY29uc3QqIGdldF90YWJsZSgpCiAgICB7CiAgICAgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6Y3R5cGVfYmFzZTo6bWFzaz4KICAgICAgICAgICAgICAgcmModGFibGVfc2l6ZSwgc3RkOjpjdHlwZV9iYXNlOjptYXNrKCkpOwogICAgICAgIHJjWydcbiddID0gc3RkOjpjdHlwZV9iYXNlOjpzcGFjZTsKICAgICAgICByY1snXCcnXSA9IHN0ZDo6Y3R5cGVfYmFzZTo6c3BhY2U7CiAgICAgICAgcmV0dXJuICZyY1swXTsKICAgIH0KfTsKCmludCBtYWluKCkKewovLyAgICAgc3RkOjppZnN0cmVhbSBpZnMoImlucHV0LmRhdGEiKTsgLy8gbm8gZmlsZXMgb24gaWRlb25lCiAgICBzdGQ6OmNpbi5pbWJ1ZShzdGQ6OmxvY2FsZShzdGQ6OmxvY2FsZSgpLCBuZXcgdGlja19pc19zcGFjZSgpKSk7CiAgICBpbnQgZm9vOwogICAgc3RkOjpzdHJpbmcgdHlwZSwgdWxsc3RyOwogICAgd2hpbGUoIHN0ZDo6Y2luID4+IGZvbyA+PiB0eXBlID4+IHVsbHN0cikKICAgIHsKICAgICAgICBzdGQ6OnZlY3Rvcjx1bnNpZ25lZCBsb25nIGxvbmc+IHVsbDsKICAgICAgICB3aGlsZSh1bGxzdHIuc2l6ZSgpID4gMTUpCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0gaXModWxsc3RyLnN1YnN0cigwLCAxNikpOwogICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG1wOwogICAgICAgICAgICBpcyA+PiBzdGQ6OmhleCA+PiB0bXA7CiAgICAgICAgICAgIHVsbC5wdXNoX2JhY2sodG1wKTsKICAgICAgICAgICAgdWxsc3RyLmVyYXNlKDAsIDE2KTsKICAgICAgICB9CiAgICAgICAgc3RkOjpjb3V0IDw8IHN0ZDo6ZGVjIDw8IGZvbyA8PCAiICIgPDwgdHlwZSA8PCAiICIKICAgICAgICAgICAgICAgICAgPDwgc3RkOjpoZXggPDwgc3RkOjpzaG93YmFzZTsKICAgICAgICBmb3Ioc2l6ZV90IHA9MDsgcDx1bGwuc2l6ZSgpOyArK3ApCiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OnNldHcoMTYpIDw8IHN0ZDo6c2V0ZmlsbCgnMCcpIDw8IHVsbFtwXSA8PCAnICc7CiAgICAgICAgc3RkOjpjb3V0IDw8ICdcbic7CiAgICB9Cn0K