Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check3/
Upload File :
Current File : //var/www/html/venkat/check3/pair.py

import gcd
k = 0
a = []
def binary(n):
	if n > 1:
		binary(n//2)
	a.append(n%2)
	return a

dec = int(input("Enter an integer m: "))
p = []
p.append(long(input("Enter p1: ")))
p.append(long(input("Enter p2: ")))
aa = long(input("Enter a: "))
pri = long(input("Enter prime: "))
#//t = ;
t = p[:];
j = binary(dec)
print j
inv = 0;
lam = 0;
d = 0;
n = [0,0]
o = [0,0]
for m in range(1,len(j)):
	lam1 = ((3 * (t[0] * t[0])) + (aa)) 
	inv = gcd.modinv((2*t[1]),pri)
	lam = (lam1 * inv) % pri
	n[0] = ((lam *lam) - (2*t[0])) % pri
	n[1] = ((lam *(t[0] - n[0])) - t[1]) % pri
	t = n[:]
	print inv,lam, lam1
	if (j[m]==1):
		lam = (p[1] - t[1]) 
		inv = gcd.modinv((p[0] - t[0]),pri)
		lam = (lam * inv) % pri
		n[0] = ((lam * lam) - t[0] - p[0]) % pri
		n[1] = ((lam *(t[0] - n[0])) - t[1]) % pri
		t = n[:]	
	print t