from sympy import * import sys def maxPathSum(pyramid, m, n): length = n for i in range(m-1, -1, -1): for j in range(length): if pyramid[i+1][j] == 0 and pyramid[i+1][j+1] == 0: length = j-1 continue if (pyramid[i+1][j] > pyramid[i+1][j+1]): pyramid[i][j] += pyramid[i+1][j] else: pyramid[i][j] += pyramid[i+1][j+1] return pyramid[0][0] file = open("test.txt","r") pyramid = [] count = 0 while True: data = file.readline().split() if not data: file.close() break pyramid.append(data) for row in pyramid: for i in range(len(row)): row[i] = int(row[i]) for row in pyramid: for num in range(len(pyramid[-1])-len(row)): row.append(0) for i in range(len(pyramid)): for j in range(len(pyramid)): if isprime(pyramid[i][j]): pyramid[i][j] = -(sys.maxsize)-1 len_row = len(pyramid) len_col = len(pyramid[0]) print(maxPathSum(pyramid,len_row-1,len_col-1))