opppppppp -> ippppppp -> cpppppp -> iopppppp iopppppp -> iippppp -> icpppp -> ioopppp ioopppp -> ioippp -> iocpp -> iiopp iiopp -> iiip -> iic -> ico -> iooo