import random n = 100 X = random.randrange(10**9) A = [0] * n A[0] = X A[1] = 1 ops = [] def plus(i, j, k): ops.append(f"plus {i + 1} {j + 1} {k + 1}") A[i] = A[j] + A[k] def div(i, j): ops.append(f"div {i + 1} {j + 1}") A[i] = A[j] // 2 plus(3, 0, 99) # for _ in range(1): # plus(4, 3, 99) # plus(3, 99, 99) # for _ in range(15): # div(4, 4) # div(4, 4) # plus(3, 3, 4) # plus(2, 2, 3) plus(3, 3, 1) for _ in range(30): plus(3, 3, 3) for i in range(30): div(3, 3) div(3, 3) plus(2, 3, 2) for _ in range(30): div(2, 2) assert A[2] == X // 3 print(len(ops)) print(*ops, sep="\n")