import math n = 0xB640000002A3A6F1D603AB4FF58EC74449F2934B18EA8BEEE56EE19CD69ECF25 p = 0xB640000002A3A6F1D603AB4FF58EC74521F2934B1A7AEEDBE56F9B27E351457D p0=p%n n2 = int(math.sqrt(n)) # n = 65000549695646603732796438742359905742570406053903786389881062969044166799969 # p = 65000549695646603732796438742359905742825358107623003571877145026864184071783 b = [13037178982157583874, 13037178982157583875, 13037178982157583875, 13037178982157583875] a = [v*(p**i) % n for i,v in enumerate(b)] print(a) print(sum(a)%n) # x = sum(out[i]*(p**i)) def padic(x): m = p % n print(m) b=[] while x > 0: b.append(x%m) x = x // m return b print(padic(n)) print("----------") for m in [n*(n//4+n2+i) for i in range(1,10)]: print(padic(m)) print("")