# source: http://stackoverflow.com/a/14759302
def cum_fact(arr):
cumulative_sum = 0
latest_factorial = 1
for a in arr:
latest_factorial *= a
cumulative_sum += latest_factorial
return cumulative_sum
nums = [5, 3, 7]
print(cum_fact(nums))
IyBzb3VyY2U6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE0NzU5MzAyCmRlZiBjdW1fZmFjdChhcnIpOgogICAgY3VtdWxhdGl2ZV9zdW0gPSAwCiAgICBsYXRlc3RfZmFjdG9yaWFsID0gMQogICAgZm9yIGEgaW4gYXJyOgogICAgICAgIGxhdGVzdF9mYWN0b3JpYWwgKj0gYQogICAgICAgIGN1bXVsYXRpdmVfc3VtICs9IGxhdGVzdF9mYWN0b3JpYWwKICAgIHJldHVybiBjdW11bGF0aXZlX3N1bQogICAgCm51bXMgPSBbNSwgMywgN10KcHJpbnQoY3VtX2ZhY3QobnVtcykp