How do I transform selected vertices into a perfect circle?

How do I gradually transform each segment of this pipe elbow into a perfect circle?

The last edge loop has to be a perfect circle, but the the other 3 need to gradually transform into a perfect circle?

How can I do this without creating any ngons?

1 2 3