add next permutation for temp
Merge remote-tracking branch 'origin/master'
Merge remote-tracking branch 'origin/master'
before abstract classes
understand abstract classes