n, q = map(int, input().split()) memo = {} def cost(l, r, i): if not memo.get((l, r), None) is None: return memo[l, r] else: if i <= 0: ans = r - l else: cur = i while cur > 0 and r // (1 << cur) - (l - 1) // (1 << cur) < 2: cur -= 1 u = ((l + (1 << cur) - 1) // (1 << cur)) * (1 << cur) v = (r // (1 << cur)) * (1 << cur) ans = cost(l, u, cur - 1) + (v - u) // (1 << cur) + cost(v, r, cur - 1) memo[l, r] = ans return ans for _ in range(q): s, t = map(int, input().split()) print(cost(s, t, n))