| 
				
			 | 
			
			 | 
			@@ -0,0 +1,49 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			# Python 3.7 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			def main(debug): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    paths = {} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if debug: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        #paths = {1: ["R75","D30","R83","U83","L12","D49","R71","U7","L72"], | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        #         2: ["U62","R66","U55","R34","D71","R55","D58","R83"]} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        paths = {1: ["R98","U47","R26","D63","R33","U87","L62","D20","R33","U53","R51"], | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                 2: ["U98","R91","D20","R16","D67","R40","U7","R15","U6","R7"]} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    else: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        with open("03in.txt","r") as file: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            for i in range(2): # there are only two lines | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                paths[i+1] = file.readline().strip("\n").split(",") | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    grid = {} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    for i in range(2): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        pos = (0,0) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        for path in paths[i+1]: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            d, v = path[0], int(path[1:]) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if d == "U": | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                dir = 1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                inc = 1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            elif d == "D": | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                dir = 1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                inc = -1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            elif d == "R": | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                dir = 0 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                inc = 1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            else: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                dir = 0 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                inc = -1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            for _ in range(v): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                a, b = pos | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                if dir == 0: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    a += inc | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                else: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    b += inc | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                pos = (a,b) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                if pos not in grid: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    grid[pos] = [0,0] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                grid[pos][i] = 1 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    dists = [] | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    for k,v in grid.items(): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if v == [1,1] and k != (0,0): | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            dists.append(abs(k[0]) + abs(k[1])) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    print(dists) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    print(min(dists)) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			             | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			if __name__ == "__main__": | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    main(False) |