#include <stdio.h>
#include <malloc.h>
void f(char *buffer, int max){
int i;
for (i = max-1 ; buffer[i] == '1' ; i--){
buffer[i] = '0';
}
if (i < 0) return;
buffer[i] = '1';
f(buffer, max);
}
int main(int argc, char ** argv){
char buffer[32];
int i;
for (i = 0; i < max ; i++){
buffer[i] = '0';
}
buffer[max] = 0;
f(buffer, max);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYWxsb2MuaD4KCnZvaWQgZihjaGFyICpidWZmZXIsIGludCBtYXgpewogICAgaW50IGk7CiAgICBwcmludGYoIiVzLCAiLCBidWZmZXIpOwogICAgZm9yIChpID0gbWF4LTEgOyBidWZmZXJbaV0gPT0gJzEnIDsgaS0tKXsKICAgICAgICBidWZmZXJbaV0gPSAnMCc7CiAgICB9CiAgICBpZiAoaSA8IDApIHJldHVybjsKICAgIGJ1ZmZlcltpXSA9ICcxJzsKICAgIGYoYnVmZmVyLCBtYXgpOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKiBhcmd2KXsKICAgIGludCBtYXggPSBhdG9pKGFyZ3ZbMV0pOwogICAgY2hhciBidWZmZXJbMzJdOwogICAgaW50IGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgbWF4IDsgaSsrKXsKICAgICAgICBidWZmZXJbaV0gPSAnMCc7CiAgICB9CiAgICBidWZmZXJbbWF4XSA9IDA7CiAgICBmKGJ1ZmZlciwgbWF4KTsKfQ==