#include <iostream>
using namespace std;
void spaces(char space) {
if (space <= 0) {
return;
}
std::cout << " ";
spaces(space-1);
}
void line(char start, char end, char space) {
if (start != end) {
std::cout << start;
line(start+1, end, space-1);
std::cout << start;
} else {
std::cout << end;
}
}
void countdown(char start, char end, char space) {
++space;
if (start != end) {
countdown(start, end-1, space);
}
spaces(space);
line(start, end, space);
spaces(space);
std::cout << std::endl;
}
void range(char start, char end) {
countdown(start, end, 0);
}
int main() {
range('a', 'g');
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzcGFjZXMoY2hhciBzcGFjZSkgewoJaWYgKHNwYWNlIDw9IDApIHsKCQlyZXR1cm47Cgl9CglzdGQ6OmNvdXQgPDwgIiAiOwoJc3BhY2VzKHNwYWNlLTEpOwp9Cgp2b2lkIGxpbmUoY2hhciBzdGFydCwgY2hhciBlbmQsIGNoYXIgc3BhY2UpIHsKCWlmIChzdGFydCAhPSBlbmQpIHsKCQlzdGQ6OmNvdXQgPDwgc3RhcnQ7CgkJbGluZShzdGFydCsxLCBlbmQsIHNwYWNlLTEpOwoJCXN0ZDo6Y291dCA8PCBzdGFydDsKCX0gZWxzZSB7CgkJc3RkOjpjb3V0IDw8IGVuZDsKCX0KfQoKdm9pZCBjb3VudGRvd24oY2hhciBzdGFydCwgY2hhciBlbmQsIGNoYXIgc3BhY2UpIHsKCSsrc3BhY2U7CglpZiAoc3RhcnQgIT0gZW5kKSB7CgkJY291bnRkb3duKHN0YXJ0LCBlbmQtMSwgc3BhY2UpOwoJfQoJc3BhY2VzKHNwYWNlKTsKCWxpbmUoc3RhcnQsIGVuZCwgc3BhY2UpOwogICAgc3BhY2VzKHNwYWNlKTsKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cn0KCnZvaWQgcmFuZ2UoY2hhciBzdGFydCwgY2hhciBlbmQpIHsKCWNvdW50ZG93bihzdGFydCwgZW5kLCAwKTsKfQoKaW50IG1haW4oKSB7CglyYW5nZSgnYScsICdnJyk7CglyZXR1cm4gMDsKfQ==