Solving 3D Puzzle