Moved alstamber's solutions.