Question: 
Write a function to count array elements having modular inverse under given prime number p equal to itself.


Model's Code:
def modular_inverse(arr, x, p):
    def mod_inverse(a, p):
        for i in range(1, p):
            if (a * i) % p == 1:
                return i
        return None
    
    count = 0
    for num in arr:
        if num % p == mod_inverse(num % p, p):
            count += 1
            
    return count



Sample Correct Code:
def modular_inverse(arr, N, P):
	current_element = 0
	for i in range(0, N):
		if ((arr[i] * arr[i]) % P == 1):
			current_element = current_element + 1
	return current_element


Asserts:
assert modular_inverse([ 1, 6, 4, 5 ], 4, 7) == 2
assert modular_inverse([1, 3, 8, 12, 12], 5, 13) == 3
assert modular_inverse([2, 3, 4, 5], 4, 6) == 1


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 288 of 974: 207/288 (71.875%): success