//开方的题不知道为什么不对
public class Main{

    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n, m;
        while(sc.hasNext()) {
        	n = sc.nextInt();
        	m = sc.nextInt();
        	int count_n = getSquareNum(n);
        	int count_m = getSquareNum(m);
        	int i = 1;
        	int res = 0;
        	while(i <= n && i <= m) {
    			if(judgeSquare(i)) {
    				res += count_n;
    				res += count_m;
    				count_n--;
    				count_m--;
    				res--;
    			}
    			else {
    				res += getSquareNum(n / i);
    				res += getSquareNum(m / i);
    				res--;
    			}
    			i++;
        	}
        	System.out.println(res);
        }
        sc.close();
    }
    
    public static int getSquareNum(int n) {
    	return (int) Math.floor(Math.sqrt(n));
    }
    
    public static boolean judgeSquare(int n) {
    	return Math.sqrt(n) % 1 == 0;
    }
}