WaitGroup перед чтением небуферизованного канала

Что выведетJuniorпроверка — Спринт07-t005

Четыре горутины отправляют квадраты в небуферизованный канал, main ждёт их через WaitGroup, а потом суммирует через range. Что выведет программа?

main.gogo
1package main2 3import (4	"fmt"5	"sync"6)7 8func main() {9	line := make(chan int)10	group := &sync.WaitGroup{}11	group.Add(4)12	for i := 0; i < 4; i++ {13		go func(n int) {14			defer group.Done()15			line <- n * n16		}(i)17	}18	group.Wait()19	var total int20	for n := range line {21		total += n22	}23	fmt.Printf("result: %d\n", total)24}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.