import (
"strings"
"strconv"
)
func subdomainVisits(cpdomains []string) []string {
count := map[string]int{}
for _, domain := range cpdomains {
doList := strings.Split(domain, " ")
times, _ := strconv.Atoi(doList[0])
dom := strings.Split(doList[1], ".")
for i := range dom {
count[strings.Join(dom[i:], ".")] += times
}
}
result := make([]string, 0, len(count))
for key, value := range count {
result = append(result, strconv.Itoa(value) + " " + key)
}
return result
}