def main(): """ >>> solve(4, 1000000000, 1000000000, 1000000000, 1) 4 """ T = int(input()) for t in range(T): solve(*[int(x) for x in input().split()])
def main(): D = int(input()) CS = list(map(int, input().split())) S = np.int16(read().split()) S = S.reshape((D, 26)) # print(calcScore(answer, D, CS, S)) solve(D, CS, S)
def main(): N, M, K = map(int, input().split()) AS = list(map(int, input().split())) BS = list(map(int, input().split())) sA = np.array([0] + list(accumulate(AS))) sB = np.array([0] + list(accumulate(BS))) # debug("s:sA,sB", sA, sB) solve(N, M, K, sA, sB)
def main(): N, M = map(int, input().split()) from scipy.sparse import lil_matrix from scipy.sparse.csgraph import dijkstra graph = lil_matrix((N + 1, N + 1), dtype=np.int32) for i in range(M): v1, v2 = map(int, input().split()) graph[v1, v2] = 1 graph[v2, v1] = 1 start = int(input()) K = int(input()) targets = list(map(int, input().split())) dist = dijkstra(graph) # debug(dist) costmemo = {} visited = 0 t2i = {targets[i]: i for i in range(len(targets))} def f(visited, last): # debug(": visited, last", visited, last) if (visited, last) in costmemo: return costmemo[(visited, last)] mask = 1 << (t2i[last]) buf = [] prev = visited ^ mask if not prev: # it is first vertex c = dist[start, last] costmemo[(visited, last)] = c return c for v in targets: # debug(":: v", v) vmask = 1 << (t2i[v]) # debug(":: vmask", vmask) if prev & vmask: # v is in visited - last buf.append(f(prev, v) + dist[v, last]) c = min(buf) costmemo[(visited, last)] = c return c fullbits = (1 << len(targets)) - 1 print(int(min(f(fullbits, last) for last in targets))) # print(costmemo) solve()
def main(): """ >>> as_input(IN1) >>> main() 4 >>> as_input(IN2) >>> main() 2 >>> as_input(IN3) >>> main() 5 """ N, K = map(int, input().split()) xs = np.array(list(map(int, input().split()))) solve(N, K, xs)
def main(): N, W = map(int, input().split()) WV = [ list(map(int, input().split())) for i in range(N) ] print(solve(N, W, WV))
def main(): D = int(input()) CS = np.array(list(map(int, input().split()))) S = np.int16(read().split()) S = S.reshape((D, 26)) print(*solve(D, CS, S), sep="\n")
def main(): N, M = map(int, input().split()) edges = defaultdict(set) for i in range(M): v1, v2 = map(int, input().split()) edges[v1].add(v2) print(solve(N, M, edges))
def main(): # parse input T = int(input()) for i in range(T): N = int(input()) XS = [] for j in range(N): XS.append(tuple(map(int, input().split()))) print(solve(N, XS))
def main(): # parse input N = int(input()) edges = defaultdict(list) for i in range(N - 1): x, y = map(int, input().split()) edges[x].append(y) edges[y].append(x) print(solve(N, edges))
def main(): # parse input N, M = map(int, input().split()) LS = [0] * M RS = [0] * M AS = [0] * M for i in range(M): LS[i], RS[i], AS[i] = map(int, input().split()) print(solve(N, M, LS, RS, AS))
def main(): # parse input N = int(input()) AS = [] BS = [] for i in range(N): A, B = map(int, input().split()) AS.append(A) BS.append(B) print(solve(N, AS, BS))
def main(): # parse input N, M = map(int, input().split()) edges = defaultdict(list) for i in range(N - 1): x, y = map(int, input().split()) edges[x].append(y) edges[y].append(x) #print(*solve(N, M, edges), sep="\n") for x in solve(N, M, edges): print(x)
def main(): # parse input N = int(input()) data = list(map(int, read().split())) print(solve(N, data))
def main(): # parse input N, K = map(int, input().split()) X = np.int64(read().split()) X = X.reshape((N, N)) print(solve(N, K, X))
def main(): N = int(input()) AS = list(map(int, input().split())) print(solve(N, AS))
def main(): H, W = map(int, input().split()) data = [input() for i in range(H)] print(solve(H, W, data))
def main(): # parse input N = int(input()) lessthan = [c == ord("<") for c in input().strip()] print(solve(N, lessthan))
def main(): # parse input N = int(input()) X = input().strip() print(*solve(N, X), sep="\n")
def main(): N = int(input()) K = int(input()) print(solve(N, K))
def main(): # parse input N = int(input()) S = input().strip().decode('ascii') print(*solve(S))
def main(): solve()
def main(): # parse input BS = list(input().decode('ascii').split()) N = int(input()) SS = [input().strip().decode('ascii') for i in range(N)] print(*solve(BS, N, SS), sep="\n")
st = [(h, w)] while st: h, w = st.pop() dist = minDist[h][w] + isFilled[h][w] if h + 1 < N and minDist[h + 1][w] > dist: minDist[h + 1][w] = dist st.append((h + 1, w)) if h - 1 >= 0 and minDist[h - 1][w] > dist: minDist[h - 1][w] = dist st.append((h - 1, w)) if w + 1 < N and minDist[h][w + 1] > dist: minDist[h][w + 1] = dist st.append((h, w + 1)) if w - 1 < N and minDist[h][w - 1] > dist: minDist[h][w - 1] = dist st.append((h, w - 1)) return ans cc.compile() exit(0) from my_module import solve N = int(input()) P = np.asarray(list(map(lambda a: int(a) - 1, input().split())), dtype=np.int32) print(solve(N, P))
def main(): H, W, K = map(int, input().split()) data = np.array([list(input().strip()) for i in range(H)]) print(solve(H, W, K, data))
def main(): N = int(input()) solve(N)
def main(): # parse input N, K = map(int, input().split()) XS = list(map(int, input().split())) print(solve(N, K, XS))
def main(): N, M = map(int, input().split()) data = np.int32(read().split()) print(solve(N, M, data))
A = np.zeros(n, dtype=np.int64) tmp = 1 for i in range(n - 1, -1, -1): A[i] = (tmp << 32) + tmp tmp *= 10 tmp %= MOD build(A) ans = np.zeros(q, dtype=np.int64) for i in range(q): range_apply(X[i] - 1, Y[i], REP[i]) ans[i] = all_prod() >> 32 return ans if sys.argv[-1] == 'ONLINE_JUDGE': from numba.pycc import CC cc = CC('my_module') cc.export('solve', '(i8[:],)')(solve) cc.compile() exit() from my_module import solve inp = np.fromstring(sys.stdin.read(), dtype=np.int64, sep=' ') ans = solve(inp) print('\n'.join(map(str, ans)))
def main(): # parse input N = int(input()) print(*solve(N), sep="\n")