Plain factorial developed inside the main program, no function calls, straight to the point.  Uses unsigned, never mix them with signeds