#include <algorithm>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <map>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
using namespace std;
int main() {
istringstream input{ "HR0\n012312010\n001230202\n\nHR1\n012031020\n012320102\n012323222\n012321010\n\nHR2\n321020202" };
multimap<int, int> output;
string i;
while(input >> i) {
const auto key = std::atoi(i.data() + 2);
transform(istream_iterator<int>(input), istream_iterator<int>(), inserter(output, begin(output)), [key](const auto value){ return make_pair(key, value); });
input.clear();
}
auto key = cbegin(output)->first;
cout << key << ":\n" << setfill('0');
for(const auto& it : output) {
if(it.first == key) {
cout << '\t' << setw(9) << it.second << endl;
} else {
key = it.first;
cout << key << ":\n\t" << setw(9) << it.second << endl;
}
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaXN0cmluZ3N0cmVhbSBpbnB1dHsgIkhSMFxuMDEyMzEyMDEwXG4wMDEyMzAyMDJcblxuSFIxXG4wMTIwMzEwMjBcbjAxMjMyMDEwMlxuMDEyMzIzMjIyXG4wMTIzMjEwMTBcblxuSFIyXG4zMjEwMjAyMDIiIH07CgltdWx0aW1hcDxpbnQsIGludD4gb3V0cHV0OwoJc3RyaW5nIGk7CgkKCXdoaWxlKGlucHV0ID4+IGkpIHsKCQljb25zdCBhdXRvIGtleSA9IHN0ZDo6YXRvaShpLmRhdGEoKSArIDIpOwoJCQoJCXRyYW5zZm9ybShpc3RyZWFtX2l0ZXJhdG9yPGludD4oaW5wdXQpLCBpc3RyZWFtX2l0ZXJhdG9yPGludD4oKSwgaW5zZXJ0ZXIob3V0cHV0LCBiZWdpbihvdXRwdXQpKSwgW2tleV0oY29uc3QgYXV0byB2YWx1ZSl7IHJldHVybiBtYWtlX3BhaXIoa2V5LCB2YWx1ZSk7IH0pOwoJCWlucHV0LmNsZWFyKCk7Cgl9CgkKCWF1dG8ga2V5ID0gY2JlZ2luKG91dHB1dCktPmZpcnN0OwoJCgljb3V0IDw8IGtleSA8PCAiOlxuIiA8PCBzZXRmaWxsKCcwJyk7CgkKCWZvcihjb25zdCBhdXRvJiBpdCA6IG91dHB1dCkgewoJCWlmKGl0LmZpcnN0ID09IGtleSkgewoJCQljb3V0IDw8ICdcdCcgPDwgc2V0dyg5KSA8PCBpdC5zZWNvbmQgPDwgZW5kbDsKCQl9IGVsc2UgewoJCQlrZXkgPSBpdC5maXJzdDsKCQkJY291dCA8PCBrZXkgPDwgIjpcblx0IiA8PCBzZXR3KDkpIDw8IGl0LnNlY29uZCA8PCBlbmRsOwoJCX0KCX0KCQp9