Statistics

Problem Statement for "MegaSum"

Problem Statement

Let us define an infinite table of integers as follows:

Each cell is uniquely identified by the value it contains. Let us define S(X) as the sum of all the values in the rectangle with cell 1 as its upper-left corner and cell X as its lower-right corner. For example, S(12) is the sum of all the values in the green rectangle shown above.
You are given a long N. First, find the rectangle with cell 1 as its upper-left corner and cell N as its lower-right corner. Then, calculate the sum of S(X) for all values X inside this rectangle. Return this sum modulo 1,000,000,007.
For example, if N is 8, you would first find the 3 x 2 rectangle with 1 in its upper-left corner and 8 in its lower-right corner. You would then calculate S(X) for each value X in this rectangle: S(1) = 1, S(2) = 3, S(9) = 12, S(4) = 5, S(3) = 10, and S(8) = 27. You would them sum these values to get 1 + 3 + 12 + 5 + 10 + 27 = 58.

Definition

Class:
MegaSum
Method:
calculate
Parameters:
long
Returns:
int
Method signature:
int calculate(long N)
(be sure your method is public)

Constraints

  • N will be between 1 and 10^10, inclusive.

Examples

  1. 8

    Returns: 58

    This is the example from the problem statement.

  2. 12

    Returns: 282

  3. 11

    Returns: 128

  4. 6

    Returns: 50

  5. 34539

    Returns: 437909839

  6. 72092288

    Returns: 999999996

  7. 382105

    Returns: 79

  8. 4863616

    Returns: 32

  9. 10000000000

    Returns: 832250385

  10. 1234567891

    Returns: 270344636

  11. 1000000007

    Returns: 912713920

  12. 2735855555

    Returns: 989075999

  13. 4444444444

    Returns: 465502423

  14. 8087674693

    Returns: 235845444

  15. 8087674692

    Returns: 63006008

  16. 8087674691

    Returns: 175693749

  17. 8087674593

    Returns: 746019129

  18. 8087674693

    Returns: 235845444

  19. 8087584762

    Returns: 788924965

  20. 8087764624

    Returns: 789014897

  21. 8087764625

    Returns: 491242426

  22. 8087764623

    Returns: 367089643

  23. 8087584761

    Returns: 174551930

  24. 8087584763

    Returns: 367089643

  25. 1010101010

    Returns: 369124411

  26. 1001000101

    Returns: 284928151

  27. 5555555555

    Returns: 530805245

  28. 6666666666

    Returns: 796563719

  29. 7777777777

    Returns: 492500188

  30. 8888888888

    Returns: 151490215

  31. 9999999999

    Returns: 496801141

  32. 1111111111

    Returns: 1262560

  33. 2222222222

    Returns: 977390827

  34. 3333333333

    Returns: 175814602

  35. 273

    Returns: 1922649

  36. 576

    Returns: 30212

  37. 141

    Returns: 21418

  38. 722

    Returns: 1760412

  39. 744444

    Returns: 105888587

  40. 42453

    Returns: 649413023

  41. 3942219498

    Returns: 678889441

  42. 3689426

    Returns: 451875264

  43. 510

    Returns: 7578914

  44. 592440

    Returns: 829991811

  45. 2906131

    Returns: 794073915

  46. 62399858

    Returns: 669252772

  47. 64431

    Returns: 498549078

  48. 445

    Returns: 216208

  49. 88039581

    Returns: 297793792

  50. 30133266

    Returns: 32452298

  51. 54483

    Returns: 307356662

  52. 386218

    Returns: 877708854

  53. 69528228

    Returns: 933980531

  54. 7565792

    Returns: 39773876

  55. 106916018

    Returns: 970172363

  56. 7314758

    Returns: 617467728

  57. 261544

    Returns: 214019076

  58. 13908400

    Returns: 658569996

  59. 5916858

    Returns: 92850932

  60. 477723511

    Returns: 106296747

  61. 4013683

    Returns: 566560197

  62. 521

    Returns: 1203984

  63. 66046624

    Returns: 719984711

  64. 553

    Returns: 14447980

  65. 247791949

    Returns: 446463053

  66. 454

    Returns: 2238418

  67. 104593

    Returns: 219521764

  68. 90716740

    Returns: 75825489

  69. 73354

    Returns: 329883206

  70. 49788126

    Returns: 306169432

  71. 6721

    Returns: 38628448

  72. 546731

    Returns: 33543068

  73. 22142

    Returns: 819156417

  74. 388

    Returns: 1603966

  75. 587144026

    Returns: 940392002

  76. 7619

    Returns: 350661911

  77. 46187198

    Returns: 437894642

  78. 38039

    Returns: 50681021

  79. 6153

    Returns: 399911467

  80. 355671422

    Returns: 24706432

  81. 7347499

    Returns: 851875391

  82. 7323982153

    Returns: 346823628

  83. 6801120

    Returns: 244136754

  84. 5940036

    Returns: 74942820

  85. 2906763

    Returns: 360648084

  86. 718

    Returns: 3979794

  87. 44257

    Returns: 350652408

  88. 87361

    Returns: 260453379

  89. 4237570

    Returns: 293952578

  90. 6739

    Returns: 488717208

  91. 564212976

    Returns: 810872914

  92. 431938175

    Returns: 460809260

  93. 995326

    Returns: 493707781

  94. 44725900

    Returns: 46695630

  95. 517254123

    Returns: 219392889

  96. 923062

    Returns: 52990933

  97. 32772937

    Returns: 719058259

  98. 354162624

    Returns: 473052140

  99. 962

    Returns: 93264

  100. 849

    Returns: 2646432

  101. 7225489

    Returns: 968174942

  102. 6246298

    Returns: 172859769

  103. 645727395

    Returns: 424155871

  104. 9338010

    Returns: 846432594

  105. 175263989

    Returns: 953047777

  106. 92

    Returns: 67650

  107. 432595234

    Returns: 28539356

  108. 3717

    Returns: 17907583

  109. 2521794

    Returns: 922708984

  110. 9147

    Returns: 541482558

  111. 76961285

    Returns: 809965922

  112. 1666358

    Returns: 297713766

  113. 115782

    Returns: 512667873

  114. 348465247

    Returns: 21736682

  115. 58030092

    Returns: 431326523

  116. 56401417

    Returns: 66611556

  117. 966126390

    Returns: 529256890

  118. 362502

    Returns: 372697753

  119. 369453

    Returns: 136222022

  120. 7756990

    Returns: 969991708

  121. 715

    Returns: 6443416

  122. 268825421

    Returns: 413957835

  123. 52

    Returns: 2822

  124. 219924

    Returns: 743596489

  125. 1535984

    Returns: 536833416

  126. 522269473

    Returns: 404772876

  127. 9623

    Returns: 561288247

  128. 38259

    Returns: 794552915

  129. 577704

    Returns: 179922462

  130. 4692240

    Returns: 605233249

  131. 7355627

    Returns: 577108636

  132. 87322548

    Returns: 734621319

  133. 89

    Returns: 49632

  134. 59

    Returns: 12096

  135. 36555

    Returns: 870276210

  136. 40

    Returns: 3118

  137. 822

    Returns: 16235030

  138. 936116564

    Returns: 138647842

  139. 6702427

    Returns: 122802592

  140. 999999999

    Returns: 7293690

  141. 9999900002

    Returns: 832127558

  142. 9999900001

    Returns: 95642093

  143. 9999900000

    Returns: 501160889

  144. 9999800003

    Returns: 496801141

  145. 9999800002

    Returns: 832150385

  146. 9999800001

    Returns: 501133716

  147. 9999800000

    Returns: 503751137

  148. 9999700004

    Returns: 981139057

  149. 9999700003

    Returns: 237648762

  150. 9999700002

    Returns: 650072318

  151. 9999600006

    Returns: 503451141

  152. 9999600005

    Returns: 501133716

  153. 1

    Returns: 1

  154. 2

    Returns: 4

  155. 3

    Returns: 19

  156. 4

    Returns: 6

  157. 5

    Returns: 16

  158. 7

    Returns: 134

  159. 9

    Returns: 16

  160. 987654321

    Returns: 526013781

  161. 9999923457

    Returns: 567547471

  162. 5000000000

    Returns: 141947519

  163. 9234567899

    Returns: 967556476

  164. 9999900071

    Returns: 815135573


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: