a new solution to Partition List