1 of 4

Haskell, 84 bytes

import Data.List
z=zipWith
f l=foldr1(z$z(+))$scanr(\_->transpose.map reverse)l"abc"

Try it online!