func c(n) is cached { n == 0 ? 1 : (c(n-1) * (4 * n - 2) / (n + 1)) }