1 に 2, 3, 5 を何回か (0 回以上) かけ算して得られる数をハミング数 (Hamming numbers) と呼びます。例えば、
などはハミング数ですが、11, 13, 14 などはハミング数ではありません。
ハミング数はどれも 60 のべき乗を割り切る(例えば、54 は 603 = 21600 を割り切る) ので、時刻など 60 進法の計算には都合の良い数として昔から知られていました。また、楽器の調律に用いる音階の一つである純正律では、音の周波数の比が 24, 27, 30, 32, 36, 40, 45, 48 というハミング数からなる数列になります。
整数 m、n を入力とし、m 以上 n 以下のハミング数の個数を出力するプログラムを作成してください。
複数のデータセットの並びが入力として与えられます。入力の終わりはゼロひとつの行で示されます。
各データセットとして、2つの整数 m と n (1 ≤ m, n ≤ 1000000, m ≤ n) が空白区切りで1行に与えられます。
データセットの数は 20 を超えません。
データセットごとに m 以上 n 以下のハミング数の個数を1行に出力します。
3 8 1 27 1 86 0
5 17 31