#include <iostream>
using namespace std;
unsigned int pot(int, int);
int main()
{
int tabliczka_mala, tabliczka_duza;
while (cin >> tabliczka_mala)
{
cin >> tabliczka_duza;
unsigned int suma=0;
while (tabliczka_mala<=tabliczka_duza)
{
suma+=pot(tabliczka_mala,3);
tabliczka_mala++;
suma%=1010101011;
}
cout << suma << endl;
}
return 0;
}
unsigned int pot (int podstawa, int wykladnik)
{
podstawa%=1010101011; //tej linijki nie jestem pewny na 100%, ale dla podanych wynik jest dobry
unsigned int wyn = 1;
while (wykladnik>0)
{
if (wykladnik%2 == 1) wyn*= podstawa;
podstawa*=podstawa;
wykladnik=wykladnik>>1;
}
return wyn;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVuc2lnbmVkIGludCBwb3QoaW50LCBpbnQpOwoKaW50IG1haW4oKQp7CiAgICBpbnQgdGFibGljemthX21hbGEsIHRhYmxpY3prYV9kdXphOwogICAgd2hpbGUgKGNpbiA+PiB0YWJsaWN6a2FfbWFsYSkKICAgIHsKICAgICAgICBjaW4gPj4gdGFibGljemthX2R1emE7CiAgICAgICAgdW5zaWduZWQgaW50IHN1bWE9MDsKICAgICAgICB3aGlsZSAodGFibGljemthX21hbGE8PXRhYmxpY3prYV9kdXphKQogICAgICAgIHsKCiAgICAgICAgICAgIHN1bWErPXBvdCh0YWJsaWN6a2FfbWFsYSwzKTsKICAgICAgICAgICAgdGFibGljemthX21hbGErKzsKICAgICAgICAgICAgc3VtYSU9MTAxMDEwMTAxMTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBzdW1hIDw8IGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKdW5zaWduZWQgaW50IHBvdCAoaW50IHBvZHN0YXdhLCBpbnQgd3lrbGFkbmlrKQp7CiAgICBwb2RzdGF3YSU9MTAxMDEwMTAxMTsgLy90ZWogbGluaWpraSBuaWUgamVzdGVtIHBld255IG5hIDEwMCUsIGFsZSBkbGEgcG9kYW55Y2ggd3luaWsgamVzdCBkb2JyeQogICAgdW5zaWduZWQgaW50IHd5biA9IDE7CiAgICB3aGlsZSAod3lrbGFkbmlrPjApCiAgICB7CiAgICAgICAgaWYgKHd5a2xhZG5payUyID09IDEpIHd5bio9IHBvZHN0YXdhOwogICAgICAgIHBvZHN0YXdhKj1wb2RzdGF3YTsKICAgICAgICAKICAgICAgICB3eWtsYWRuaWs9d3lrbGFkbmlrPj4xOwoKICAgIH0KICAgIHJldHVybiB3eW47Cgp9