The last test has some problem. It's about the combination of two types, inversion and translocation.
I inverse the first 5 in first line and translocate first and last 5 in third line, it works.
But, when I inverse the first 5 in first line and translocate first and last 5 in second line, it fails.
one type in first line and another type in third line -- ok.
one type in first line and another type in second line -- fail.
Merge remote-tracking branch 'origin/master'