A green laser (top row) enters a grid from above and the goal is to make the laser pass through all the targets (O) by redirecting the laser using mirrors (as in the corners of the grid) which turn the laser 90 degrees.
The laser's path may cross itself in an empty square or at a target, but the laser stops if it hits the outer wall or if it hits the backside of a mirror.
Find a solution that uses as few mirrors as possible.