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.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;

public class TaskC {

    FastScanner in;


    public void solve() {
        int left = in.nextInt();
        int right = in.nextInt();
        int res = 0;
        String str = Integer.toBinaryString(left);
        int pos  = str.length() - 1;
        long num = (long)Math.pow(2,pos);
        if (num < left) {
            num = num * 2;
        }
        long cur = num;
        while (cur <= right) {
            res++;
            long cur2 = cur * 3;
            while (cur2 <= right) {
                res++;
                cur2 = cur2 * 3;
            }
            cur = cur * 2;
        }
        cur = num/2;
        while (cur > 0) {
            long cur2 = cur;
            while (cur2 < left) {
                cur2 = cur2 * 3;
            }
            while (cur2 <=right) {
                res++;
                cur2 = cur2*3;
            }
            cur = cur / 2;
        }

        System.out.println(res);

    }
    public void run() {
        in = new FastScanner();
        solve();

    }

    class FastScanner {

        BufferedReader br;
        StringTokenizer st;
        String str;
        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {


                try {
                    str = br.readLine();
                    if (str == null) {
                        return "";
                    }
                    else {
                        st = new StringTokenizer(str);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

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


    public static void main(String[] args)
    {
        new TaskC().run();
    }
}

