The code below gives an answer (further below), that I do not understand.

```
#include <stdio.h>

int fA (int x) {
   int w = x;

   printf("%d", x);

   if (x > 4) 
      w += fA(x - 2);

   if (x > 2)
      w += fA(x - 4);

   printf("%d", x);
   return w;
}

int fB (int x) {

   if (x < 1) 
      return 1;

   int w = x;

   if (x > 2) 
      w = w * fB(x - 1);

   if (x > 1) 
      w= w + fA(x - 1);

   return w;
}

int main (void) {
   printf("\n %d %d \n", fA(6), fB(3));
   return 0;
}

```

it prints

> 
> 112264004226  
>  12 11
> 
> 
> 

The question is why?
In my opinion it should starts with `6`.
Thanks!