A positive integer is called a 2-3-integer, if it is equal to 2x·3y for some non-negative integers x and y. In other words, these integers are such integers that only have 2 and 3 among their prime divisors. For example, integers 1, 6, 9, 16 and 108 — are 2-3 integers, while 5, 10, 21 and 120 are not.

Print the number of 2-3-integers on the given segment [l, r], i. e. the number of sich 2-3-integers t that l ≤ t ≤ r.

Input

The only line contains two integers l and r (1 ≤ l ≤ r ≤ 2·109).

Output

Print a single integer the number of 2-3-integers on the segment [l, r].

Examples

Input

1 10


Output

7


Input

100 200


Output

5


Input

1 2000000000


Output

326

Note

In the first example the 2-3-integers are 1, 2, 3, 4, 6, 8 and 9.

In the second example the 2-3-integers are 108, 128, 144, 162 and 192.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;
import java.io.*;
public class Con1 {
	static Scanner sc=new Scanner(System.in);
static	PrintWriter out=new PrintWriter(System.out);
static ArrayList<Integer>[] adj;
static int[] visited;
static int V;
		
		  public static void main(String[] args)throws IOException {
		    Scanner sc=new Scanner(System.in);
		    int x=sc.nextInt();
		    int y=sc.nextInt();
		    long result=0;
		    long count=0;
		    for(int i=0 ; i<100 ;i++) {
		    	for(int j=0 ; j<100 ; j++) {
		    		result=(long) (Math.pow(3, i)*Math.pow(2,j));
		    	if(result>=x&&result<=y) {
		    		count++;
		    	}
		    	}
		    	
		    }
		    System.out.println(count);
		        
		    
		    
	

	}



static void dfs(int u)					
{
	
	visited[u] ++;
if(visited[u]==2) {
	return;
}
	for(int v: adj[u])
		if(visited[v]<2)
			dfs(v);


}
static class Pair implements Comparable<Pair>{
	int x;
	int y;
	public Pair(int a,int b) {
		x=a;
		y=b;
	}
	@Override
	public int compareTo(Pair o) {
	if(x!=o.x) {
		return x-o.x;
	}	
	else {
		return y-o.y;
	}
	}
}
}
 class Scanner{
    StringTokenizer st;
    BufferedReader br;
    public Scanner(InputStream system){
        br=new BufferedReader(new InputStreamReader(system));
    }
    public Scanner (String file) throws IOException{
        br=new BufferedReader(new FileReader(file));
    }
    public String next() throws IOException{
        while (st==null || !st.hasMoreTokens())
            st=new StringTokenizer(br.readLine());
        return st.nextToken();
    }
    public  String nextLine() throws IOException{
        return br.readLine();

    }
    public int nextInt() throws IOException{
        return Integer.parseInt(next());

    }
    public long nextLong() throws IOException{
        return Long.parseLong(next());

    }
    public Double nextDouble() throws IOException{
        return Double.parseDouble(next());
        

    }
 }