Solving complete

Solving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving completeSolving complete