macro int factorial($n)
{
	$if $n == 0:
		return 1;
	$else
		return $n * factorial($n - 1);
	$endif
}

extern fn void printf(char *fmt, ...);

fn void main()
{
	int x = factorial(12);
	printf("12! = %d\n", x);
}