CSES - Putka Open 2015 – 2/6 - Kertotaulu
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Tehtäväsi on laskea lukujen summa kertotaulussa suorakulmion muotoisella alueella. Alueen vasen yläkulma on (y1,x1)(y_1,x_1) ja oikea alakulma on (y2,x2)(y_2,x_2).

Tarkastellaan esimerkiksi seuraavaa aluetta:

Tässä tapauksessa alueen vasen yläkulma on (2,2)(2,2) ja oikea alakulma on (3,4)(3,4). Lukujen summa alueella on 4545.

Syöte

Syötteenä on neljä lukua: y1y_1, x1x_1, y2y_2 ja x2x_2.

Tuloste

Ohjelmasi tulee tulostaa lukujen summa alueella modulo 109+710^9+7.

Esimerkki 1

Syöte:

2 2 3 4

Tuloste:

45

Esimerkki 2

Syöte:

111111 111111 999999 999999

Tuloste:

247484240

Osatehtävä 1 (26 pistettä)

  • 1y1y210001 \le y_1 \le y_2 \le 1000
  • 1x1x210001 \le x_1 \le x_2 \le 1000

Osatehtävä 2 (23 pistettä)

  • 1y1y21061 \le y_1 \le y_2 \le 10^6
  • 1x1x21061 \le x_1 \le x_2 \le 10^6

Osatehtävä 3 (51 pistettä)

  • 1y1y21091 \le y_1 \le y_2 \le 10^9
  • 1x1x21091 \le x_1 \le x_2 \le 10^9