Function not returning correct value

Function not returning correct value

I have a test function not returning the correct value.

int temp.temp8(int digits)
{
   powernum = 36.power(input.digits);
   return powernum;
}





When I input 4, I get 1679616.
When I input 5, I get 6 but am expecting 60466176
When I input 6, I get 4 but am expecting 2176782336

What are the number size limits or is there a problem with the power function?