sort color, with partition