quite confuse w/ the problem
quite hard + phantom bugs, take ~1hr