direction = [10, 1] position = [0, 0] def D(x, y): def mv(n): direction[0] += x*n direction[1] += y*n return mv def F(n): position[0] += direction[0]*n position[1] += direction[1]*n def R90(): global direction direction = [direction[1], -1 * direction[0]] def R(d): def rt(n): count = int(d*(n/90)) count = 4 + count if count < 0 else count [R90() for a in range(0, count)] return rt methods = {"N": D(0, 1), "S": D(0, -1), "E": D(1, 0), "W": D(-1, 0), "L": R(-1), "R": R(1), "F": F} [methods[s[0]](int(s[1:])) for s in open("input", "r").read().split("\n") if s] print(position) print(abs(position[0]) + abs(position[1]))