#include <stdio.h>
int count = 0;
void libai(int store, int flower,int alco, int pre, char *ch, int index)
{
if(store == 0 && flower == 0)
{
if(alco == 0 && pre == 0)
{
int i;
for(i = 0;i < 15; i++)
{
printf("%c",ch[i]);
}
printf("\n");
count++;
}
return;
}
if(store > 0)
{
ch[index] = 'a';
libai(store - 1, flower, alco * 2, 1, ch, index + 1);
}
if(flower > 0)
{
ch[index] = 'b';
libai(store, flower - 1, alco - 1, 0, ch, index + 1);
}
}
void libai2(int alco, int store, int flower, char *ch, int index)
{
if(store > 5 || flower > 10)
{
return;
}
if(store == 5 && flower ==9)
{
if(alco == 1)
{
int i;
for(i = 0;i < 15; i++)
{
printf("%c",ch[i]);
}
printf("\n");
count++;
}
return;
}
ch[index] = 'a';
libai2(alco * 2, store + 1, flower, ch, index + 1);
ch[index] = 'b';
libai2(alco - 1, store, flower + 1, ch, index + 1);
}
int main()
{
char ch[20];
//libai(5, 10, 2, -1, ch, 0);
libai2(2, 0, 0, ch, 0);
printf("%d\n",count);
return 0;
}