Retrograde Battleships

Description
Retrograde Battleships is a variant of Battleships, where the ships given must be located within the grid.

Rules
The objective is to add ships to the grid, subject to the following rules:


 * 1) All given ships on the in the key must be included in the grid with no others.
 * 2) The grid contains possible placements for all ships, the correct locations of the ships needs shading in.
 * 3) No ship may touch another, even diagonally.

Rules
A standard 10x10 retrograde battleships and its solution.