Recursive Solution done