lines = ((x[0], int(x[1:].strip())) for x in open("input.txt")) pos = 0 drctn = 10+1j targets = [1j, 1, -1j, -1] target_str = "NESW" for line in lines: if line[0] in target_str: drctn += targets[target_str.index(line[0])] * line[1] elif line[0] in "LR": times = (-line[1] if line[0] == "R" else line[1]) / 90 drctn = drctn * 1j ** times else: pos += drctn * line[1] print(int(abs(pos.real) + abs(pos.imag)))