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 = 84635513758865831094131084311208775267495704821994249663954751780286420288259
  14. e2 = 711922952377524543467576566144169816136170490747613227449590530659320692002
  15. r1 = 99935505760319748698811422354322418311203851828465328908708024011195996180829
  16. r2 = 115035229747891778996889965749694763606205313739267493174821202115705061416296
  17. s1 = 14810718830809274529170993651437030466460552688297005873719201854608653306524
  18. s2 = 56412229366601912356674994073152925730313351483910294670205660420888695151902
  19. pr = 74071287274168731384314914382498140270634658281328726941106265589917762050271
  20. m = 115792089237316195423570985008687907852837564279074904382605163141518161494337
  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.02s 7112KB
stdin
Standard input is empty
stdout
(24319896032458654235859288439366790171987421552616806414321622974227628294346L, 33373073398809441106621025265904429856170478887328914010434069704980389675914L)