fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. using T=__int128_t;T m=1e11+3;T f(T a,T r=1,T n=m-2){return n?f(a*a-a*a/m*m,n&1?r*a-r*a/m*m:r,n/2):r;}
  6.  
  7. int main(){
  8. cout << int64_t(f(2)) << endl;
  9. cout << int64_t(f(3)) << endl;
  10. cout << int64_t(f(50000000002)) << endl;
  11. cout << int64_t(f(1000000)) << endl;
  12. }
  13.  
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
50000000002
66666666669
2
33333300001