def intersectBed(lst1, lst2):
    """
	Return intersection of two bed regions.
	
	Parameters
	----------
	lst1 : list
		The 1st genomic region. List of chrom, start, end.
		Example: ['chr1',10, 100]
	
	lst2 : list
		 The 2nd genomic region. List of chrom, start, end.
		 Example: ['chr1',50, 120]
		 
	Examples
	--------
	>>> intersectBed(['chr1',10, 100],['chr1',50, 120])
	('chr1', 50, 100)
	>>> intersectBed(['chr1',10, 100],['chr1',20, 30])
	('chr1', 20, 30)
	
	"""
    chr1, st1, end1 = lst1
    chr2, st2, end2 = lst2
    if int(st1) > int(end1) or int(st2) > int(end2):
        raise Exception('Start cannot be larger than end')
    if chr1 != chr2:
        return None
    if int(st1) > int(end2) or int(end1) < int(st2):
        return None
    return chr1, max(st1, st2), min(end1, end2)
