code: func Lcm(vals []uint32) uint32 {
  	out := vals[0]
  	for i := 1; i < len(vals); i++ {
  		max := Max(uint32(vals[i]), out)
  		min := Min(uint32(vals[i]), out)
  		r := max % min
  		if r != 0 {
  			for j := uint32(2); j <= min; j++ {
  				if (j*max)%min == 0 {
  					out = j * max
  					break
  				}
  			}
  		} else {
  			out = max
  		}
  	}
  	return out
  }
docs: // Lcm returns the least common multiple