#include <string>
#include <iostream>
using namespace std;
string reverse(string& s,int length,int start=0){
if (start>=length){
return s;
}
else{
char temp=s[length];
s[length]=s[start];
s[start]=temp;
reverse(s,--length,++start);
}return s;
}
int main(void) {
string a = "This is a long string";
cout<<reverse(a,a.length()-1,0);
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIHJldmVyc2Uoc3RyaW5nJiBzLGludCBsZW5ndGgsaW50IHN0YXJ0PTApewoKICAgIGlmIChzdGFydD49bGVuZ3RoKXsKICAgICAgICByZXR1cm4gczsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgY2hhciB0ZW1wPXNbbGVuZ3RoXTsKICAgICAgICBzW2xlbmd0aF09c1tzdGFydF07CiAgICAgICAgc1tzdGFydF09dGVtcDsKICAgICAgICByZXZlcnNlKHMsLS1sZW5ndGgsKytzdGFydCk7CiAgICB9cmV0dXJuIHM7Cn0KCmludCBtYWluKHZvaWQpIHsKCiAgICBzdHJpbmcgYSA9ICJUaGlzIGlzIGEgbG9uZyBzdHJpbmciOwogICAgY291dDw8cmV2ZXJzZShhLGEubGVuZ3RoKCktMSwwKTsKfQ==