fac = (n) -> [1..n].reduce (x,y) -> x*y