def degN (*args):
	""" Generate a Degree N Polynomial
	Returns a functon, denoted as 'f(x | a_0, a_1, ... , a_i, ... , a_N)= a_N*x^N + ... +a_i*x^i + ... + a_1*x + a_0, where N=len(args)-1.
	The elements in 'args' equal the coefficients of their corresponding term in the function, 'f';  And the index of each element in 'args' is equal to the 
	exponent of the variable, 'x', in it's corresponding term in 'f'.
	
	Example:  An argument list of [5, 1, 2] will result in the function, f(x) = 2x^2 + x + 5, being returned.
	"""
	return lambda x: sum(a*x**i for i, a in enumerate(args))