/*computes 12!=479,001,600 (13! overflows 32 bit long size)/

#include <stdio.h>
unsigned long fact(int n)
{
 return (n==1)? 1: n*fact(n-1);
}
main()
{ unsigned long res;
  int n;
  n=12;
  res=fact(n);
  printf("Factorial %d is %lu\n", n, res);
}