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 = 87244814473377946459021394573120624638544621973526661110335002719552586402926
e2 = 101777339321062719027743246131310795362027444423323156390006686088344280669354
r1 = 96110991714138747756460882573165355495294553455766427630556072689024184367825
r2 = 96110991714138747756460882573165355495294553455766427630556072689024184367825
s1 = 31156575478450364329439900697479132585341859457080654718650411361231741206078
s2 = 62330495069845894362475755503334503833341771130019313241080406392289430111518
pr = 74071287274168731384314914382498140270634658281328726941106265589917762050271
m = 88865298299719117682218467295833367085649033095698151055007620974294165995414
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)
ZGVmIGludmVyc2VfbW9kKCBhLCBtICk6CiAgaWYgYSA8IDAgb3IgbSA8PSBhOiBhID0gYSAlIG0KICBjLCBkID0gYSwgbQogIHVjLCB2YywgdWQsIHZkID0gMSwgMCwgMCwgMQogIHdoaWxlIGMgIT0gMDoKICAgIHEsIGMsIGQgPSBkaXZtb2QoIGQsIGMgKSArICggYywgKQogICAgdWMsIHZjLCB1ZCwgdmQgPSB1ZCAtIHEqdWMsIHZkIC0gcSp2YywgdWMsIHZjCiAgYXNzZXJ0IGQgPT0gMQogIGlmIHVkID4gMDogcmV0dXJuIHVkCiAgZWxzZTogcmV0dXJuIHVkICsgbQoKCmUxID0gODcyNDQ4MTQ0NzMzNzc5NDY0NTkwMjEzOTQ1NzMxMjA2MjQ2Mzg1NDQ2MjE5NzM1MjY2NjExMTAzMzUwMDI3MTk1NTI1ODY0MDI5MjYKZTIgPSAxMDE3NzczMzkzMjEwNjI3MTkwMjc3NDMyNDYxMzEzMTA3OTUzNjIwMjc0NDQ0MjMzMjMxNTYzOTAwMDY2ODYwODgzNDQyODA2NjkzNTQKcjEgPSA5NjExMDk5MTcxNDEzODc0Nzc1NjQ2MDg4MjU3MzE2NTM1NTQ5NTI5NDU1MzQ1NTc2NjQyNzYzMDU1NjA3MjY4OTAyNDE4NDM2NzgyNQpyMiA9IDk2MTEwOTkxNzE0MTM4NzQ3NzU2NDYwODgyNTczMTY1MzU1NDk1Mjk0NTUzNDU1NzY2NDI3NjMwNTU2MDcyNjg5MDI0MTg0MzY3ODI1CnMxID0gMzExNTY1NzU0Nzg0NTAzNjQzMjk0Mzk5MDA2OTc0NzkxMzI1ODUzNDE4NTk0NTcwODA2NTQ3MTg2NTA0MTEzNjEyMzE3NDEyMDYwNzgKczIgPSA2MjMzMDQ5NTA2OTg0NTg5NDM2MjQ3NTc1NTUwMzMzNDUwMzgzMzM0MTc3MTEzMDAxOTMxMzI0MTA4MDQwNjM5MjI4OTQzMDExMTUxOApwciA9IDc0MDcxMjg3Mjc0MTY4NzMxMzg0MzE0OTE0MzgyNDk4MTQwMjcwNjM0NjU4MjgxMzI4NzI2OTQxMTA2MjY1NTg5OTE3NzYyMDUwMjcxCm0gPSA4ODg2NTI5ODI5OTcxOTExNzY4MjIxODQ2NzI5NTgzMzM2NzA4NTY0OTAzMzA5NTY5ODE1MTA1NTAwNzYyMDk3NDI5NDE2NTk5NTQxNApzaTEgPSBpbnZlcnNlX21vZChzMSxtKQpzaTIgPSBpbnZlcnNlX21vZChzMixtKQpzZTEgPSBzaTEgKiBlMSAlIG0Kc2UyID0gc2kyICogZTIgJSBtCnogPSAoMSAtIHNlMiArIHNlMSkKYSA9ICgoc2kyICogcjIpIC0gKHNpMSAqIHIxKSklbQp6MSA9IHogKiBpbnZlcnNlX21vZChhLG0pJW0KcHJpbnQoc2UyLHNlMSk=