MAX = 100 def fold_num(x, y): return ((x - y) * -2 - 1) * (x/y) + x def print_num(x): print "%d," % fold_num(x, MAX), funcs[x/(MAX * 2 - 3)](x+1) def newline(x): print "%d" % fold_num(x, MAX) funcs = (print_num, newline) funcs[0](1)