tricky reasoning problem