#include <iostream>
void foo_rec(int i, int k, int t, int p)
{
std::cout << i << k << t << p << std::endl;
if (++p == 2) {
p = 0;
if (++t == 2) {
t = 0;
if (++k == 2) {
k = 0;
++i;
}
}
}
if (i < 2) {
foo_rec(i, k, t, p);
}
}
void foo()
{
foo_rec(0, 0, 0, 0);
}
int main() {
foo();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmb29fcmVjKGludCBpLCBpbnQgaywgaW50IHQsIGludCBwKQp7CiAgICBzdGQ6OmNvdXQgPDwgaSA8PCBrIDw8IHQgPDwgcCA8PCBzdGQ6OmVuZGw7CiAgICBpZiAoKytwID09IDIpIHsKICAgICAgICBwID0gMDsKICAgICAgICBpZiAoKyt0ID09IDIpIHsKICAgICAgICAgICAgdCA9IDA7CiAgICAgICAgICAgIGlmICgrK2sgPT0gMikgewogICAgICAgICAgICAgICAgayA9IDA7CiAgICAgICAgICAgICAgICArK2k7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpZiAoaSA8IDIpIHsKICAgICAgICBmb29fcmVjKGksIGssIHQsIHApOwogICAgfQp9Cgp2b2lkIGZvbygpCnsKICAgIGZvb19yZWMoMCwgMCwgMCwgMCk7Cn0KCgppbnQgbWFpbigpIHsKCWZvbygpOwp9