WA×4
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll l, r, cnt, recp;
vector <pair <ll, ll> > v1, v2;
int main()
{
cin >> l >> r;
ll t = log2(r - l), t2 = pow(2, t), rec = r / t2 * t2;
ll p = rec, val = t2;
while (p > l)
{
if (p - val < l)
{
val = log2(p - l);
val = pow(2, val);
}
v1.push_back(make_pair(p - val, p));
p -= val;
}
p = rec, val = t2;
while (p < r)
{
if (p + val > r)
{
val = log2(r - p);
val = pow(2, val);
}
v2.push_back(make_pair(p, p + val));
p += val;
}
cout << v1.size() + v2.size() << endl;
for (ll i = v1.size() - 1; i >= 0; i--) cout << v1[i].first << " " << v1[i].second << endl;
for (pair <ll, ll> i : v2) cout << i.first << " " << i.second << endl;
}