import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Garden {

    private static long numbers(long act) {
        if (act == 1) {
            return 1;
        }

        Map<Long, Long> list = new HashMap<>();

        //System.out.println("-------------");
        long val = 0;
        BigInteger actual = new BigInteger(act + "");
        BigInteger oszto = new BigInteger("2");
        while (actual.longValue() > 1) {
            val = oszto.longValue();
            if (actual.remainder(oszto).equals(BigInteger.ZERO)) {
                //actual /= val;
                actual = actual.divide(oszto);
                list.put(val, list.getOrDefault(val, 0L) + 1);
                continue;
            }

            oszto = oszto.nextProbablePrime();
        }

        val = oszto.nextProbablePrime().longValue();
        //list.put(val, list.getOrDefault(val, 0L) + 1);

        long result = 1;
        for (Map.Entry<Long, Long> longLongEntry : list.entrySet()) {
            result *= (longLongEntry.getValue() + 1);
        }

        return result;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long N = sc.nextLong();
        long M = sc.nextLong();

        long sum = 0;
        for (long i = N; i <= M; i++) {
            sum += numbers(i);
        }

        System.out.println(sum);
    }

}

