<p>You are given an integer array <code>nums</code>.</p>

<p>Return an integer that is the <strong>maximum</strong> distance between the <strong>indices</strong> of two (not necessarily different) prime numbers in <code>nums</code><em>.</em></p>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<div class="example-block">
<p><strong>Input:</strong> <span class="example-io">nums = [4,2,9,5,3]</span></p>

<p><strong>Output:</strong> <span class="example-io">3</span></p>

<p><strong>Explanation:</strong> <code>nums[1]</code>, <code>nums[3]</code>, and <code>nums[4]</code> are prime. So the answer is <code>|4 - 1| = 3</code>.</p>
</div>

<p><strong class="example">Example 2:</strong></p>

<div class="example-block">
<p><strong>Input:</strong> <span class="example-io">nums = [4,8,2,8]</span></p>

<p><strong>Output:</strong> <span class="example-io">0</span></p>

<p><strong>Explanation:</strong> <code>nums[2]</code> is prime. Because there is just one prime number, the answer is <code>|2 - 2| = 0</code>.</p>
</div>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li><code>1 &lt;= nums.length &lt;= 3 * 10<sup>5</sup></code></li>
	<li><code>1 &lt;= nums[i] &lt;= 100</code></li>
	<li>The input is generated such that the number of prime numbers in the <code>nums</code> is at least one.</li>
</ul>

class Solution:
    def maximumPrimeDifference(self, nums: List[int]) -> int:
        

        not_prime_table = [False] * 101
        not_prime_table[0] = True
        not_prime_table[1] = True

        prime = 2
        while (prime**2 <= 100):
            for ind in range(prime**2, 101, prime): # 在取值範圍內 iterate through prime的倍數
                not_prime_table[ind] = True
            
            # find the next prime
            prime += 1
            while not_prime_table[prime]:
                prime += 1
        

        i = 0
        while not_prime_table[nums[i]]:
            i += 1
        j = len(nums) - 1
        while not_prime_table[nums[j]]:
            j -= 1
        print(i, j)
        return j - i
        
            
26200