fork download
  1. #include<bits/stdc++.h>
  2. #define limit 1000000007
  3. #define ll long long
  4. #define ull unsigned long long
  5. #define nl '\n'
  6.  
  7. using namespace std;
  8.  
  9. ll mod(ll base, ll exp, ll mod){
  10. ll res = 1;
  11. while(exp){
  12. if(exp % 2) res = (res * base) % mod;
  13. base = (base * base) % mod;
  14. exp /= 2;
  15. }
  16. return res;
  17. }
  18.  
  19. int main(){
  20. ios::sync_with_stdio(0);
  21. cin.tie(0);
  22. ll n,div=1,sum=1,num=1;
  23. cin >> n;
  24. for(ll i=0;i < n;i++){
  25. ll x,k;
  26. cin >> x >> k;
  27. div = (div*(k+1)) % limit;
  28. ll pw = mod(x,k + 1,limit) - 1;
  29. sum = (sum*((pw % limit)/(x-1 % limit))) % limit;
  30. num = (num * mod(x,k,limit)) % limit;
  31. }
  32. ll prd = mod(num,div/2,limit);
  33. cout << div << " " << sum << " " << prd << '\n';
  34. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
131217741 352934537 597839007