#include <bits/stdc++.h>
using namespace std;
int readMaxNums() {
int num;
cin >> num; // accept number
string _;
getline(cin, _);
return num;
}
vector<string> readNames() {
vector<string> names;
string name;
while(getline(cin, name)) {
names.push_back(name);
cout << "got name " << name << endl;
}
return names;
}
int main() {
// Input
int max_nums = readMaxNums();
vector<string> names = readNames();
// Process
vector<int> numbers(max_nums);
iota(numbers.begin(), numbers.end(), 1);
random_shuffle(numbers.begin(), numbers.end());
vector<pair<int, string>> number_and_names;
for (int i = 0; i < names.size(); i++) {
number_and_names.push_back({numbers[i], names[i]});
}
sort(number_and_names.begin(), number_and_names.end());
// Output
for (auto [number, name]: number_and_names) {
cout << name <<" : " << number << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgcmVhZE1heE51bXMoKSB7CglpbnQgbnVtOwoJY2luID4+IG51bTsgLy8gYWNjZXB0IG51bWJlcgoJc3RyaW5nIF87CglnZXRsaW5lKGNpbiwgXyk7CglyZXR1cm4gbnVtOwp9Cgp2ZWN0b3I8c3RyaW5nPiByZWFkTmFtZXMoKSB7Cgl2ZWN0b3I8c3RyaW5nPiBuYW1lczsKCXN0cmluZyBuYW1lOwoJd2hpbGUoZ2V0bGluZShjaW4sIG5hbWUpKSB7CgkJbmFtZXMucHVzaF9iYWNrKG5hbWUpOwoJCWNvdXQgPDwgImdvdCBuYW1lICIgPDwgbmFtZSA8PCBlbmRsOwoJfQoJcmV0dXJuIG5hbWVzOwp9CgppbnQgbWFpbigpIHsKCS8vIElucHV0CglpbnQgbWF4X251bXMgPSByZWFkTWF4TnVtcygpOwoJdmVjdG9yPHN0cmluZz4gbmFtZXMgPSByZWFkTmFtZXMoKTsKCQoJLy8gUHJvY2VzcwoJdmVjdG9yPGludD4gbnVtYmVycyhtYXhfbnVtcyk7Cglpb3RhKG51bWJlcnMuYmVnaW4oKSwgbnVtYmVycy5lbmQoKSwgMSk7CglyYW5kb21fc2h1ZmZsZShudW1iZXJzLmJlZ2luKCksIG51bWJlcnMuZW5kKCkpOwoJCgl2ZWN0b3I8cGFpcjxpbnQsIHN0cmluZz4+IG51bWJlcl9hbmRfbmFtZXM7Cglmb3IgKGludCBpID0gMDsgaSA8IG5hbWVzLnNpemUoKTsgaSsrKSB7CgkJbnVtYmVyX2FuZF9uYW1lcy5wdXNoX2JhY2soe251bWJlcnNbaV0sIG5hbWVzW2ldfSk7Cgl9Cglzb3J0KG51bWJlcl9hbmRfbmFtZXMuYmVnaW4oKSwgbnVtYmVyX2FuZF9uYW1lcy5lbmQoKSk7CgkKCS8vIE91dHB1dAoJZm9yIChhdXRvIFtudW1iZXIsIG5hbWVdOiBudW1iZXJfYW5kX25hbWVzKSB7CgkJY291dCA8PCBuYW1lIDw8IiA6ICIgPDwgbnVtYmVyIDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==