<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def disambiguate(self, symclasses):
 """Use the connection to the atoms around a given vertex as a multiplication function to disambiguate a vertex"""

        offsets = self.offsets
        result = symclasses[:]
	for index in self.range:
	    try:
		val = 1
		for offset, bondtype in offsets[index]:
		    val *= symclasses[offset] * bondtype
	    except OverflowError:
                # Hmm, how often does this occur?
		val = 1L
		for offset, bondtype in offsets[index]:
		    val *= symclasses[offset] * bondtype
            result[index] = val
	return result