UA4QW2NDITNZ3YNWPOHI6EOT3QQQJAMTM5VLTVD53Q2JMILPCUAAC func (r routes) genRoutes(s seen, root string) int {
func solveSecond(r routes) int {s := seen{}return r.genRoutes(s, "start", seenTooMuch)}func seenTooMuch(s seen, root string) bool {if s[root] >= 2 {return true}if s[root] == 0 {return false}if s[root] == 1 {for k, v := range s {if k == root {continue}if v > 1 {return true}}}return false}func isSeen(s seen, root string) bool {if s[root] > 0 {return true}return false}func (r routes) genRoutes(s seen, root string, fn condFn) int {