test/8B.py
2026-07-01 19:46:51 +03:00

29 lines
No EOL
590 B
Python

import sys
from array import array
data = sys.stdin.read().split()
p = int(data[0])
if p == 2:
print(1)
sys.exit(0)
half = p // 2 + 1
inv = array('i', [0] * half)
inv[1] = 1
current_sum = 0
count = 0
for i in range(1, p):
if i == 1:
val = 1
elif i < half:
inv[i] = (p - (p // i) * inv[p % i]) % p
val = inv[i]
else:
val = (p - (p // i) * inv[p % i]) % p
current_sum = (current_sum + val) % p
count += 1
if count == 100:
print(current_sum)
current_sum = 0
count = 0
if count > 0:
print(current_sum)