import java.util.*;
import java.io.*;

public class Garden {
	public static long g(long left, long right, long div) {
		long l2 = left / div;
		if (left % div != 0) {
			l2++;
		}
		long r = (right - right % div) / div;
//		System.out.println(l2+" "+r);
		return (r + 1 - l2);
	}

	public static long f(long a) {
		long ans = 0;
		for (long i = 1; i < 1000000; i++) {
			if (i * i + 1 > a) {
				if(i*i==a) {
					ans++;
				}
				break;
			}
			ans+=1;
			long count = g(i * i + 1, a, i);
			ans += 2 * count;
//			System.out.println(ans);
		}
		return ans;
	}

	public static void main(String[] args) throws Exception {
//		System.out.println(g(5, 5, 3));
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(in.readLine());
		long l = Integer.parseInt(st.nextToken());
		long r = Integer.parseInt(st.nextToken());
		long count = f(r) - f(l - 1);
//		System.out.println(f(l - 1) + " " + f(r));
		System.out.println(count);

	}

}

