class Maillon:
	
	def __init__(self, valeur, suivant=None):
		self.valeur = valeur
		self.suivant = suivant
		
		
		
class Pile:

	def __init__(self):
		self.taille = 0 # nombre d'assiettes dans la pile
		self.sommet = None  
		
		
	def empiler(self, valeur):
		self.sommet = Maillon(valeur, self.sommet)
		self.taille += 1
		
	def depiler(self):
		if self.taille > 0:
			valeur = self.sommet.valeur
			self.sommet = self.sommet.suivant
			self.taille -= 1
			return valeur
			
	def estVide(self):
		return self.taille == 0
		
 	
			
def prefixe(expression):
	pile = Pile()
	for c in reversed(expression):
		if isinstance(c, int):
			pile.empiler(c)
		else:
			a = pile.depiler()
			b = pile.depiler()
			pile.empiler(eval(str(a) + c + str(b)))
	return pile.depiler()
	
 
	
r = prefixe(['+', '*', '-', '/', 10, 2, 4, 3, 6])
print(r)
