1 int
foo(a)2 foo (a)
3 {
4   return foo (a - 1) * a;
5 }
6