#include <iostream>
using namespace std;

bool cr(const char *p, const char *q = 0) {
    return q ? (*q ? *p == *q || cr(p, q + 1) : cr(p + 1)) : *p && cr(p, p + 1);
}

int main()
{
    std::cout << cr("") << std::endl      // 0
        << cr("a") << std::endl           // 0
        << cr("aa") << std::endl          // 1
        << cr("abc") << std::endl         // 0
        << cr("aaa") << std::endl         // 1
        << cr("bab") << std::endl         // 1
        << cr("baab") << std::endl        // 1
        << cr("bbaaabb") << std::endl     // 1
        << cr("bbabc") << std::endl       // 1
        << cr("abcbb") << std::endl;      // 1

    return EXIT_SUCCESS;
}