# python 3.9+ registers = { "R0" : 0, "R1" : 0, "R2" : 0, "R3" : 0 } def write_const(args:str): reg = args[0] val = args[1] registers[f'R{reg}'] = int(val) print(f'R{reg} := {val}') def copy_value(args:str): src = args[0] dst = args[1] registers[f'R{dst}'] = registers[f'R{src}'] print(f'R{dst} := R{src}') def add(args:str): reg1 = args[0] reg2 = args[1] registers[f'R{reg2}'] += registers[f'R{reg1}'] print(f'R{reg2} := R{reg2} + R{reg1}') def sub(args:str): reg1 = args[0] reg2 = args[1] registers[f'R{reg2}'] -= registers[f'R{reg1}'] print(f'R{reg2} := R{reg2} - R{reg1}') call_table = { '1' : write_const, '2' : copy_value, '3' : add, '4' : sub } while True: params = input() call_table[params[0]](params[1:])