#!/usr/bin/python3.8
from functools import reduce
def mulitem2(x,y):
	return x*y
def mulitem(x):
	return x*x
def multiply(mnum):
	total=1
	for x in mnum:
		total*=x
	return total

def main():
	a=[1,2,3,4,5]
	print(multiply(a))
	#1. tropos list compr
	nl=[x**2 for x in a]
	print (nl)
	#2. tropos map
	res=map(mulitem,a)
	print (*res)
	#3. map- lamda
	nres=list(map(lambda x:x*x,a))
	print (nres)
	nres2=reduce(mulitem2,a)
	print (nres2)
	nres3=reduce(lambda x,y:x*y,a)
	print (nres3)

if __name__=="__main__":
	main()
