Problem: 2057C - Trip to the Olympiad
Language: C++20 (GCC 13-64)

Previous submission (verdict: Wrong answer on test 1):
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
typedef __gnu_pbds::tree<int, __gnu_pbds::null_type, less<int>, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update> ordered_set;

#define ll  long long
#define ull unsigned long long
#define lld long double
#define pb push_back
const int INF_INT= std::numeric_limits<int32_t>::max();
const ull INF_ULL= std::numeric_limits<ull>::max();

int main(void)
{   
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int32_t t; cin>>t;
    while(t--)
    {
        /*nt32_t n,k; std::cin>>n>>k; 
        std::vector<ll>vec(n);
        unordered_map<ll, int> map_count;

        for(int32_t i=0; i<n; ++i)
        {
            std::cin>>vec[i]; 
            map_count[vec[i]]++; 
        }

	std::vector<int32_t>vec_count; 
       

       // int32_t freq_count= INT_MIN; 
	//ll freq_num;    

        for(const auto& it : map_count)
		vec_count.pb(it.second); 
            //if(it.second > freq_count)
            {
                freq_count = it.second; 
                freq_num = it.first;
            }
        }
            
	sort(vec_count.begin(), vec_count.end());
	int32_t ans= vec_count.size(); //pop_back(); 
	vec_count.pop_back();  

        //int32_t same_count=0; 
        for(const auto& it : vec_count)
            if(it <= k)
	    {
		    --ans; 
		    k-=it; 

	    }
                //++same_count; 

        std::cout<<ans<<"\n"; //-same_count<<"\n";
    }*/
		
    	int32_t l,r; std::cin>>l>>r; 
	int32_t num1= l, num2=r, pos; 
	//int32_t maxi=0; 
	for(int32_t i=29; i>=0; --i)
	{
		if((l&(1<<i)) != (r&(1<<i)))
		{
			pos=i;
			break; 
		}
	}
			
	num1= l|(1<<pos);
	num2= num1+1; 
	int32_t num3=r; 

	while(num3==num1 || num3==num2)
	{
		--num3; 
	}

	std::cout<<num1<<" "<<num2<<" "<<num3<<"\n";
	
	

	//std::cout<<maxi<<"\n";

    }
    
    
}


Submission (verdict: Wrong answer on test 1):
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
typedef __gnu_pbds::tree<int, __gnu_pbds::null_type, less<int>, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update> ordered_set;

#define ll  long long
#define ull unsigned long long
#define lld long double
#define pb push_back
const int INF_INT= std::numeric_limits<int32_t>::max();
const ull INF_ULL= std::numeric_limits<ull>::max();

int main(void)
{   
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int32_t t; cin>>t;
    while(t--)
    {
        /*nt32_t n,k; std::cin>>n>>k; 
        std::vector<ll>vec(n);
        unordered_map<ll, int> map_count;

        for(int32_t i=0; i<n; ++i)
        {
            std::cin>>vec[i]; 
            map_count[vec[i]]++; 
        }

	std::vector<int32_t>vec_count; 
       

       // int32_t freq_count= INT_MIN; 
	//ll freq_num;    

        for(const auto& it : map_count)
		vec_count.pb(it.second); 
            //if(it.second > freq_count)
            {
                freq_count = it.second; 
                freq_num = it.first;
            }
        }
            
	sort(vec_count.begin(), vec_count.end());
	int32_t ans= vec_count.size(); //pop_back(); 
	vec_count.pop_back();  

        //int32_t same_count=0; 
        for(const auto& it : vec_count)
            if(it <= k)
	    {
		    --ans; 
		    k-=it; 

	    }
                //++same_count; 

        std::cout<<ans<<"\n"; //-same_count<<"\n";
    }*/
		
    	int32_t l,r; std::cin>>l>>r; 
	int32_t num1= l, num2=r, pos; 
	//int32_t maxi=0; 
	for(int32_t i=0; i<=29; ++i)
	{
		if((l&(1<<i)) != (r&(1<<i)))
		{
			pos=i;
			break; 
		}
	}
			
	num1= l|((1<<pos)-1);
	num2= num1+1; 
	int32_t num3=r; 

	while(num3==num1 || num3==num2)
	{
		--num3; 
	}

	std::cout<<num1<<" "<<num2<<" "<<num3<<"\n";
	
	

	//std::cout<<maxi<<"\n";

    }
    
    
}