echilateral

Time limit: 0.2s Memory limit: 64MB Input: echilateral.in Output: echilateral.out

O rețea triunghiulară de latură nn se obține descompunând un triunghi echilateral de latură nn în triunghiuri echilaterale de latură 11, folosind drepte paralele la laturile triunghiului inițial. De exemplu în figurile de mai jos avem rețele triunghiulare de latură 44. Numim noduri ale rețelei vârfurile triunghiurilor de latură 11 folosite în descompunere. Astfel pe prima rețea am desenat un triunghi echilateral cu vârfuri în nodurile rețelei iar pe a doua rețea am desenat două triunghiuri echilaterale cu vârfuri în noduri.

Cerinţă

Să se scrie un program care pentru nn, aa, și bb cunoscute, determină numărul de triunghiuri echilaterale cu vârfurile în nodurile unei rețele de latură nn care au lungimile laturilor cuprinse între valorile aa și bb.

Date de intrare

Fişierul de intrare echilateral.in conţine pe prima linie numerele nn, aa și bb separate prin câte un spaţiu.

Date de ieşire

Fişierul de ieşire echilateral.out va conţine pe prima linie numărul de triunghiuri echilaterale cu vârfurile în nodurile unei rețele de latură nn care au lungimile laturilor cuprinse între valorile aa și bb, modulo 666 013666 \ 013.

Restricţii şi precizări

  • 1n1091 \leq n \leq 10^9;
  • 1ab1061 \leq a \leq b \leq 10^6;

Exemplu

echilateral.in

4 1 2

echilateral.out

29

Explicație

Avem 1616 triunghiuri de latură 11 (cele care acoperă rețeaua).
Mai avem încă 66 triunghiuri de latură 3\sqrt{3} (similar triunghiului din a doua figură și având una dintre laturi verticală).
Mai avem încă 77 triunghiuri de latură 22.
În total avem 16+6+7=2916+6+7=29 triunghiuri.

Log in or sign up to be able to send submissions!