#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
using namespace std;
string strrev(const string& str)
{
string rev_str;
for (int i=str.size()-1; i>=0; i--)
rev_str += str[i];
return rev_str;
}
int main(int argc, char* argv[])
{
if (argc != 3)
return 0;
ifstream ifs(argv[1]);
ofstream ofs(argv[2]);
string line;
while (getline(ifs, line)) {
line.erase(remove_if(line.begin(), line.end(),
[](char c) { return c == '\r' || c == '\n'; }),
line.end());
ofs << strrev(line) << endl;
}
}
I2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIHN0cnJldihjb25zdCBzdHJpbmcmIHN0cikKewogIHN0cmluZyByZXZfc3RyOwogIGZvciAoaW50IGk9c3RyLnNpemUoKS0xOyBpPj0wOyBpLS0pCiAgICByZXZfc3RyICs9IHN0cltpXTsKICByZXR1cm4gcmV2X3N0cjsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKewogIGlmIChhcmdjICE9IDMpCiAgICByZXR1cm4gMDsKCiAgaWZzdHJlYW0gaWZzKGFyZ3ZbMV0pOwogIG9mc3RyZWFtIG9mcyhhcmd2WzJdKTsKICBzdHJpbmcgbGluZTsKICB3aGlsZSAoZ2V0bGluZShpZnMsIGxpbmUpKSB7CiAgICBsaW5lLmVyYXNlKHJlbW92ZV9pZihsaW5lLmJlZ2luKCksIGxpbmUuZW5kKCksCiAgICAgICAgICAgICAgIFtdKGNoYXIgYykgeyByZXR1cm4gYyA9PSAnXHInIHx8IGMgPT0gJ1xuJzsgfSksCiAgICAgICAgICAgICAgIGxpbmUuZW5kKCkpOwogICAgb2ZzIDw8IHN0cnJldihsaW5lKSA8PCBlbmRsOwogIH0KfQo=