def isPrime(n): # Corner cases if (n <= 1): return False if (n <= 3): return True # This is checked so that we can skip # middle five numbers in below loop if (n % 2 == 0 or n % 3 == 0): return False i = 5 while (i * i <= n): if (n % i == 0 or n % (i + 2) == 0): return False i = i + 6 return True file1 = open('values.txt', 'r') Lines = file1.readlines() index = 0 sum = 0 for line in Lines: list = line.split(" ") aa = [int(i) for i in list] if len(aa) == 1: sum = aa[0] == 1 continue if index == 0: if aa[0] > aa[1]: if isPrime(aa[0]): sum = sum + aa[1] index = 1 else: sum = sum + aa[0] else: if isPrime(aa[1]): sum = sum + aa[0] else: sum = sum + aa[1] index = 1 else: if (aa[index - 1] > aa[index]) and (aa[index - 1] > aa[index + 1]): if isPrime(aa[index - 1]): if aa[index] > aa[index + 1]: if isPrime(aa[index]): sum = sum + aa[index + 1] index = index + 1 else: sum = sum + aa[index] else: sum = sum + aa[index - 1] index = index - 1 elif (aa[index] > aa[index + 1]) and (aa[index] > aa[index - 1]): if isPrime(aa[index]): if aa[index + 1] > aa[index - 1]: if isPrime(aa[index + 1]): sum = sum + aa[index - 1] index = index - 1 else: sum = sum + aa[index + 1] index = index + 1 else: sum = sum + aa[index] elif (aa[index] < aa[index + 1]) and (aa[index + 1] > aa[index - 1]): if isPrime(aa[index + 1]): if aa[index - 1] > aa[index + 1]: if isPrime(aa[index - 1]): sum = sum + aa[index + 1] index = index + 1 else: sum = sum + aa[index - 1] index = index - 1 else: sum = sum + aa[index + 1] index = index + 1 print("total :", sum)