Falling block puzzle