def sinal(n): return 1 if n > 0 else 0 if n == 0 else -1
def isp (n): return sinal( n - 2 - sum( sinal(n%i) for i in range(2,n ) ) )
def nump (n): return n - 1 - sum( isp(j) for j in range(2,n+1 ) )
def primo(n): return sum( k*(1-isp(k))*(1-abs(sinal(n-nump(k)))) for k in range(2,n**2+8) )
print(isp(4)) # 1
print(nump(10)) # 4
print(primo(10)) # 29
ZGVmIHNpbmFsKG4pOiByZXR1cm4gMSBpZiBuID4gMCBlbHNlIDAgaWYgbiA9PSAwIGVsc2UgLTEKZGVmIGlzcCAgKG4pOiByZXR1cm4gc2luYWwoIG4gLSAyIC0gc3VtKCBzaW5hbChuJWkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyLG4gICAgICkgKSApCmRlZiBudW1wIChuKTogcmV0dXJuICAgICAgICBuIC0gMSAtIHN1bSggaXNwKGopICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UoMixuKzEgICApICkKZGVmIHByaW1vKG4pOiByZXR1cm4gICAgICAgICAgICAgICAgc3VtKCBrKigxLWlzcChrKSkqKDEtYWJzKHNpbmFsKG4tbnVtcChrKSkpKSBmb3IgayBpbiByYW5nZSgyLG4qKjIrOCkgKQoKcHJpbnQoaXNwKDQpKSAgICAjIDEKcHJpbnQobnVtcCgxMCkpICAjIDQKcHJpbnQocHJpbW8oMTApKSAjIDI5