recursive list sum