#!/usr/bin/python3 import sys import re from copy import deepcopy from math import gcd from collections import defaultdict, Counter, deque D = open(sys.argv[1]).read().strip() L = D.split('\n') G = [[c for c in row] for row in L] R = len(G) C = len(G[0]) DR = [-1, 0, 1, 0] DC = [ 0, 1, 0,-1] def step(r,c,d): return (r+DR[d], c+DC[d], d) def score(sr,sc,sd): POS = [(sr,sc,sd)] SEEN = set() SEEN2 = set() while True: NP = [] if not POS: break for (r,c,d) in POS: #print(r,c,d) if 0<=r