Consider the recursive functions represented by the following code segment:
int bar(int n){
if (n == 1) return 0;
else return 1 + bar(n/2);
}
int foo(int n){
if (n == 1) return 1;
else return 1 + foo(bar(n));
}The smallest positive integer n for which foo(n) returns 5 is ______.
Note: Ignore syntax errors (if any) in the function.