def inverse_mod( a, m ):
if a < 0 or m <= a: a = a % m
c, d = a, m
uc, vc, ud, vd = 1, 0, 0, 1
while c != 0:
q, c, d = divmod( d, c ) + ( c, )
uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc
assert d == 1
if ud > 0: return ud
else: return ud + m
e1 = 84635513758865831094131084311208775267495704821994249663954751780286420288259
e2 = 711922952377524543467576566144169816136170490747613227449590530659320692002
r1 = 99935505760319748698811422354322418311203851828465328908708024011195996180829
r2 = 115035229747891778996889965749694763606205313739267493174821202115705061416296
s1 = 14810718830809274529170993651437030466460552688297005873719201854608653306524
s2 = 56412229366601912356674994073152925730313351483910294670205660420888695151902
pr = 1
m = 115792089237316195423570985008687907852837564279074904382605163141518161494337
si1 = inverse_mod(s1,m)
si2 = inverse_mod(s2,m)
se1 = si1 * e1 % m
se2 = si2 * e2 % m
z = (1 - se2 + se1)
a = ((si2 * r2) - (si1 * r1))%m
z1 = z * inverse_mod(a,m)%m
print(se2,se1)
ZGVmIGludmVyc2VfbW9kKCBhLCBtICk6CiAgaWYgYSA8IDAgb3IgbSA8PSBhOiBhID0gYSAlIG0KICBjLCBkID0gYSwgbQogIHVjLCB2YywgdWQsIHZkID0gMSwgMCwgMCwgMQogIHdoaWxlIGMgIT0gMDoKICAgIHEsIGMsIGQgPSBkaXZtb2QoIGQsIGMgKSArICggYywgKQogICAgdWMsIHZjLCB1ZCwgdmQgPSB1ZCAtIHEqdWMsIHZkIC0gcSp2YywgdWMsIHZjCiAgYXNzZXJ0IGQgPT0gMQogIGlmIHVkID4gMDogcmV0dXJuIHVkCiAgZWxzZTogcmV0dXJuIHVkICsgbQoKCmUxID0gODQ2MzU1MTM3NTg4NjU4MzEwOTQxMzEwODQzMTEyMDg3NzUyNjc0OTU3MDQ4MjE5OTQyNDk2NjM5NTQ3NTE3ODAyODY0MjAyODgyNTkKZTIgPSA3MTE5MjI5NTIzNzc1MjQ1NDM0Njc1NzY1NjYxNDQxNjk4MTYxMzYxNzA0OTA3NDc2MTMyMjc0NDk1OTA1MzA2NTkzMjA2OTIwMDIKcjEgPSA5OTkzNTUwNTc2MDMxOTc0ODY5ODgxMTQyMjM1NDMyMjQxODMxMTIwMzg1MTgyODQ2NTMyODkwODcwODAyNDAxMTE5NTk5NjE4MDgyOQpyMiA9IDExNTAzNTIyOTc0Nzg5MTc3ODk5Njg4OTk2NTc0OTY5NDc2MzYwNjIwNTMxMzczOTI2NzQ5MzE3NDgyMTIwMjExNTcwNTA2MTQxNjI5NgpzMSA9IDE0ODEwNzE4ODMwODA5Mjc0NTI5MTcwOTkzNjUxNDM3MDMwNDY2NDYwNTUyNjg4Mjk3MDA1ODczNzE5MjAxODU0NjA4NjUzMzA2NTI0CnMyID0gNTY0MTIyMjkzNjY2MDE5MTIzNTY2NzQ5OTQwNzMxNTI5MjU3MzAzMTMzNTE0ODM5MTAyOTQ2NzAyMDU2NjA0MjA4ODg2OTUxNTE5MDIKcHIgPSAxCm0gPSAxMTU3OTIwODkyMzczMTYxOTU0MjM1NzA5ODUwMDg2ODc5MDc4NTI4Mzc1NjQyNzkwNzQ5MDQzODI2MDUxNjMxNDE1MTgxNjE0OTQzMzcKc2kxID0gaW52ZXJzZV9tb2QoczEsbSkKc2kyID0gaW52ZXJzZV9tb2QoczIsbSkKc2UxID0gc2kxICogZTEgJSBtCnNlMiA9IHNpMiAqIGUyICUgbQp6ID0gKDEgLSBzZTIgKyBzZTEpCmEgPSAoKHNpMiAqIHIyKSAtIChzaTEgKiByMSkpJW0KejEgPSB6ICogaW52ZXJzZV9tb2QoYSxtKSVtCnByaW50KHNlMixzZTEp