<s> import time <EOL> def fannkuch ( n ) : <EOL> count = range ( <NUM_LIT:1> , n + <NUM_LIT:1> ) <EOL> max_flips = <NUM_LIT:0> <EOL> m = n - <NUM_LIT:1> <EOL> r = n <EOL> check = <NUM_LIT:0> <EOL> perm1 = range ( n ) <EOL> perm = range ( n ) <EOL> perm1_ins = perm1 . insert <EOL> perm1_pop = perm1 . pop <EOL> while <NUM_LIT:1> : <EOL> if check < <NUM_LIT:30> : <EOL> check = check + <NUM_LIT:1> <EOL> while r != <NUM_LIT:1> : <EOL> count [ r - <NUM_LIT:1> ] = r <EOL> r = r - <NUM_LIT:1> <EOL> if perm1 [ <NUM_LIT:0> ] != <NUM_LIT:0> and perm1 [ m ] != m : <EOL> perm = perm1 [ : ] <EOL> flips_count = <NUM_LIT:0> <EOL> k = perm [ <NUM_LIT:0> ] <EOL> while k : <EOL> perm [ : k + <NUM_LIT:1> ] = perm [ k : : - <NUM_LIT:1> ] <EOL> flips_count = flips_count + <NUM_LIT:1> <EOL> k = perm [ <NUM_LIT:0> ] <EOL> if flips_count > max_flips : <EOL> max_flips = flips_count <EOL> while r != n : <EOL> perm1_ins ( r , perm1_pop ( <NUM_LIT:0> ) ) <EOL> count [ r ] = count [ r ] - <NUM_LIT:1> <EOL> if count [ r ] > <NUM_LIT:0> : <EOL> break <EOL> r = r + <NUM_LIT:1> <EOL> else : <EOL> return max_flips <EOL> DEFAULT_ARG = <NUM_LIT:9> <EOL> def main ( n ) : <EOL> for i in range ( <NUM_LIT:2> , n ) : <EOL> print fannkuch ( i ) <EOL> main ( <NUM_LIT:8> ) </s>
