Let's do it: [1, 1, 0, 0, 0, 1] 010 phase done: [1, 1, 0, 0, 0, 1] tmpstr 000 i 0 tmpstr 001 i 1 tmpstr2 001 i 2 tmpstr2 011 (-011) Now: [1, 0, 0, 1] tmpstr 001 i 0 i 1 tmpstr2 001 QAQ