https://codeforces.com/contest/2057/problem/C

#include<bits/stdc++.h>
using namespace std;

#define endl '\n'
using ll = long long;
using pii = pair<int, int>;
const double PI = acos(-1);
const int N = 1e5 + 10;
const int mod = 1e9 + 7;
void solve() {
	ll l,r;cin>>l>>r;
	if(r-l==2) {
		cout<<r-2<<" "<<r-1<<" "<<r<<endl;
		return;
	}
	ll pre=0;
	int i=30;
	for(;i>=0;i--){
		if((l>>i)==(r>>i)){
			if((l>>i)&1){
				l-=(1<<i);
				r-=(1<<i);
				pre+=(1<<i);
			}
		}
		else break;
	}
	if((1<<i)==r){
		r=pre+r;
		cout<<r-2<<" "<<r-1<<" "<<r<<endl;
//		cout<<"异或值:"<<(((r-2)^(r-1))+((r-2)^r)+((r-1)^r))<<endl;
	}
	else{
		r=pre+(1<<i);
		cout<<r-1<<" "<<r<<" "<<r+1<<endl;
//		cout<<"异或值:"<<(((r-1)^r)+((r-1)^(r+1))+((r+1)^r))<<endl;
	}
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr), cout.tie(nullptr);
	
	int T = 1;
	cin>>T;
	while (T--) {
		solve();
	}
	
	return 0;
}

//异或值:6
//6 7 8
//异或值:30
//1 2 3
//异或值:6
//15 16 17
//异或值:62
//135 136 137
//异或值:30
//95 96 97
//异或值:126
//119 120 121
//异或值:30
//536870911 536870912 536870913
//异或值:2147483646
题解:
每一位都异或最大,0 1 x,找l,r的前缀
1101 0 101
1101 1 100