fork download
  1. def inverse_mod( a, m ):
  2. if a < 0 or m <= a: a = a % m
  3. c, d = a, m
  4. uc, vc, ud, vd = 1, 0, 0, 1
  5. while c != 0:
  6. q, c, d = divmod( d, c ) + ( c, )
  7. uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc
  8. assert d == 1
  9. if ud > 0: return ud
  10. else: return ud + m
  11.  
  12.  
  13. e1 = 87244814473377946459021394573120624638544621973526661110335002719552586402926
  14. e2 = 101777339321062719027743246131310795362027444423323156390006686088344280669354
  15. r1 = 96110991714138747756460882573165355495294553455766427630556072689024184367825
  16. r2 = 96110991714138747756460882573165355495294553455766427630556072689024184367825
  17. s1 = 31156575478450364329439900697479132585341859457080654718650411361231741206078
  18. s2 = 62330495069845894362475755503334503833341771130019313241080406392289430111518
  19. pr = 74071287274168731384314914382498140270634658281328726941106265589917762050271
  20. m = 88865298299719117682218467295833367085649033095698151055007620974294165995414
  21. si1 = inverse_mod(s1,m)
  22. si2 = inverse_mod(s2,m)
  23. se1 = si1 * e1 % m
  24. se2 = si2 * e2 % m
  25. z = (1 - se2 + se1)
  26. a = ((si2 * r2) - (si1 * r1))%m
  27. z1 = z * inverse_mod(a,m)%m
  28. print(se2,se1)
Success #stdin #stdout 0.01s 7384KB
stdin
Standard input is empty
stdout
(55983231596896328567364715753059891718986209998713534144453659592652333527542L, 29935341273406948107702141893737468797758887021258915805448189020368254877580L)