With n variable, we can have $2^n$ outputs as each output can be true or false.
Now we need to see how many functions can be made out of $2^n$ outputs.
Let us say m=$2^n$ // number of outputs
Now with m ,I can have 2^m functions as each value of m can be 0 or 1.
So $2^m" = 2^2^n, a is the answer