using
System;
class
GFG
{
public
static
int
SIZE = 8;
public
static
int
bit_anagram_check(
long
a,
long
b)
{
int
i = 0;
long
[] binary_a =
new
long
[SIZE];
Arrays.Fill(binary_a, 0);
while
(a > 0)
{
binary_a[i] = a % 2;
a /= 2;
i++;
}
int
j = 0;
long
[] binary_b =
new
long
[SIZE];
Arrays.Fill(binary_b, 0);
while
(b > 0)
{
binary_b[j] = b % 2;
b /= 2;
j++;
}
Array.Sort(binary_a);
Array.Sort(binary_b);
for
(i = 0; i < SIZE; i++)
{
if
(binary_a[i] != binary_b[i])
{
return
0;
}
}
return
1;
}
public
static
class
Arrays
{
public
static
T[] CopyOf<T>(T[] original,
int
newLength)
{
T[] dest =
new
T[newLength];
System.Array.Copy(original, dest, newLength);
return
dest;
}
public
static
T[] CopyOfRange<T>(T[] original,
int
fromIndex,
int
toIndex)
{
int
length = toIndex - fromIndex;
T[] dest =
new
T[length];
System.Array.Copy(original, fromIndex,
dest, 0, length);
return
dest;
}
public
static
void
Fill<T>(T[] array, T value)
{
for
(
int
i = 0; i < array.Length; i++)
{
array[i] = value;
}
}
public
static
void
Fill<T>(T[] array,
int
fromIndex,
int
toIndex, T value)
{
for
(
int
i = fromIndex; i < toIndex; i++)
{
array[i] = value;
}
}
}
public
static
void
Main(
string
[] args)
{
long
a = 8, b = 4;
Console.WriteLine(bit_anagram_check(a, b));
}
}