sement
finish matually recursice functions