I found an interesting problem on https://codeforces.com/problemset/problem/1364/A:
Ehab loves number theory, but for some reason he hates the number $x$. Given an array $a$, find the length of its longest subarray such that the sum of its elements isn't divisible by $x$, or determine that such subarray doesn't exist.

An array $a$ is a subarray of an array $b$ if $a$ can be obtained from $b$ by deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.


-----Input-----

The first line contains an integer $t$ $(1 \le t \le 5)$ — the number of test cases you need to solve. The description of the test cases follows.

The first line of each test case contains 2 integers $n$ and $x$ ($1 \le n \le 10^5$, $1 \le x \le 10^4$) — the number of elements in the array $a$ and the number that Ehab hates.

The second line contains $n$ space-separated integers $a_1$, $a_2$, $\ldots$, $a_{n}$ ($0 \le a_i \le 10^4$) — the elements of the array $a$.


-----Output-----

For each testcase, print the length of the longest subarray whose sum isn't divisible by $x$. If there's no such subarray, print $-1$.


-----Example-----
Input
3
3 3
1 2 3
3 4
1 2 3
2 2
0 6

Output
2
3
-1



-----Note-----

In the first test case, the subarray $[2,3]$ has sum of elements $5$, which isn't divisible by $3$.

In the second test case, the sum of elements of the whole array is $6$, which isn't divisible by $4$.

In the third test case, all subarrays have an even sum, so the answer is $-1$.

I tried it in Python, but could not do it. Can you solve it?
for testcase in range(int(input())):
    n, x = map(int, input().split())
    arr = list(map(int, input().split()))
    start = 0
    for i in arr:
        if not i % x:
            start += 1
        else:
            break
    end = 0
    for i in arr[::-1]:
        if not i % x:
            end += 1
        else:
            break
    if start == end == len(arr):
        print(-1)
        continue
    else:
        total = sum(arr)
        if not total % x:
            print(len(arr) - min(start, end) - 1)
        else:
            print(len(arr))