For this Question: Given two positive integers X and Y, check if one integer is obtained by rotating bits of other.

Bit Rotation: A rotation (or circular shift) is an operation similar to shift except that the bits that fall off at one end are put back to the other end.The only line of input contains two integers X and Y

0 <= X, Y <= 2^32 - 1

The numbers are in 32-bit formatPrint "Yes" if its possible otherwise print "No"Sample Input: 
8 1
Output:
Yes

Explanation :
Represntation of X = 8 : 0000 0000 0000 0000 0000 0000 0000 1000
Represntation of Y = 1 : 0000 0000 0000 0000 0000 0000 0000 0001
If we rotate X by 3 units right we get Y, hence answer is Yes, I have written this Solution Code: #include "bits/stdc++.h"
using namespace std;
 
#define int long long int
#define ld long double
#define pi pair<int, int>
#define pb push_back
#define fi first
#define se second
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#ifndef LOCAL
#define endl '\n'
#endif

const int N = 500 + 5;
const int mod = 1e9 + 7;
const int inf = 1e9 + 9;

int a[N][N];

void bin(int x){
	for(int i = 0; i < 32; i++){
		cout << ((x >> i) & 1);
	}
	cout << endl;
}

void solve(){
	int x = 32;
	int a, b;
	cin >> a >> b;
	while(x--){
		int x = (a&1);
		a >>= 1;
		a += x*(1LL << 31);
		/*bin(a);	bin(b);
		cout << endl;*/
		if(a == b){
			cout << "Yes";
			return;
		}
	}
	cout << "No";
}

void testcases(){
	int tt = 1; 
	//cin >> tt;
	while(tt--){
		solve();
	}
}

signed main() {
	IOS;
		clock_t start = clock();

	testcases();

	cerr << (double)(clock() - start)*1000/CLOCKS_PER_SEC << " ms" << endl;
	return 0;
}	, In this Programming Language: C++, Now tell me if this Code is compilable or not?