package main func Sum(numbers []int) int { sum := 0 for _, n := range numbers { sum += n } return sum } func SumAllTails(numbersToSum ...[]int) []int { sums := make([]int, 0, len(numbersToSum)) for _, numbers := range numbersToSum { if len(numbers) == 0 { sums = append(sums, 0) } else { tail := numbers[1:] sums = append(sums, Sum(tail)) } } return sums }