In-place up to 3