#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
int main() {
std::string str = "Hello World";
std::vector<unsigned long int> keys;
// forward
for(std::string::iterator it = str.begin(); it != str.end(); ++it) {
unsigned long int c = (unsigned long int) (*it);
keys.push_back(c);
}
for(unsigned long int x : keys) {
std::cout << (char)x;
}
std::cout << std::endl;
keys.clear();
// reverse
for(std::string::reverse_iterator it = str.rbegin(); it != str.rend(); ++it) {
unsigned long int c = (unsigned long int) (*it);
keys.push_back(c);
}
for(unsigned long int x : keys) {
std::cout << (char)x;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKCmludCBtYWluKCkgewoJCglzdGQ6OnN0cmluZyBzdHIgPSAiSGVsbG8gV29ybGQiOwoJc3RkOjp2ZWN0b3I8dW5zaWduZWQgbG9uZyBpbnQ+IGtleXM7CgkKCS8vIGZvcndhcmQKCWZvcihzdGQ6OnN0cmluZzo6aXRlcmF0b3IgaXQgPSBzdHIuYmVnaW4oKTsgaXQgIT0gc3RyLmVuZCgpOyArK2l0KSB7CgkJdW5zaWduZWQgbG9uZyBpbnQgYyA9ICh1bnNpZ25lZCBsb25nIGludCkgKCppdCk7CgkJa2V5cy5wdXNoX2JhY2soYyk7Cgl9CgkKCWZvcih1bnNpZ25lZCBsb25nIGludCB4IDoga2V5cykgewoJCXN0ZDo6Y291dCA8PCAoY2hhcil4OwoJfQoJCglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJCglrZXlzLmNsZWFyKCk7CgkKCQoJLy8gcmV2ZXJzZQoJZm9yKHN0ZDo6c3RyaW5nOjpyZXZlcnNlX2l0ZXJhdG9yIGl0ID0gc3RyLnJiZWdpbigpOyBpdCAhPSBzdHIucmVuZCgpOyArK2l0KSB7CgkJdW5zaWduZWQgbG9uZyBpbnQgYyA9ICh1bnNpZ25lZCBsb25nIGludCkgKCppdCk7CgkJa2V5cy5wdXNoX2JhY2soYyk7Cgl9CgkKCglmb3IodW5zaWduZWQgbG9uZyBpbnQgeCA6IGtleXMpIHsKCQlzdGQ6OmNvdXQgPDwgKGNoYXIpeDsKCX0KCQoJcmV0dXJuIDA7Cn0=