func intersect(nums1 []int, nums2 []int) (res []int) {
	m := make(map[int]int)
	for _, n := range nums1 {
		m[n]++
	}
	for _, n := range nums2 {
		if val, ok := m[n]; ok && 0 < val {
			m[n] = val - 1
			res = append(res, n)
		}
	}
	return
}