pascal triangle reimpl