def fingPandigitalProdcuts():	
	pandigitalProducts = {0} # we are using a set because we want to avoid adding duplicate pandigital products.

	# 2 digit multiplicands are multiplied with 3-digit multipliers
	for multiplicand in range(12,99):
		for multiplier in range(102, 988):
			product = multiplicand * multiplier # compute product
			multiplicand_nultiplier_product = int(str(multiplicand) + str(multiplier) + str(product)) # form a single identity using the multiplicand, multiplier and product
			if (Common.isPandigital(multiplicand_nultiplier_product)): # check if the identity is pandigital
				pandigitalProducts.add(product) # add product to the set of pandigital products.

	# 1 digit multiplicands are multiplied with 4-digit multipliers			
	for multiplicand in range(1,10):
		for multiplier in range(1002, 9877):
			product = multiplicand * multiplier # compute product
			multiplicand_nultiplier_product = int(str(multiplicand) + str(multiplier) + str(product)) # form a single identity using the multiplicand, multiplier and product
			if (Common.isPandigital(multiplicand_nultiplier_product)): # check if the identity is pandigital
				pandigitalProducts.add(product) # add product to the set of pandigital products.
	 				
	return	sum(pandigitalProducts)	
def ceatePotentialPandigitalProducts(range_of_numbers, result):	
	
	for integer in range_of_numbers:
		prod = 1
		x = ""	
		for n in range(1,10):
			prod = integer * n 
			x = x + str(prod)
			if (len(x) >= 9):
				if ( int(x) < 987654321 and int(x) > result and Common.isPandigital(int(x))):
					result = int(x)	
					a = integer
					b = n		
	return result