I'm learning Golang and am struggling to understand why this isn't printing out 20 greetings even though I'm calling the function twice with 10 times each.

```
package main

import (
    "log"
    "math/rand"
    "time"
)

func SayGreetings(greeting string, times int) {
    for i := 0; i < times; i++ {
        log.Println(greeting)
        d := time.Second * time.Duration(rand.Intn(5)) / 2
        time.Sleep(d) // sleep for 0 to 2.5 seconds
    }
}

func main() {
    rand.Seed(time.Now().UnixNano())
    log.SetFlags(0)
    go SayGreetings("hi!", 10)
    go SayGreetings("hello!", 10)
    time.Sleep(2 * time.Second)
}

```