add new split function to gaurentee each part has maximum same number as
no erasing duplicate values