fork download
  1. #include <bits/stdc++.h>
  2. #define mod 1000000007
  3. #define ll unsigned long long
  4.  
  5. using namespace std;
  6. ll func(ll a,ll b)
  7. {
  8. long long int l=(2*a-b-1);
  9. if((l%(b-a))==0)
  10. {
  11. return (b-a)%mod;
  12. }
  13. else
  14. {
  15. ll k= l%(b-a);
  16. return k;
  17. }
  18. }
  19. int main()
  20. {
  21. ll t;
  22. cin>>t;
  23. while(t--)
  24. {
  25. ll n,k,a,b,k1;
  26. long long int l;
  27. cin>>n>>k;
  28. a=k;
  29. b=k+n-1;
  30. l=(2*a-b-1);
  31. ll s=(a-1)%mod;
  32. if(l<=0)
  33. {
  34. s=s%mod;
  35. }
  36. else{
  37. ll a1=func(a,b);
  38. k1=(l-a1)/(n-1);
  39. k1++;
  40. k1=(k1*(a1+l));
  41. k1=k1/2;
  42. k1=k1%mod;
  43. s=s+k1;
  44. }
  45. cout<<s%mod<<endl;
  46. }
  47. }
  48.  
Success #stdin #stdout 0s 15232KB
stdin
2
2 1
3 3
stdout
0
2