import java.util.* ;
import java.lang.* ;
class Main
{
{
Scanner sc
= new Scanner
( System .
in ) ; do {
int n1= sc.nextInt ( ) ;
int n2= sc.nextInt ( ) ;
if ( ( n1==- 1 ) && ( n2==- 1 ) ) { break ; }
if ( n1
== n2
) { System .
out .
println ( n1
) ; continue ; } System .
out .
println ( sumOfDigitsFrom1ToN
( n2
) - sumOfDigitsFrom1ToN
( n1
- 1 ) ) ; } while ( true ) ;
}
public static int sumOfDigitsFrom1ToN( int n) {
if ( n< 10 ) return n* ( n+ 1 ) / 2 ;
int d
= ( int ) Math .
log10 ( ( double ) n
) ; int [ ] a = new int [ d+ 1 ] ;
a[ 0 ] = 0 ;
a[ 1 ] = 45 ;
for ( int i= 2 ; i< d+ 1 ; i++ ) {
a
[ i
] = a
[ i
- 1 ] * 10 + 45 * ( int ) Math .
ceil ( ( double ) Math .
pow ( 10 ,i
- 1 ) ) ; }
int p
= ( int ) Math .
ceil ( ( double ) Math .
pow ( 10 , d
) ) ; int msd= n/ p;
return msd* a[ d] + ( msd* ( msd- 1 ) / 2 ) * p+ msd* ( 1 + n% p) + sumOfDigitsFrom1ToN( n% p) ;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCQoJU2Nhbm5lciBzYz0gbmV3IFNjYW5uZXIgKFN5c3RlbS5pbik7CgkJZG97CgkJCWludCBuMT1zYy5uZXh0SW50KCk7CgkJCWludCBuMj1zYy5uZXh0SW50KCk7CgkJCWlmICgobjE9PS0xKSAmJiAobjI9PS0xKSkgeyBicmVhazsgfQoJCQlpZiAobjE9PW4yKSB7U3lzdGVtLm91dC5wcmludGxuKG4xKTsgY29udGludWU7fQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oc3VtT2ZEaWdpdHNGcm9tMVRvTihuMiktc3VtT2ZEaWdpdHNGcm9tMVRvTihuMS0xKSk7CgkJfXdoaWxlKHRydWUpOwoJfQoJCglwdWJsaWMgc3RhdGljIGludCBzdW1PZkRpZ2l0c0Zyb20xVG9OKGludCBuKXsKCQlpZiAobjwxMCkgcmV0dXJuIG4qKG4rMSkvMjsKCQlpbnQgZD0oaW50KU1hdGgubG9nMTAoKGRvdWJsZSkgbik7CgkJaW50W10gYSA9IG5ldyBpbnRbZCsxXTsKCQlhWzBdPTA7CgkJYVsxXT00NTsKCQlmb3IgKGludCBpPTI7aTxkKzE7aSsrKXsKCQkJYVtpXT1hW2ktMV0qMTArNDUqKGludCkgTWF0aC5jZWlsKChkb3VibGUpTWF0aC5wb3coMTAsaS0xKSk7CgkJfQoJCWludCBwID0gKGludClNYXRoLmNlaWwoKGRvdWJsZSlNYXRoLnBvdygxMCwgZCkpOwoJCWludCBtc2Q9bi9wOwoJCQoJCXJldHVybiBtc2QqYVtkXSsobXNkKihtc2QtMSkvMikqcCttc2QqKDErbiVwKSArIHN1bU9mRGlnaXRzRnJvbTFUb04obiVwKTsKCX0KfQ==