|
import torch |
|
|
|
|
|
FP12_MAX = 0.5 * (1+0.5+0.25+0.125+0.0625+0.03125) |
|
|
|
|
|
FP12_MIN = 2 ** (-15) |
|
|
|
|
|
def to_fp12(data: torch.Tensor): |
|
data = data.to(dtype=torch.float16) |
|
|
|
assert (data.abs() <= FP12_MAX).all().item(), f'max value = {data.abs().max().item()}' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
idata = data.view(dtype=torch.int16).view(size=(-1,)) |
|
|
|
|
|
mask_s = 0b1000_0000_0000_0000 |
|
mask_e = 0b0111_1100_0000_0000 |
|
mask_f = 0b0000_0011_1111_1111 |
|
|
|
|
|
s = ((idata & mask_s) >> 12).to(dtype=torch.uint8) & 0b1000 |
|
|
|
|
|
e = ((idata & mask_e) >> 10) - 15 |
|
e = e.clamp(-15, -1) |
|
|
|
E_mask = torch.logical_and(-11 <= e, e <= -5) |
|
|
|
E = (e + 12).to(dtype=torch.int8).view(dtype=torch.uint8) |
|
E[~E_mask] = 0 |
|
E += s |
|
|
|
E[::2] <<= 4 |
|
E[::2] += E[1::2] |
|
E = E[::2] |
|
|
|
|
|
f = idata & mask_f |
|
F = (f >> 2).to(dtype=torch.uint8) |
|
|
|
|
|
G_mask = e < -11 |
|
Ge = (e + 15).to(dtype=torch.int8).view(dtype=torch.uint8) |
|
Ge = Ge.clamp(0, 3) |
|
F[G_mask] = (F[G_mask] & 0b1111_1000) + Ge[G_mask] |
|
|
|
|
|
H_mask = -5 < e |
|
He = (e + 4).to(dtype=torch.int8).view(dtype=torch.uint8) |
|
He = He.clamp(0, 3) |
|
F[H_mask] = (F[H_mask] & 0b1111_1000) + He[H_mask] + 0b100 |
|
|
|
return E, F |
|
|
|
|
|
def fp12_to_fp16_2(exp: torch.Tensor, frac: torch.Tensor): |
|
assert exp.dtype == torch.uint8 |
|
assert frac.dtype == torch.uint8 |
|
assert exp.ndim == 1 |
|
assert frac.ndim == 1 |
|
assert exp.size(0) * 2 == frac.size(0) |
|
|
|
FP16 = torch.zeros(frac.shape, dtype=torch.int16, device=frac.device) |
|
|
|
exp = exp[..., None].expand(size=(-1,2)).contiguous().view((-1,)) |
|
exp[::2] >>= 4 |
|
exp[1::2] &= 0b0000_1111 |
|
|
|
|
|
FP16[:] = exp & 0b0000_1000 |
|
FP16 <<= 12 |
|
|
|
|
|
exp_e = (exp & 0b0111).to(dtype=torch.int16) |
|
exp_gh = ((frac >> 5) & 0b11).to(dtype=torch.int16) |
|
|
|
E_mask = exp_e != 0 |
|
G_mask = torch.logical_and(exp_e == 0, (frac >> 7) == 0) |
|
H_mask = torch.logical_and(exp_e == 0, (frac >> 7) == 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FP16 += ( |
|
|
|
E_mask * (exp_e + 3) + |
|
|
|
|
|
G_mask * exp_gh + |
|
|
|
|
|
H_mask * (exp_gh + 11) |
|
|
|
) << 10 |
|
|
|
|
|
FP16 += ( |
|
|
|
E_mask * frac + |
|
|
|
(G_mask + H_mask) * (frac << 3) |
|
).to(dtype=torch.int16) << 2 |
|
|
|
return FP16.view(dtype=torch.float16) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXP_MASK = torch.tensor([ |
|
0b1111_0000, |
|
0b0000_1111 |
|
], dtype=torch.uint8) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FP12_TO_FP16 = torch.tensor([ |
|
0b0_00000_0000000000, 0b0_00001_0000000000, 0b0_00010_0000000000, 0b0_00011_0000000000, 0b0_01011_0000000000, 0b0_01100_0000000000, 0b0_01101_0000000000, 0b0_01110_0000000000, 0b0_00000_0000100000, 0b0_00001_0000100000, 0b0_00010_0000100000, 0b0_00011_0000100000, 0b0_01011_0000100000, 0b0_01100_0000100000, 0b0_01101_0000100000, 0b0_01110_0000100000, |
|
0b0_00000_0001000000, 0b0_00001_0001000000, 0b0_00010_0001000000, 0b0_00011_0001000000, 0b0_01011_0001000000, 0b0_01100_0001000000, 0b0_01101_0001000000, 0b0_01110_0001000000, 0b0_00000_0001100000, 0b0_00001_0001100000, 0b0_00010_0001100000, 0b0_00011_0001100000, 0b0_01011_0001100000, 0b0_01100_0001100000, 0b0_01101_0001100000, 0b0_01110_0001100000, |
|
0b0_00000_0010000000, 0b0_00001_0010000000, 0b0_00010_0010000000, 0b0_00011_0010000000, 0b0_01011_0010000000, 0b0_01100_0010000000, 0b0_01101_0010000000, 0b0_01110_0010000000, 0b0_00000_0010100000, 0b0_00001_0010100000, 0b0_00010_0010100000, 0b0_00011_0010100000, 0b0_01011_0010100000, 0b0_01100_0010100000, 0b0_01101_0010100000, 0b0_01110_0010100000, |
|
0b0_00000_0011000000, 0b0_00001_0011000000, 0b0_00010_0011000000, 0b0_00011_0011000000, 0b0_01011_0011000000, 0b0_01100_0011000000, 0b0_01101_0011000000, 0b0_01110_0011000000, 0b0_00000_0011100000, 0b0_00001_0011100000, 0b0_00010_0011100000, 0b0_00011_0011100000, 0b0_01011_0011100000, 0b0_01100_0011100000, 0b0_01101_0011100000, 0b0_01110_0011100000, |
|
0b0_00000_0100000000, 0b0_00001_0100000000, 0b0_00010_0100000000, 0b0_00011_0100000000, 0b0_01011_0100000000, 0b0_01100_0100000000, 0b0_01101_0100000000, 0b0_01110_0100000000, 0b0_00000_0100100000, 0b0_00001_0100100000, 0b0_00010_0100100000, 0b0_00011_0100100000, 0b0_01011_0100100000, 0b0_01100_0100100000, 0b0_01101_0100100000, 0b0_01110_0100100000, |
|
0b0_00000_0101000000, 0b0_00001_0101000000, 0b0_00010_0101000000, 0b0_00011_0101000000, 0b0_01011_0101000000, 0b0_01100_0101000000, 0b0_01101_0101000000, 0b0_01110_0101000000, 0b0_00000_0101100000, 0b0_00001_0101100000, 0b0_00010_0101100000, 0b0_00011_0101100000, 0b0_01011_0101100000, 0b0_01100_0101100000, 0b0_01101_0101100000, 0b0_01110_0101100000, |
|
0b0_00000_0110000000, 0b0_00001_0110000000, 0b0_00010_0110000000, 0b0_00011_0110000000, 0b0_01011_0110000000, 0b0_01100_0110000000, 0b0_01101_0110000000, 0b0_01110_0110000000, 0b0_00000_0110100000, 0b0_00001_0110100000, 0b0_00010_0110100000, 0b0_00011_0110100000, 0b0_01011_0110100000, 0b0_01100_0110100000, 0b0_01101_0110100000, 0b0_01110_0110100000, |
|
0b0_00000_0111000000, 0b0_00001_0111000000, 0b0_00010_0111000000, 0b0_00011_0111000000, 0b0_01011_0111000000, 0b0_01100_0111000000, 0b0_01101_0111000000, 0b0_01110_0111000000, 0b0_00000_0111100000, 0b0_00001_0111100000, 0b0_00010_0111100000, 0b0_00011_0111100000, 0b0_01011_0111100000, 0b0_01100_0111100000, 0b0_01101_0111100000, 0b0_01110_0111100000, |
|
0b0_00000_1000000000, 0b0_00001_1000000000, 0b0_00010_1000000000, 0b0_00011_1000000000, 0b0_01011_1000000000, 0b0_01100_1000000000, 0b0_01101_1000000000, 0b0_01110_1000000000, 0b0_00000_1000100000, 0b0_00001_1000100000, 0b0_00010_1000100000, 0b0_00011_1000100000, 0b0_01011_1000100000, 0b0_01100_1000100000, 0b0_01101_1000100000, 0b0_01110_1000100000, |
|
0b0_00000_1001000000, 0b0_00001_1001000000, 0b0_00010_1001000000, 0b0_00011_1001000000, 0b0_01011_1001000000, 0b0_01100_1001000000, 0b0_01101_1001000000, 0b0_01110_1001000000, 0b0_00000_1001100000, 0b0_00001_1001100000, 0b0_00010_1001100000, 0b0_00011_1001100000, 0b0_01011_1001100000, 0b0_01100_1001100000, 0b0_01101_1001100000, 0b0_01110_1001100000, |
|
0b0_00000_1010000000, 0b0_00001_1010000000, 0b0_00010_1010000000, 0b0_00011_1010000000, 0b0_01011_1010000000, 0b0_01100_1010000000, 0b0_01101_1010000000, 0b0_01110_1010000000, 0b0_00000_1010100000, 0b0_00001_1010100000, 0b0_00010_1010100000, 0b0_00011_1010100000, 0b0_01011_1010100000, 0b0_01100_1010100000, 0b0_01101_1010100000, 0b0_01110_1010100000, |
|
0b0_00000_1011000000, 0b0_00001_1011000000, 0b0_00010_1011000000, 0b0_00011_1011000000, 0b0_01011_1011000000, 0b0_01100_1011000000, 0b0_01101_1011000000, 0b0_01110_1011000000, 0b0_00000_1011100000, 0b0_00001_1011100000, 0b0_00010_1011100000, 0b0_00011_1011100000, 0b0_01011_1011100000, 0b0_01100_1011100000, 0b0_01101_1011100000, 0b0_01110_1011100000, |
|
0b0_00000_1100000000, 0b0_00001_1100000000, 0b0_00010_1100000000, 0b0_00011_1100000000, 0b0_01011_1100000000, 0b0_01100_1100000000, 0b0_01101_1100000000, 0b0_01110_1100000000, 0b0_00000_1100100000, 0b0_00001_1100100000, 0b0_00010_1100100000, 0b0_00011_1100100000, 0b0_01011_1100100000, 0b0_01100_1100100000, 0b0_01101_1100100000, 0b0_01110_1100100000, |
|
0b0_00000_1101000000, 0b0_00001_1101000000, 0b0_00010_1101000000, 0b0_00011_1101000000, 0b0_01011_1101000000, 0b0_01100_1101000000, 0b0_01101_1101000000, 0b0_01110_1101000000, 0b0_00000_1101100000, 0b0_00001_1101100000, 0b0_00010_1101100000, 0b0_00011_1101100000, 0b0_01011_1101100000, 0b0_01100_1101100000, 0b0_01101_1101100000, 0b0_01110_1101100000, |
|
0b0_00000_1110000000, 0b0_00001_1110000000, 0b0_00010_1110000000, 0b0_00011_1110000000, 0b0_01011_1110000000, 0b0_01100_1110000000, 0b0_01101_1110000000, 0b0_01110_1110000000, 0b0_00000_1110100000, 0b0_00001_1110100000, 0b0_00010_1110100000, 0b0_00011_1110100000, 0b0_01011_1110100000, 0b0_01100_1110100000, 0b0_01101_1110100000, 0b0_01110_1110100000, |
|
0b0_00000_1111000000, 0b0_00001_1111000000, 0b0_00010_1111000000, 0b0_00011_1111000000, 0b0_01011_1111000000, 0b0_01100_1111000000, 0b0_01101_1111000000, 0b0_01110_1111000000, 0b0_00000_1111100000, 0b0_00001_1111100000, 0b0_00010_1111100000, 0b0_00011_1111100000, 0b0_01011_1111100000, 0b0_01100_1111100000, 0b0_01101_1111100000, 0b0_01110_1111100000, |
|
0b0_00100_0000000000, 0b0_00100_0000000100, 0b0_00100_0000001000, 0b0_00100_0000001100, 0b0_00100_0000010000, 0b0_00100_0000010100, 0b0_00100_0000011000, 0b0_00100_0000011100, 0b0_00100_0000100000, 0b0_00100_0000100100, 0b0_00100_0000101000, 0b0_00100_0000101100, 0b0_00100_0000110000, 0b0_00100_0000110100, 0b0_00100_0000111000, 0b0_00100_0000111100, |
|
0b0_00100_0001000000, 0b0_00100_0001000100, 0b0_00100_0001001000, 0b0_00100_0001001100, 0b0_00100_0001010000, 0b0_00100_0001010100, 0b0_00100_0001011000, 0b0_00100_0001011100, 0b0_00100_0001100000, 0b0_00100_0001100100, 0b0_00100_0001101000, 0b0_00100_0001101100, 0b0_00100_0001110000, 0b0_00100_0001110100, 0b0_00100_0001111000, 0b0_00100_0001111100, |
|
0b0_00100_0010000000, 0b0_00100_0010000100, 0b0_00100_0010001000, 0b0_00100_0010001100, 0b0_00100_0010010000, 0b0_00100_0010010100, 0b0_00100_0010011000, 0b0_00100_0010011100, 0b0_00100_0010100000, 0b0_00100_0010100100, 0b0_00100_0010101000, 0b0_00100_0010101100, 0b0_00100_0010110000, 0b0_00100_0010110100, 0b0_00100_0010111000, 0b0_00100_0010111100, |
|
0b0_00100_0011000000, 0b0_00100_0011000100, 0b0_00100_0011001000, 0b0_00100_0011001100, 0b0_00100_0011010000, 0b0_00100_0011010100, 0b0_00100_0011011000, 0b0_00100_0011011100, 0b0_00100_0011100000, 0b0_00100_0011100100, 0b0_00100_0011101000, 0b0_00100_0011101100, 0b0_00100_0011110000, 0b0_00100_0011110100, 0b0_00100_0011111000, 0b0_00100_0011111100, |
|
0b0_00100_0100000000, 0b0_00100_0100000100, 0b0_00100_0100001000, 0b0_00100_0100001100, 0b0_00100_0100010000, 0b0_00100_0100010100, 0b0_00100_0100011000, 0b0_00100_0100011100, 0b0_00100_0100100000, 0b0_00100_0100100100, 0b0_00100_0100101000, 0b0_00100_0100101100, 0b0_00100_0100110000, 0b0_00100_0100110100, 0b0_00100_0100111000, 0b0_00100_0100111100, |
|
0b0_00100_0101000000, 0b0_00100_0101000100, 0b0_00100_0101001000, 0b0_00100_0101001100, 0b0_00100_0101010000, 0b0_00100_0101010100, 0b0_00100_0101011000, 0b0_00100_0101011100, 0b0_00100_0101100000, 0b0_00100_0101100100, 0b0_00100_0101101000, 0b0_00100_0101101100, 0b0_00100_0101110000, 0b0_00100_0101110100, 0b0_00100_0101111000, 0b0_00100_0101111100, |
|
0b0_00100_0110000000, 0b0_00100_0110000100, 0b0_00100_0110001000, 0b0_00100_0110001100, 0b0_00100_0110010000, 0b0_00100_0110010100, 0b0_00100_0110011000, 0b0_00100_0110011100, 0b0_00100_0110100000, 0b0_00100_0110100100, 0b0_00100_0110101000, 0b0_00100_0110101100, 0b0_00100_0110110000, 0b0_00100_0110110100, 0b0_00100_0110111000, 0b0_00100_0110111100, |
|
0b0_00100_0111000000, 0b0_00100_0111000100, 0b0_00100_0111001000, 0b0_00100_0111001100, 0b0_00100_0111010000, 0b0_00100_0111010100, 0b0_00100_0111011000, 0b0_00100_0111011100, 0b0_00100_0111100000, 0b0_00100_0111100100, 0b0_00100_0111101000, 0b0_00100_0111101100, 0b0_00100_0111110000, 0b0_00100_0111110100, 0b0_00100_0111111000, 0b0_00100_0111111100, |
|
0b0_00100_1000000000, 0b0_00100_1000000100, 0b0_00100_1000001000, 0b0_00100_1000001100, 0b0_00100_1000010000, 0b0_00100_1000010100, 0b0_00100_1000011000, 0b0_00100_1000011100, 0b0_00100_1000100000, 0b0_00100_1000100100, 0b0_00100_1000101000, 0b0_00100_1000101100, 0b0_00100_1000110000, 0b0_00100_1000110100, 0b0_00100_1000111000, 0b0_00100_1000111100, |
|
0b0_00100_1001000000, 0b0_00100_1001000100, 0b0_00100_1001001000, 0b0_00100_1001001100, 0b0_00100_1001010000, 0b0_00100_1001010100, 0b0_00100_1001011000, 0b0_00100_1001011100, 0b0_00100_1001100000, 0b0_00100_1001100100, 0b0_00100_1001101000, 0b0_00100_1001101100, 0b0_00100_1001110000, 0b0_00100_1001110100, 0b0_00100_1001111000, 0b0_00100_1001111100, |
|
0b0_00100_1010000000, 0b0_00100_1010000100, 0b0_00100_1010001000, 0b0_00100_1010001100, 0b0_00100_1010010000, 0b0_00100_1010010100, 0b0_00100_1010011000, 0b0_00100_1010011100, 0b0_00100_1010100000, 0b0_00100_1010100100, 0b0_00100_1010101000, 0b0_00100_1010101100, 0b0_00100_1010110000, 0b0_00100_1010110100, 0b0_00100_1010111000, 0b0_00100_1010111100, |
|
0b0_00100_1011000000, 0b0_00100_1011000100, 0b0_00100_1011001000, 0b0_00100_1011001100, 0b0_00100_1011010000, 0b0_00100_1011010100, 0b0_00100_1011011000, 0b0_00100_1011011100, 0b0_00100_1011100000, 0b0_00100_1011100100, 0b0_00100_1011101000, 0b0_00100_1011101100, 0b0_00100_1011110000, 0b0_00100_1011110100, 0b0_00100_1011111000, 0b0_00100_1011111100, |
|
0b0_00100_1100000000, 0b0_00100_1100000100, 0b0_00100_1100001000, 0b0_00100_1100001100, 0b0_00100_1100010000, 0b0_00100_1100010100, 0b0_00100_1100011000, 0b0_00100_1100011100, 0b0_00100_1100100000, 0b0_00100_1100100100, 0b0_00100_1100101000, 0b0_00100_1100101100, 0b0_00100_1100110000, 0b0_00100_1100110100, 0b0_00100_1100111000, 0b0_00100_1100111100, |
|
0b0_00100_1101000000, 0b0_00100_1101000100, 0b0_00100_1101001000, 0b0_00100_1101001100, 0b0_00100_1101010000, 0b0_00100_1101010100, 0b0_00100_1101011000, 0b0_00100_1101011100, 0b0_00100_1101100000, 0b0_00100_1101100100, 0b0_00100_1101101000, 0b0_00100_1101101100, 0b0_00100_1101110000, 0b0_00100_1101110100, 0b0_00100_1101111000, 0b0_00100_1101111100, |
|
0b0_00100_1110000000, 0b0_00100_1110000100, 0b0_00100_1110001000, 0b0_00100_1110001100, 0b0_00100_1110010000, 0b0_00100_1110010100, 0b0_00100_1110011000, 0b0_00100_1110011100, 0b0_00100_1110100000, 0b0_00100_1110100100, 0b0_00100_1110101000, 0b0_00100_1110101100, 0b0_00100_1110110000, 0b0_00100_1110110100, 0b0_00100_1110111000, 0b0_00100_1110111100, |
|
0b0_00100_1111000000, 0b0_00100_1111000100, 0b0_00100_1111001000, 0b0_00100_1111001100, 0b0_00100_1111010000, 0b0_00100_1111010100, 0b0_00100_1111011000, 0b0_00100_1111011100, 0b0_00100_1111100000, 0b0_00100_1111100100, 0b0_00100_1111101000, 0b0_00100_1111101100, 0b0_00100_1111110000, 0b0_00100_1111110100, 0b0_00100_1111111000, 0b0_00100_1111111100, |
|
0b0_00101_0000000000, 0b0_00101_0000000100, 0b0_00101_0000001000, 0b0_00101_0000001100, 0b0_00101_0000010000, 0b0_00101_0000010100, 0b0_00101_0000011000, 0b0_00101_0000011100, 0b0_00101_0000100000, 0b0_00101_0000100100, 0b0_00101_0000101000, 0b0_00101_0000101100, 0b0_00101_0000110000, 0b0_00101_0000110100, 0b0_00101_0000111000, 0b0_00101_0000111100, |
|
0b0_00101_0001000000, 0b0_00101_0001000100, 0b0_00101_0001001000, 0b0_00101_0001001100, 0b0_00101_0001010000, 0b0_00101_0001010100, 0b0_00101_0001011000, 0b0_00101_0001011100, 0b0_00101_0001100000, 0b0_00101_0001100100, 0b0_00101_0001101000, 0b0_00101_0001101100, 0b0_00101_0001110000, 0b0_00101_0001110100, 0b0_00101_0001111000, 0b0_00101_0001111100, |
|
0b0_00101_0010000000, 0b0_00101_0010000100, 0b0_00101_0010001000, 0b0_00101_0010001100, 0b0_00101_0010010000, 0b0_00101_0010010100, 0b0_00101_0010011000, 0b0_00101_0010011100, 0b0_00101_0010100000, 0b0_00101_0010100100, 0b0_00101_0010101000, 0b0_00101_0010101100, 0b0_00101_0010110000, 0b0_00101_0010110100, 0b0_00101_0010111000, 0b0_00101_0010111100, |
|
0b0_00101_0011000000, 0b0_00101_0011000100, 0b0_00101_0011001000, 0b0_00101_0011001100, 0b0_00101_0011010000, 0b0_00101_0011010100, 0b0_00101_0011011000, 0b0_00101_0011011100, 0b0_00101_0011100000, 0b0_00101_0011100100, 0b0_00101_0011101000, 0b0_00101_0011101100, 0b0_00101_0011110000, 0b0_00101_0011110100, 0b0_00101_0011111000, 0b0_00101_0011111100, |
|
0b0_00101_0100000000, 0b0_00101_0100000100, 0b0_00101_0100001000, 0b0_00101_0100001100, 0b0_00101_0100010000, 0b0_00101_0100010100, 0b0_00101_0100011000, 0b0_00101_0100011100, 0b0_00101_0100100000, 0b0_00101_0100100100, 0b0_00101_0100101000, 0b0_00101_0100101100, 0b0_00101_0100110000, 0b0_00101_0100110100, 0b0_00101_0100111000, 0b0_00101_0100111100, |
|
0b0_00101_0101000000, 0b0_00101_0101000100, 0b0_00101_0101001000, 0b0_00101_0101001100, 0b0_00101_0101010000, 0b0_00101_0101010100, 0b0_00101_0101011000, 0b0_00101_0101011100, 0b0_00101_0101100000, 0b0_00101_0101100100, 0b0_00101_0101101000, 0b0_00101_0101101100, 0b0_00101_0101110000, 0b0_00101_0101110100, 0b0_00101_0101111000, 0b0_00101_0101111100, |
|
0b0_00101_0110000000, 0b0_00101_0110000100, 0b0_00101_0110001000, 0b0_00101_0110001100, 0b0_00101_0110010000, 0b0_00101_0110010100, 0b0_00101_0110011000, 0b0_00101_0110011100, 0b0_00101_0110100000, 0b0_00101_0110100100, 0b0_00101_0110101000, 0b0_00101_0110101100, 0b0_00101_0110110000, 0b0_00101_0110110100, 0b0_00101_0110111000, 0b0_00101_0110111100, |
|
0b0_00101_0111000000, 0b0_00101_0111000100, 0b0_00101_0111001000, 0b0_00101_0111001100, 0b0_00101_0111010000, 0b0_00101_0111010100, 0b0_00101_0111011000, 0b0_00101_0111011100, 0b0_00101_0111100000, 0b0_00101_0111100100, 0b0_00101_0111101000, 0b0_00101_0111101100, 0b0_00101_0111110000, 0b0_00101_0111110100, 0b0_00101_0111111000, 0b0_00101_0111111100, |
|
0b0_00101_1000000000, 0b0_00101_1000000100, 0b0_00101_1000001000, 0b0_00101_1000001100, 0b0_00101_1000010000, 0b0_00101_1000010100, 0b0_00101_1000011000, 0b0_00101_1000011100, 0b0_00101_1000100000, 0b0_00101_1000100100, 0b0_00101_1000101000, 0b0_00101_1000101100, 0b0_00101_1000110000, 0b0_00101_1000110100, 0b0_00101_1000111000, 0b0_00101_1000111100, |
|
0b0_00101_1001000000, 0b0_00101_1001000100, 0b0_00101_1001001000, 0b0_00101_1001001100, 0b0_00101_1001010000, 0b0_00101_1001010100, 0b0_00101_1001011000, 0b0_00101_1001011100, 0b0_00101_1001100000, 0b0_00101_1001100100, 0b0_00101_1001101000, 0b0_00101_1001101100, 0b0_00101_1001110000, 0b0_00101_1001110100, 0b0_00101_1001111000, 0b0_00101_1001111100, |
|
0b0_00101_1010000000, 0b0_00101_1010000100, 0b0_00101_1010001000, 0b0_00101_1010001100, 0b0_00101_1010010000, 0b0_00101_1010010100, 0b0_00101_1010011000, 0b0_00101_1010011100, 0b0_00101_1010100000, 0b0_00101_1010100100, 0b0_00101_1010101000, 0b0_00101_1010101100, 0b0_00101_1010110000, 0b0_00101_1010110100, 0b0_00101_1010111000, 0b0_00101_1010111100, |
|
0b0_00101_1011000000, 0b0_00101_1011000100, 0b0_00101_1011001000, 0b0_00101_1011001100, 0b0_00101_1011010000, 0b0_00101_1011010100, 0b0_00101_1011011000, 0b0_00101_1011011100, 0b0_00101_1011100000, 0b0_00101_1011100100, 0b0_00101_1011101000, 0b0_00101_1011101100, 0b0_00101_1011110000, 0b0_00101_1011110100, 0b0_00101_1011111000, 0b0_00101_1011111100, |
|
0b0_00101_1100000000, 0b0_00101_1100000100, 0b0_00101_1100001000, 0b0_00101_1100001100, 0b0_00101_1100010000, 0b0_00101_1100010100, 0b0_00101_1100011000, 0b0_00101_1100011100, 0b0_00101_1100100000, 0b0_00101_1100100100, 0b0_00101_1100101000, 0b0_00101_1100101100, 0b0_00101_1100110000, 0b0_00101_1100110100, 0b0_00101_1100111000, 0b0_00101_1100111100, |
|
0b0_00101_1101000000, 0b0_00101_1101000100, 0b0_00101_1101001000, 0b0_00101_1101001100, 0b0_00101_1101010000, 0b0_00101_1101010100, 0b0_00101_1101011000, 0b0_00101_1101011100, 0b0_00101_1101100000, 0b0_00101_1101100100, 0b0_00101_1101101000, 0b0_00101_1101101100, 0b0_00101_1101110000, 0b0_00101_1101110100, 0b0_00101_1101111000, 0b0_00101_1101111100, |
|
0b0_00101_1110000000, 0b0_00101_1110000100, 0b0_00101_1110001000, 0b0_00101_1110001100, 0b0_00101_1110010000, 0b0_00101_1110010100, 0b0_00101_1110011000, 0b0_00101_1110011100, 0b0_00101_1110100000, 0b0_00101_1110100100, 0b0_00101_1110101000, 0b0_00101_1110101100, 0b0_00101_1110110000, 0b0_00101_1110110100, 0b0_00101_1110111000, 0b0_00101_1110111100, |
|
0b0_00101_1111000000, 0b0_00101_1111000100, 0b0_00101_1111001000, 0b0_00101_1111001100, 0b0_00101_1111010000, 0b0_00101_1111010100, 0b0_00101_1111011000, 0b0_00101_1111011100, 0b0_00101_1111100000, 0b0_00101_1111100100, 0b0_00101_1111101000, 0b0_00101_1111101100, 0b0_00101_1111110000, 0b0_00101_1111110100, 0b0_00101_1111111000, 0b0_00101_1111111100, |
|
0b0_00110_0000000000, 0b0_00110_0000000100, 0b0_00110_0000001000, 0b0_00110_0000001100, 0b0_00110_0000010000, 0b0_00110_0000010100, 0b0_00110_0000011000, 0b0_00110_0000011100, 0b0_00110_0000100000, 0b0_00110_0000100100, 0b0_00110_0000101000, 0b0_00110_0000101100, 0b0_00110_0000110000, 0b0_00110_0000110100, 0b0_00110_0000111000, 0b0_00110_0000111100, |
|
0b0_00110_0001000000, 0b0_00110_0001000100, 0b0_00110_0001001000, 0b0_00110_0001001100, 0b0_00110_0001010000, 0b0_00110_0001010100, 0b0_00110_0001011000, 0b0_00110_0001011100, 0b0_00110_0001100000, 0b0_00110_0001100100, 0b0_00110_0001101000, 0b0_00110_0001101100, 0b0_00110_0001110000, 0b0_00110_0001110100, 0b0_00110_0001111000, 0b0_00110_0001111100, |
|
0b0_00110_0010000000, 0b0_00110_0010000100, 0b0_00110_0010001000, 0b0_00110_0010001100, 0b0_00110_0010010000, 0b0_00110_0010010100, 0b0_00110_0010011000, 0b0_00110_0010011100, 0b0_00110_0010100000, 0b0_00110_0010100100, 0b0_00110_0010101000, 0b0_00110_0010101100, 0b0_00110_0010110000, 0b0_00110_0010110100, 0b0_00110_0010111000, 0b0_00110_0010111100, |
|
0b0_00110_0011000000, 0b0_00110_0011000100, 0b0_00110_0011001000, 0b0_00110_0011001100, 0b0_00110_0011010000, 0b0_00110_0011010100, 0b0_00110_0011011000, 0b0_00110_0011011100, 0b0_00110_0011100000, 0b0_00110_0011100100, 0b0_00110_0011101000, 0b0_00110_0011101100, 0b0_00110_0011110000, 0b0_00110_0011110100, 0b0_00110_0011111000, 0b0_00110_0011111100, |
|
0b0_00110_0100000000, 0b0_00110_0100000100, 0b0_00110_0100001000, 0b0_00110_0100001100, 0b0_00110_0100010000, 0b0_00110_0100010100, 0b0_00110_0100011000, 0b0_00110_0100011100, 0b0_00110_0100100000, 0b0_00110_0100100100, 0b0_00110_0100101000, 0b0_00110_0100101100, 0b0_00110_0100110000, 0b0_00110_0100110100, 0b0_00110_0100111000, 0b0_00110_0100111100, |
|
0b0_00110_0101000000, 0b0_00110_0101000100, 0b0_00110_0101001000, 0b0_00110_0101001100, 0b0_00110_0101010000, 0b0_00110_0101010100, 0b0_00110_0101011000, 0b0_00110_0101011100, 0b0_00110_0101100000, 0b0_00110_0101100100, 0b0_00110_0101101000, 0b0_00110_0101101100, 0b0_00110_0101110000, 0b0_00110_0101110100, 0b0_00110_0101111000, 0b0_00110_0101111100, |
|
0b0_00110_0110000000, 0b0_00110_0110000100, 0b0_00110_0110001000, 0b0_00110_0110001100, 0b0_00110_0110010000, 0b0_00110_0110010100, 0b0_00110_0110011000, 0b0_00110_0110011100, 0b0_00110_0110100000, 0b0_00110_0110100100, 0b0_00110_0110101000, 0b0_00110_0110101100, 0b0_00110_0110110000, 0b0_00110_0110110100, 0b0_00110_0110111000, 0b0_00110_0110111100, |
|
0b0_00110_0111000000, 0b0_00110_0111000100, 0b0_00110_0111001000, 0b0_00110_0111001100, 0b0_00110_0111010000, 0b0_00110_0111010100, 0b0_00110_0111011000, 0b0_00110_0111011100, 0b0_00110_0111100000, 0b0_00110_0111100100, 0b0_00110_0111101000, 0b0_00110_0111101100, 0b0_00110_0111110000, 0b0_00110_0111110100, 0b0_00110_0111111000, 0b0_00110_0111111100, |
|
0b0_00110_1000000000, 0b0_00110_1000000100, 0b0_00110_1000001000, 0b0_00110_1000001100, 0b0_00110_1000010000, 0b0_00110_1000010100, 0b0_00110_1000011000, 0b0_00110_1000011100, 0b0_00110_1000100000, 0b0_00110_1000100100, 0b0_00110_1000101000, 0b0_00110_1000101100, 0b0_00110_1000110000, 0b0_00110_1000110100, 0b0_00110_1000111000, 0b0_00110_1000111100, |
|
0b0_00110_1001000000, 0b0_00110_1001000100, 0b0_00110_1001001000, 0b0_00110_1001001100, 0b0_00110_1001010000, 0b0_00110_1001010100, 0b0_00110_1001011000, 0b0_00110_1001011100, 0b0_00110_1001100000, 0b0_00110_1001100100, 0b0_00110_1001101000, 0b0_00110_1001101100, 0b0_00110_1001110000, 0b0_00110_1001110100, 0b0_00110_1001111000, 0b0_00110_1001111100, |
|
0b0_00110_1010000000, 0b0_00110_1010000100, 0b0_00110_1010001000, 0b0_00110_1010001100, 0b0_00110_1010010000, 0b0_00110_1010010100, 0b0_00110_1010011000, 0b0_00110_1010011100, 0b0_00110_1010100000, 0b0_00110_1010100100, 0b0_00110_1010101000, 0b0_00110_1010101100, 0b0_00110_1010110000, 0b0_00110_1010110100, 0b0_00110_1010111000, 0b0_00110_1010111100, |
|
0b0_00110_1011000000, 0b0_00110_1011000100, 0b0_00110_1011001000, 0b0_00110_1011001100, 0b0_00110_1011010000, 0b0_00110_1011010100, 0b0_00110_1011011000, 0b0_00110_1011011100, 0b0_00110_1011100000, 0b0_00110_1011100100, 0b0_00110_1011101000, 0b0_00110_1011101100, 0b0_00110_1011110000, 0b0_00110_1011110100, 0b0_00110_1011111000, 0b0_00110_1011111100, |
|
0b0_00110_1100000000, 0b0_00110_1100000100, 0b0_00110_1100001000, 0b0_00110_1100001100, 0b0_00110_1100010000, 0b0_00110_1100010100, 0b0_00110_1100011000, 0b0_00110_1100011100, 0b0_00110_1100100000, 0b0_00110_1100100100, 0b0_00110_1100101000, 0b0_00110_1100101100, 0b0_00110_1100110000, 0b0_00110_1100110100, 0b0_00110_1100111000, 0b0_00110_1100111100, |
|
0b0_00110_1101000000, 0b0_00110_1101000100, 0b0_00110_1101001000, 0b0_00110_1101001100, 0b0_00110_1101010000, 0b0_00110_1101010100, 0b0_00110_1101011000, 0b0_00110_1101011100, 0b0_00110_1101100000, 0b0_00110_1101100100, 0b0_00110_1101101000, 0b0_00110_1101101100, 0b0_00110_1101110000, 0b0_00110_1101110100, 0b0_00110_1101111000, 0b0_00110_1101111100, |
|
0b0_00110_1110000000, 0b0_00110_1110000100, 0b0_00110_1110001000, 0b0_00110_1110001100, 0b0_00110_1110010000, 0b0_00110_1110010100, 0b0_00110_1110011000, 0b0_00110_1110011100, 0b0_00110_1110100000, 0b0_00110_1110100100, 0b0_00110_1110101000, 0b0_00110_1110101100, 0b0_00110_1110110000, 0b0_00110_1110110100, 0b0_00110_1110111000, 0b0_00110_1110111100, |
|
0b0_00110_1111000000, 0b0_00110_1111000100, 0b0_00110_1111001000, 0b0_00110_1111001100, 0b0_00110_1111010000, 0b0_00110_1111010100, 0b0_00110_1111011000, 0b0_00110_1111011100, 0b0_00110_1111100000, 0b0_00110_1111100100, 0b0_00110_1111101000, 0b0_00110_1111101100, 0b0_00110_1111110000, 0b0_00110_1111110100, 0b0_00110_1111111000, 0b0_00110_1111111100, |
|
0b0_00111_0000000000, 0b0_00111_0000000100, 0b0_00111_0000001000, 0b0_00111_0000001100, 0b0_00111_0000010000, 0b0_00111_0000010100, 0b0_00111_0000011000, 0b0_00111_0000011100, 0b0_00111_0000100000, 0b0_00111_0000100100, 0b0_00111_0000101000, 0b0_00111_0000101100, 0b0_00111_0000110000, 0b0_00111_0000110100, 0b0_00111_0000111000, 0b0_00111_0000111100, |
|
0b0_00111_0001000000, 0b0_00111_0001000100, 0b0_00111_0001001000, 0b0_00111_0001001100, 0b0_00111_0001010000, 0b0_00111_0001010100, 0b0_00111_0001011000, 0b0_00111_0001011100, 0b0_00111_0001100000, 0b0_00111_0001100100, 0b0_00111_0001101000, 0b0_00111_0001101100, 0b0_00111_0001110000, 0b0_00111_0001110100, 0b0_00111_0001111000, 0b0_00111_0001111100, |
|
0b0_00111_0010000000, 0b0_00111_0010000100, 0b0_00111_0010001000, 0b0_00111_0010001100, 0b0_00111_0010010000, 0b0_00111_0010010100, 0b0_00111_0010011000, 0b0_00111_0010011100, 0b0_00111_0010100000, 0b0_00111_0010100100, 0b0_00111_0010101000, 0b0_00111_0010101100, 0b0_00111_0010110000, 0b0_00111_0010110100, 0b0_00111_0010111000, 0b0_00111_0010111100, |
|
0b0_00111_0011000000, 0b0_00111_0011000100, 0b0_00111_0011001000, 0b0_00111_0011001100, 0b0_00111_0011010000, 0b0_00111_0011010100, 0b0_00111_0011011000, 0b0_00111_0011011100, 0b0_00111_0011100000, 0b0_00111_0011100100, 0b0_00111_0011101000, 0b0_00111_0011101100, 0b0_00111_0011110000, 0b0_00111_0011110100, 0b0_00111_0011111000, 0b0_00111_0011111100, |
|
0b0_00111_0100000000, 0b0_00111_0100000100, 0b0_00111_0100001000, 0b0_00111_0100001100, 0b0_00111_0100010000, 0b0_00111_0100010100, 0b0_00111_0100011000, 0b0_00111_0100011100, 0b0_00111_0100100000, 0b0_00111_0100100100, 0b0_00111_0100101000, 0b0_00111_0100101100, 0b0_00111_0100110000, 0b0_00111_0100110100, 0b0_00111_0100111000, 0b0_00111_0100111100, |
|
0b0_00111_0101000000, 0b0_00111_0101000100, 0b0_00111_0101001000, 0b0_00111_0101001100, 0b0_00111_0101010000, 0b0_00111_0101010100, 0b0_00111_0101011000, 0b0_00111_0101011100, 0b0_00111_0101100000, 0b0_00111_0101100100, 0b0_00111_0101101000, 0b0_00111_0101101100, 0b0_00111_0101110000, 0b0_00111_0101110100, 0b0_00111_0101111000, 0b0_00111_0101111100, |
|
0b0_00111_0110000000, 0b0_00111_0110000100, 0b0_00111_0110001000, 0b0_00111_0110001100, 0b0_00111_0110010000, 0b0_00111_0110010100, 0b0_00111_0110011000, 0b0_00111_0110011100, 0b0_00111_0110100000, 0b0_00111_0110100100, 0b0_00111_0110101000, 0b0_00111_0110101100, 0b0_00111_0110110000, 0b0_00111_0110110100, 0b0_00111_0110111000, 0b0_00111_0110111100, |
|
0b0_00111_0111000000, 0b0_00111_0111000100, 0b0_00111_0111001000, 0b0_00111_0111001100, 0b0_00111_0111010000, 0b0_00111_0111010100, 0b0_00111_0111011000, 0b0_00111_0111011100, 0b0_00111_0111100000, 0b0_00111_0111100100, 0b0_00111_0111101000, 0b0_00111_0111101100, 0b0_00111_0111110000, 0b0_00111_0111110100, 0b0_00111_0111111000, 0b0_00111_0111111100, |
|
0b0_00111_1000000000, 0b0_00111_1000000100, 0b0_00111_1000001000, 0b0_00111_1000001100, 0b0_00111_1000010000, 0b0_00111_1000010100, 0b0_00111_1000011000, 0b0_00111_1000011100, 0b0_00111_1000100000, 0b0_00111_1000100100, 0b0_00111_1000101000, 0b0_00111_1000101100, 0b0_00111_1000110000, 0b0_00111_1000110100, 0b0_00111_1000111000, 0b0_00111_1000111100, |
|
0b0_00111_1001000000, 0b0_00111_1001000100, 0b0_00111_1001001000, 0b0_00111_1001001100, 0b0_00111_1001010000, 0b0_00111_1001010100, 0b0_00111_1001011000, 0b0_00111_1001011100, 0b0_00111_1001100000, 0b0_00111_1001100100, 0b0_00111_1001101000, 0b0_00111_1001101100, 0b0_00111_1001110000, 0b0_00111_1001110100, 0b0_00111_1001111000, 0b0_00111_1001111100, |
|
0b0_00111_1010000000, 0b0_00111_1010000100, 0b0_00111_1010001000, 0b0_00111_1010001100, 0b0_00111_1010010000, 0b0_00111_1010010100, 0b0_00111_1010011000, 0b0_00111_1010011100, 0b0_00111_1010100000, 0b0_00111_1010100100, 0b0_00111_1010101000, 0b0_00111_1010101100, 0b0_00111_1010110000, 0b0_00111_1010110100, 0b0_00111_1010111000, 0b0_00111_1010111100, |
|
0b0_00111_1011000000, 0b0_00111_1011000100, 0b0_00111_1011001000, 0b0_00111_1011001100, 0b0_00111_1011010000, 0b0_00111_1011010100, 0b0_00111_1011011000, 0b0_00111_1011011100, 0b0_00111_1011100000, 0b0_00111_1011100100, 0b0_00111_1011101000, 0b0_00111_1011101100, 0b0_00111_1011110000, 0b0_00111_1011110100, 0b0_00111_1011111000, 0b0_00111_1011111100, |
|
0b0_00111_1100000000, 0b0_00111_1100000100, 0b0_00111_1100001000, 0b0_00111_1100001100, 0b0_00111_1100010000, 0b0_00111_1100010100, 0b0_00111_1100011000, 0b0_00111_1100011100, 0b0_00111_1100100000, 0b0_00111_1100100100, 0b0_00111_1100101000, 0b0_00111_1100101100, 0b0_00111_1100110000, 0b0_00111_1100110100, 0b0_00111_1100111000, 0b0_00111_1100111100, |
|
0b0_00111_1101000000, 0b0_00111_1101000100, 0b0_00111_1101001000, 0b0_00111_1101001100, 0b0_00111_1101010000, 0b0_00111_1101010100, 0b0_00111_1101011000, 0b0_00111_1101011100, 0b0_00111_1101100000, 0b0_00111_1101100100, 0b0_00111_1101101000, 0b0_00111_1101101100, 0b0_00111_1101110000, 0b0_00111_1101110100, 0b0_00111_1101111000, 0b0_00111_1101111100, |
|
0b0_00111_1110000000, 0b0_00111_1110000100, 0b0_00111_1110001000, 0b0_00111_1110001100, 0b0_00111_1110010000, 0b0_00111_1110010100, 0b0_00111_1110011000, 0b0_00111_1110011100, 0b0_00111_1110100000, 0b0_00111_1110100100, 0b0_00111_1110101000, 0b0_00111_1110101100, 0b0_00111_1110110000, 0b0_00111_1110110100, 0b0_00111_1110111000, 0b0_00111_1110111100, |
|
0b0_00111_1111000000, 0b0_00111_1111000100, 0b0_00111_1111001000, 0b0_00111_1111001100, 0b0_00111_1111010000, 0b0_00111_1111010100, 0b0_00111_1111011000, 0b0_00111_1111011100, 0b0_00111_1111100000, 0b0_00111_1111100100, 0b0_00111_1111101000, 0b0_00111_1111101100, 0b0_00111_1111110000, 0b0_00111_1111110100, 0b0_00111_1111111000, 0b0_00111_1111111100, |
|
0b0_01000_0000000000, 0b0_01000_0000000100, 0b0_01000_0000001000, 0b0_01000_0000001100, 0b0_01000_0000010000, 0b0_01000_0000010100, 0b0_01000_0000011000, 0b0_01000_0000011100, 0b0_01000_0000100000, 0b0_01000_0000100100, 0b0_01000_0000101000, 0b0_01000_0000101100, 0b0_01000_0000110000, 0b0_01000_0000110100, 0b0_01000_0000111000, 0b0_01000_0000111100, |
|
0b0_01000_0001000000, 0b0_01000_0001000100, 0b0_01000_0001001000, 0b0_01000_0001001100, 0b0_01000_0001010000, 0b0_01000_0001010100, 0b0_01000_0001011000, 0b0_01000_0001011100, 0b0_01000_0001100000, 0b0_01000_0001100100, 0b0_01000_0001101000, 0b0_01000_0001101100, 0b0_01000_0001110000, 0b0_01000_0001110100, 0b0_01000_0001111000, 0b0_01000_0001111100, |
|
0b0_01000_0010000000, 0b0_01000_0010000100, 0b0_01000_0010001000, 0b0_01000_0010001100, 0b0_01000_0010010000, 0b0_01000_0010010100, 0b0_01000_0010011000, 0b0_01000_0010011100, 0b0_01000_0010100000, 0b0_01000_0010100100, 0b0_01000_0010101000, 0b0_01000_0010101100, 0b0_01000_0010110000, 0b0_01000_0010110100, 0b0_01000_0010111000, 0b0_01000_0010111100, |
|
0b0_01000_0011000000, 0b0_01000_0011000100, 0b0_01000_0011001000, 0b0_01000_0011001100, 0b0_01000_0011010000, 0b0_01000_0011010100, 0b0_01000_0011011000, 0b0_01000_0011011100, 0b0_01000_0011100000, 0b0_01000_0011100100, 0b0_01000_0011101000, 0b0_01000_0011101100, 0b0_01000_0011110000, 0b0_01000_0011110100, 0b0_01000_0011111000, 0b0_01000_0011111100, |
|
0b0_01000_0100000000, 0b0_01000_0100000100, 0b0_01000_0100001000, 0b0_01000_0100001100, 0b0_01000_0100010000, 0b0_01000_0100010100, 0b0_01000_0100011000, 0b0_01000_0100011100, 0b0_01000_0100100000, 0b0_01000_0100100100, 0b0_01000_0100101000, 0b0_01000_0100101100, 0b0_01000_0100110000, 0b0_01000_0100110100, 0b0_01000_0100111000, 0b0_01000_0100111100, |
|
0b0_01000_0101000000, 0b0_01000_0101000100, 0b0_01000_0101001000, 0b0_01000_0101001100, 0b0_01000_0101010000, 0b0_01000_0101010100, 0b0_01000_0101011000, 0b0_01000_0101011100, 0b0_01000_0101100000, 0b0_01000_0101100100, 0b0_01000_0101101000, 0b0_01000_0101101100, 0b0_01000_0101110000, 0b0_01000_0101110100, 0b0_01000_0101111000, 0b0_01000_0101111100, |
|
0b0_01000_0110000000, 0b0_01000_0110000100, 0b0_01000_0110001000, 0b0_01000_0110001100, 0b0_01000_0110010000, 0b0_01000_0110010100, 0b0_01000_0110011000, 0b0_01000_0110011100, 0b0_01000_0110100000, 0b0_01000_0110100100, 0b0_01000_0110101000, 0b0_01000_0110101100, 0b0_01000_0110110000, 0b0_01000_0110110100, 0b0_01000_0110111000, 0b0_01000_0110111100, |
|
0b0_01000_0111000000, 0b0_01000_0111000100, 0b0_01000_0111001000, 0b0_01000_0111001100, 0b0_01000_0111010000, 0b0_01000_0111010100, 0b0_01000_0111011000, 0b0_01000_0111011100, 0b0_01000_0111100000, 0b0_01000_0111100100, 0b0_01000_0111101000, 0b0_01000_0111101100, 0b0_01000_0111110000, 0b0_01000_0111110100, 0b0_01000_0111111000, 0b0_01000_0111111100, |
|
0b0_01000_1000000000, 0b0_01000_1000000100, 0b0_01000_1000001000, 0b0_01000_1000001100, 0b0_01000_1000010000, 0b0_01000_1000010100, 0b0_01000_1000011000, 0b0_01000_1000011100, 0b0_01000_1000100000, 0b0_01000_1000100100, 0b0_01000_1000101000, 0b0_01000_1000101100, 0b0_01000_1000110000, 0b0_01000_1000110100, 0b0_01000_1000111000, 0b0_01000_1000111100, |
|
0b0_01000_1001000000, 0b0_01000_1001000100, 0b0_01000_1001001000, 0b0_01000_1001001100, 0b0_01000_1001010000, 0b0_01000_1001010100, 0b0_01000_1001011000, 0b0_01000_1001011100, 0b0_01000_1001100000, 0b0_01000_1001100100, 0b0_01000_1001101000, 0b0_01000_1001101100, 0b0_01000_1001110000, 0b0_01000_1001110100, 0b0_01000_1001111000, 0b0_01000_1001111100, |
|
0b0_01000_1010000000, 0b0_01000_1010000100, 0b0_01000_1010001000, 0b0_01000_1010001100, 0b0_01000_1010010000, 0b0_01000_1010010100, 0b0_01000_1010011000, 0b0_01000_1010011100, 0b0_01000_1010100000, 0b0_01000_1010100100, 0b0_01000_1010101000, 0b0_01000_1010101100, 0b0_01000_1010110000, 0b0_01000_1010110100, 0b0_01000_1010111000, 0b0_01000_1010111100, |
|
0b0_01000_1011000000, 0b0_01000_1011000100, 0b0_01000_1011001000, 0b0_01000_1011001100, 0b0_01000_1011010000, 0b0_01000_1011010100, 0b0_01000_1011011000, 0b0_01000_1011011100, 0b0_01000_1011100000, 0b0_01000_1011100100, 0b0_01000_1011101000, 0b0_01000_1011101100, 0b0_01000_1011110000, 0b0_01000_1011110100, 0b0_01000_1011111000, 0b0_01000_1011111100, |
|
0b0_01000_1100000000, 0b0_01000_1100000100, 0b0_01000_1100001000, 0b0_01000_1100001100, 0b0_01000_1100010000, 0b0_01000_1100010100, 0b0_01000_1100011000, 0b0_01000_1100011100, 0b0_01000_1100100000, 0b0_01000_1100100100, 0b0_01000_1100101000, 0b0_01000_1100101100, 0b0_01000_1100110000, 0b0_01000_1100110100, 0b0_01000_1100111000, 0b0_01000_1100111100, |
|
0b0_01000_1101000000, 0b0_01000_1101000100, 0b0_01000_1101001000, 0b0_01000_1101001100, 0b0_01000_1101010000, 0b0_01000_1101010100, 0b0_01000_1101011000, 0b0_01000_1101011100, 0b0_01000_1101100000, 0b0_01000_1101100100, 0b0_01000_1101101000, 0b0_01000_1101101100, 0b0_01000_1101110000, 0b0_01000_1101110100, 0b0_01000_1101111000, 0b0_01000_1101111100, |
|
0b0_01000_1110000000, 0b0_01000_1110000100, 0b0_01000_1110001000, 0b0_01000_1110001100, 0b0_01000_1110010000, 0b0_01000_1110010100, 0b0_01000_1110011000, 0b0_01000_1110011100, 0b0_01000_1110100000, 0b0_01000_1110100100, 0b0_01000_1110101000, 0b0_01000_1110101100, 0b0_01000_1110110000, 0b0_01000_1110110100, 0b0_01000_1110111000, 0b0_01000_1110111100, |
|
0b0_01000_1111000000, 0b0_01000_1111000100, 0b0_01000_1111001000, 0b0_01000_1111001100, 0b0_01000_1111010000, 0b0_01000_1111010100, 0b0_01000_1111011000, 0b0_01000_1111011100, 0b0_01000_1111100000, 0b0_01000_1111100100, 0b0_01000_1111101000, 0b0_01000_1111101100, 0b0_01000_1111110000, 0b0_01000_1111110100, 0b0_01000_1111111000, 0b0_01000_1111111100, |
|
0b0_01001_0000000000, 0b0_01001_0000000100, 0b0_01001_0000001000, 0b0_01001_0000001100, 0b0_01001_0000010000, 0b0_01001_0000010100, 0b0_01001_0000011000, 0b0_01001_0000011100, 0b0_01001_0000100000, 0b0_01001_0000100100, 0b0_01001_0000101000, 0b0_01001_0000101100, 0b0_01001_0000110000, 0b0_01001_0000110100, 0b0_01001_0000111000, 0b0_01001_0000111100, |
|
0b0_01001_0001000000, 0b0_01001_0001000100, 0b0_01001_0001001000, 0b0_01001_0001001100, 0b0_01001_0001010000, 0b0_01001_0001010100, 0b0_01001_0001011000, 0b0_01001_0001011100, 0b0_01001_0001100000, 0b0_01001_0001100100, 0b0_01001_0001101000, 0b0_01001_0001101100, 0b0_01001_0001110000, 0b0_01001_0001110100, 0b0_01001_0001111000, 0b0_01001_0001111100, |
|
0b0_01001_0010000000, 0b0_01001_0010000100, 0b0_01001_0010001000, 0b0_01001_0010001100, 0b0_01001_0010010000, 0b0_01001_0010010100, 0b0_01001_0010011000, 0b0_01001_0010011100, 0b0_01001_0010100000, 0b0_01001_0010100100, 0b0_01001_0010101000, 0b0_01001_0010101100, 0b0_01001_0010110000, 0b0_01001_0010110100, 0b0_01001_0010111000, 0b0_01001_0010111100, |
|
0b0_01001_0011000000, 0b0_01001_0011000100, 0b0_01001_0011001000, 0b0_01001_0011001100, 0b0_01001_0011010000, 0b0_01001_0011010100, 0b0_01001_0011011000, 0b0_01001_0011011100, 0b0_01001_0011100000, 0b0_01001_0011100100, 0b0_01001_0011101000, 0b0_01001_0011101100, 0b0_01001_0011110000, 0b0_01001_0011110100, 0b0_01001_0011111000, 0b0_01001_0011111100, |
|
0b0_01001_0100000000, 0b0_01001_0100000100, 0b0_01001_0100001000, 0b0_01001_0100001100, 0b0_01001_0100010000, 0b0_01001_0100010100, 0b0_01001_0100011000, 0b0_01001_0100011100, 0b0_01001_0100100000, 0b0_01001_0100100100, 0b0_01001_0100101000, 0b0_01001_0100101100, 0b0_01001_0100110000, 0b0_01001_0100110100, 0b0_01001_0100111000, 0b0_01001_0100111100, |
|
0b0_01001_0101000000, 0b0_01001_0101000100, 0b0_01001_0101001000, 0b0_01001_0101001100, 0b0_01001_0101010000, 0b0_01001_0101010100, 0b0_01001_0101011000, 0b0_01001_0101011100, 0b0_01001_0101100000, 0b0_01001_0101100100, 0b0_01001_0101101000, 0b0_01001_0101101100, 0b0_01001_0101110000, 0b0_01001_0101110100, 0b0_01001_0101111000, 0b0_01001_0101111100, |
|
0b0_01001_0110000000, 0b0_01001_0110000100, 0b0_01001_0110001000, 0b0_01001_0110001100, 0b0_01001_0110010000, 0b0_01001_0110010100, 0b0_01001_0110011000, 0b0_01001_0110011100, 0b0_01001_0110100000, 0b0_01001_0110100100, 0b0_01001_0110101000, 0b0_01001_0110101100, 0b0_01001_0110110000, 0b0_01001_0110110100, 0b0_01001_0110111000, 0b0_01001_0110111100, |
|
0b0_01001_0111000000, 0b0_01001_0111000100, 0b0_01001_0111001000, 0b0_01001_0111001100, 0b0_01001_0111010000, 0b0_01001_0111010100, 0b0_01001_0111011000, 0b0_01001_0111011100, 0b0_01001_0111100000, 0b0_01001_0111100100, 0b0_01001_0111101000, 0b0_01001_0111101100, 0b0_01001_0111110000, 0b0_01001_0111110100, 0b0_01001_0111111000, 0b0_01001_0111111100, |
|
0b0_01001_1000000000, 0b0_01001_1000000100, 0b0_01001_1000001000, 0b0_01001_1000001100, 0b0_01001_1000010000, 0b0_01001_1000010100, 0b0_01001_1000011000, 0b0_01001_1000011100, 0b0_01001_1000100000, 0b0_01001_1000100100, 0b0_01001_1000101000, 0b0_01001_1000101100, 0b0_01001_1000110000, 0b0_01001_1000110100, 0b0_01001_1000111000, 0b0_01001_1000111100, |
|
0b0_01001_1001000000, 0b0_01001_1001000100, 0b0_01001_1001001000, 0b0_01001_1001001100, 0b0_01001_1001010000, 0b0_01001_1001010100, 0b0_01001_1001011000, 0b0_01001_1001011100, 0b0_01001_1001100000, 0b0_01001_1001100100, 0b0_01001_1001101000, 0b0_01001_1001101100, 0b0_01001_1001110000, 0b0_01001_1001110100, 0b0_01001_1001111000, 0b0_01001_1001111100, |
|
0b0_01001_1010000000, 0b0_01001_1010000100, 0b0_01001_1010001000, 0b0_01001_1010001100, 0b0_01001_1010010000, 0b0_01001_1010010100, 0b0_01001_1010011000, 0b0_01001_1010011100, 0b0_01001_1010100000, 0b0_01001_1010100100, 0b0_01001_1010101000, 0b0_01001_1010101100, 0b0_01001_1010110000, 0b0_01001_1010110100, 0b0_01001_1010111000, 0b0_01001_1010111100, |
|
0b0_01001_1011000000, 0b0_01001_1011000100, 0b0_01001_1011001000, 0b0_01001_1011001100, 0b0_01001_1011010000, 0b0_01001_1011010100, 0b0_01001_1011011000, 0b0_01001_1011011100, 0b0_01001_1011100000, 0b0_01001_1011100100, 0b0_01001_1011101000, 0b0_01001_1011101100, 0b0_01001_1011110000, 0b0_01001_1011110100, 0b0_01001_1011111000, 0b0_01001_1011111100, |
|
0b0_01001_1100000000, 0b0_01001_1100000100, 0b0_01001_1100001000, 0b0_01001_1100001100, 0b0_01001_1100010000, 0b0_01001_1100010100, 0b0_01001_1100011000, 0b0_01001_1100011100, 0b0_01001_1100100000, 0b0_01001_1100100100, 0b0_01001_1100101000, 0b0_01001_1100101100, 0b0_01001_1100110000, 0b0_01001_1100110100, 0b0_01001_1100111000, 0b0_01001_1100111100, |
|
0b0_01001_1101000000, 0b0_01001_1101000100, 0b0_01001_1101001000, 0b0_01001_1101001100, 0b0_01001_1101010000, 0b0_01001_1101010100, 0b0_01001_1101011000, 0b0_01001_1101011100, 0b0_01001_1101100000, 0b0_01001_1101100100, 0b0_01001_1101101000, 0b0_01001_1101101100, 0b0_01001_1101110000, 0b0_01001_1101110100, 0b0_01001_1101111000, 0b0_01001_1101111100, |
|
0b0_01001_1110000000, 0b0_01001_1110000100, 0b0_01001_1110001000, 0b0_01001_1110001100, 0b0_01001_1110010000, 0b0_01001_1110010100, 0b0_01001_1110011000, 0b0_01001_1110011100, 0b0_01001_1110100000, 0b0_01001_1110100100, 0b0_01001_1110101000, 0b0_01001_1110101100, 0b0_01001_1110110000, 0b0_01001_1110110100, 0b0_01001_1110111000, 0b0_01001_1110111100, |
|
0b0_01001_1111000000, 0b0_01001_1111000100, 0b0_01001_1111001000, 0b0_01001_1111001100, 0b0_01001_1111010000, 0b0_01001_1111010100, 0b0_01001_1111011000, 0b0_01001_1111011100, 0b0_01001_1111100000, 0b0_01001_1111100100, 0b0_01001_1111101000, 0b0_01001_1111101100, 0b0_01001_1111110000, 0b0_01001_1111110100, 0b0_01001_1111111000, 0b0_01001_1111111100, |
|
0b0_01010_0000000000, 0b0_01010_0000000100, 0b0_01010_0000001000, 0b0_01010_0000001100, 0b0_01010_0000010000, 0b0_01010_0000010100, 0b0_01010_0000011000, 0b0_01010_0000011100, 0b0_01010_0000100000, 0b0_01010_0000100100, 0b0_01010_0000101000, 0b0_01010_0000101100, 0b0_01010_0000110000, 0b0_01010_0000110100, 0b0_01010_0000111000, 0b0_01010_0000111100, |
|
0b0_01010_0001000000, 0b0_01010_0001000100, 0b0_01010_0001001000, 0b0_01010_0001001100, 0b0_01010_0001010000, 0b0_01010_0001010100, 0b0_01010_0001011000, 0b0_01010_0001011100, 0b0_01010_0001100000, 0b0_01010_0001100100, 0b0_01010_0001101000, 0b0_01010_0001101100, 0b0_01010_0001110000, 0b0_01010_0001110100, 0b0_01010_0001111000, 0b0_01010_0001111100, |
|
0b0_01010_0010000000, 0b0_01010_0010000100, 0b0_01010_0010001000, 0b0_01010_0010001100, 0b0_01010_0010010000, 0b0_01010_0010010100, 0b0_01010_0010011000, 0b0_01010_0010011100, 0b0_01010_0010100000, 0b0_01010_0010100100, 0b0_01010_0010101000, 0b0_01010_0010101100, 0b0_01010_0010110000, 0b0_01010_0010110100, 0b0_01010_0010111000, 0b0_01010_0010111100, |
|
0b0_01010_0011000000, 0b0_01010_0011000100, 0b0_01010_0011001000, 0b0_01010_0011001100, 0b0_01010_0011010000, 0b0_01010_0011010100, 0b0_01010_0011011000, 0b0_01010_0011011100, 0b0_01010_0011100000, 0b0_01010_0011100100, 0b0_01010_0011101000, 0b0_01010_0011101100, 0b0_01010_0011110000, 0b0_01010_0011110100, 0b0_01010_0011111000, 0b0_01010_0011111100, |
|
0b0_01010_0100000000, 0b0_01010_0100000100, 0b0_01010_0100001000, 0b0_01010_0100001100, 0b0_01010_0100010000, 0b0_01010_0100010100, 0b0_01010_0100011000, 0b0_01010_0100011100, 0b0_01010_0100100000, 0b0_01010_0100100100, 0b0_01010_0100101000, 0b0_01010_0100101100, 0b0_01010_0100110000, 0b0_01010_0100110100, 0b0_01010_0100111000, 0b0_01010_0100111100, |
|
0b0_01010_0101000000, 0b0_01010_0101000100, 0b0_01010_0101001000, 0b0_01010_0101001100, 0b0_01010_0101010000, 0b0_01010_0101010100, 0b0_01010_0101011000, 0b0_01010_0101011100, 0b0_01010_0101100000, 0b0_01010_0101100100, 0b0_01010_0101101000, 0b0_01010_0101101100, 0b0_01010_0101110000, 0b0_01010_0101110100, 0b0_01010_0101111000, 0b0_01010_0101111100, |
|
0b0_01010_0110000000, 0b0_01010_0110000100, 0b0_01010_0110001000, 0b0_01010_0110001100, 0b0_01010_0110010000, 0b0_01010_0110010100, 0b0_01010_0110011000, 0b0_01010_0110011100, 0b0_01010_0110100000, 0b0_01010_0110100100, 0b0_01010_0110101000, 0b0_01010_0110101100, 0b0_01010_0110110000, 0b0_01010_0110110100, 0b0_01010_0110111000, 0b0_01010_0110111100, |
|
0b0_01010_0111000000, 0b0_01010_0111000100, 0b0_01010_0111001000, 0b0_01010_0111001100, 0b0_01010_0111010000, 0b0_01010_0111010100, 0b0_01010_0111011000, 0b0_01010_0111011100, 0b0_01010_0111100000, 0b0_01010_0111100100, 0b0_01010_0111101000, 0b0_01010_0111101100, 0b0_01010_0111110000, 0b0_01010_0111110100, 0b0_01010_0111111000, 0b0_01010_0111111100, |
|
0b0_01010_1000000000, 0b0_01010_1000000100, 0b0_01010_1000001000, 0b0_01010_1000001100, 0b0_01010_1000010000, 0b0_01010_1000010100, 0b0_01010_1000011000, 0b0_01010_1000011100, 0b0_01010_1000100000, 0b0_01010_1000100100, 0b0_01010_1000101000, 0b0_01010_1000101100, 0b0_01010_1000110000, 0b0_01010_1000110100, 0b0_01010_1000111000, 0b0_01010_1000111100, |
|
0b0_01010_1001000000, 0b0_01010_1001000100, 0b0_01010_1001001000, 0b0_01010_1001001100, 0b0_01010_1001010000, 0b0_01010_1001010100, 0b0_01010_1001011000, 0b0_01010_1001011100, 0b0_01010_1001100000, 0b0_01010_1001100100, 0b0_01010_1001101000, 0b0_01010_1001101100, 0b0_01010_1001110000, 0b0_01010_1001110100, 0b0_01010_1001111000, 0b0_01010_1001111100, |
|
0b0_01010_1010000000, 0b0_01010_1010000100, 0b0_01010_1010001000, 0b0_01010_1010001100, 0b0_01010_1010010000, 0b0_01010_1010010100, 0b0_01010_1010011000, 0b0_01010_1010011100, 0b0_01010_1010100000, 0b0_01010_1010100100, 0b0_01010_1010101000, 0b0_01010_1010101100, 0b0_01010_1010110000, 0b0_01010_1010110100, 0b0_01010_1010111000, 0b0_01010_1010111100, |
|
0b0_01010_1011000000, 0b0_01010_1011000100, 0b0_01010_1011001000, 0b0_01010_1011001100, 0b0_01010_1011010000, 0b0_01010_1011010100, 0b0_01010_1011011000, 0b0_01010_1011011100, 0b0_01010_1011100000, 0b0_01010_1011100100, 0b0_01010_1011101000, 0b0_01010_1011101100, 0b0_01010_1011110000, 0b0_01010_1011110100, 0b0_01010_1011111000, 0b0_01010_1011111100, |
|
0b0_01010_1100000000, 0b0_01010_1100000100, 0b0_01010_1100001000, 0b0_01010_1100001100, 0b0_01010_1100010000, 0b0_01010_1100010100, 0b0_01010_1100011000, 0b0_01010_1100011100, 0b0_01010_1100100000, 0b0_01010_1100100100, 0b0_01010_1100101000, 0b0_01010_1100101100, 0b0_01010_1100110000, 0b0_01010_1100110100, 0b0_01010_1100111000, 0b0_01010_1100111100, |
|
0b0_01010_1101000000, 0b0_01010_1101000100, 0b0_01010_1101001000, 0b0_01010_1101001100, 0b0_01010_1101010000, 0b0_01010_1101010100, 0b0_01010_1101011000, 0b0_01010_1101011100, 0b0_01010_1101100000, 0b0_01010_1101100100, 0b0_01010_1101101000, 0b0_01010_1101101100, 0b0_01010_1101110000, 0b0_01010_1101110100, 0b0_01010_1101111000, 0b0_01010_1101111100, |
|
0b0_01010_1110000000, 0b0_01010_1110000100, 0b0_01010_1110001000, 0b0_01010_1110001100, 0b0_01010_1110010000, 0b0_01010_1110010100, 0b0_01010_1110011000, 0b0_01010_1110011100, 0b0_01010_1110100000, 0b0_01010_1110100100, 0b0_01010_1110101000, 0b0_01010_1110101100, 0b0_01010_1110110000, 0b0_01010_1110110100, 0b0_01010_1110111000, 0b0_01010_1110111100, |
|
0b0_01010_1111000000, 0b0_01010_1111000100, 0b0_01010_1111001000, 0b0_01010_1111001100, 0b0_01010_1111010000, 0b0_01010_1111010100, 0b0_01010_1111011000, 0b0_01010_1111011100, 0b0_01010_1111100000, 0b0_01010_1111100100, 0b0_01010_1111101000, 0b0_01010_1111101100, 0b0_01010_1111110000, 0b0_01010_1111110100, 0b0_01010_1111111000, 0b0_01010_1111111100, |
|
0b0_00000_0000000000, 0b0_00001_0000000000, 0b0_00010_0000000000, 0b0_00011_0000000000, 0b0_01011_0000000000, 0b0_01100_0000000000, 0b0_01101_0000000000, 0b0_01110_0000000000, 0b0_00000_0000100000, 0b0_00001_0000100000, 0b0_00010_0000100000, 0b0_00011_0000100000, 0b0_01011_0000100000, 0b0_01100_0000100000, 0b0_01101_0000100000, 0b0_01110_0000100000, |
|
0b0_00000_0001000000, 0b0_00001_0001000000, 0b0_00010_0001000000, 0b0_00011_0001000000, 0b0_01011_0001000000, 0b0_01100_0001000000, 0b0_01101_0001000000, 0b0_01110_0001000000, 0b0_00000_0001100000, 0b0_00001_0001100000, 0b0_00010_0001100000, 0b0_00011_0001100000, 0b0_01011_0001100000, 0b0_01100_0001100000, 0b0_01101_0001100000, 0b0_01110_0001100000, |
|
0b0_00000_0010000000, 0b0_00001_0010000000, 0b0_00010_0010000000, 0b0_00011_0010000000, 0b0_01011_0010000000, 0b0_01100_0010000000, 0b0_01101_0010000000, 0b0_01110_0010000000, 0b0_00000_0010100000, 0b0_00001_0010100000, 0b0_00010_0010100000, 0b0_00011_0010100000, 0b0_01011_0010100000, 0b0_01100_0010100000, 0b0_01101_0010100000, 0b0_01110_0010100000, |
|
0b0_00000_0011000000, 0b0_00001_0011000000, 0b0_00010_0011000000, 0b0_00011_0011000000, 0b0_01011_0011000000, 0b0_01100_0011000000, 0b0_01101_0011000000, 0b0_01110_0011000000, 0b0_00000_0011100000, 0b0_00001_0011100000, 0b0_00010_0011100000, 0b0_00011_0011100000, 0b0_01011_0011100000, 0b0_01100_0011100000, 0b0_01101_0011100000, 0b0_01110_0011100000, |
|
0b0_00000_0100000000, 0b0_00001_0100000000, 0b0_00010_0100000000, 0b0_00011_0100000000, 0b0_01011_0100000000, 0b0_01100_0100000000, 0b0_01101_0100000000, 0b0_01110_0100000000, 0b0_00000_0100100000, 0b0_00001_0100100000, 0b0_00010_0100100000, 0b0_00011_0100100000, 0b0_01011_0100100000, 0b0_01100_0100100000, 0b0_01101_0100100000, 0b0_01110_0100100000, |
|
0b0_00000_0101000000, 0b0_00001_0101000000, 0b0_00010_0101000000, 0b0_00011_0101000000, 0b0_01011_0101000000, 0b0_01100_0101000000, 0b0_01101_0101000000, 0b0_01110_0101000000, 0b0_00000_0101100000, 0b0_00001_0101100000, 0b0_00010_0101100000, 0b0_00011_0101100000, 0b0_01011_0101100000, 0b0_01100_0101100000, 0b0_01101_0101100000, 0b0_01110_0101100000, |
|
0b0_00000_0110000000, 0b0_00001_0110000000, 0b0_00010_0110000000, 0b0_00011_0110000000, 0b0_01011_0110000000, 0b0_01100_0110000000, 0b0_01101_0110000000, 0b0_01110_0110000000, 0b0_00000_0110100000, 0b0_00001_0110100000, 0b0_00010_0110100000, 0b0_00011_0110100000, 0b0_01011_0110100000, 0b0_01100_0110100000, 0b0_01101_0110100000, 0b0_01110_0110100000, |
|
0b0_00000_0111000000, 0b0_00001_0111000000, 0b0_00010_0111000000, 0b0_00011_0111000000, 0b0_01011_0111000000, 0b0_01100_0111000000, 0b0_01101_0111000000, 0b0_01110_0111000000, 0b0_00000_0111100000, 0b0_00001_0111100000, 0b0_00010_0111100000, 0b0_00011_0111100000, 0b0_01011_0111100000, 0b0_01100_0111100000, 0b0_01101_0111100000, 0b0_01110_0111100000, |
|
0b0_00000_1000000000, 0b0_00001_1000000000, 0b0_00010_1000000000, 0b0_00011_1000000000, 0b0_01011_1000000000, 0b0_01100_1000000000, 0b0_01101_1000000000, 0b0_01110_1000000000, 0b0_00000_1000100000, 0b0_00001_1000100000, 0b0_00010_1000100000, 0b0_00011_1000100000, 0b0_01011_1000100000, 0b0_01100_1000100000, 0b0_01101_1000100000, 0b0_01110_1000100000, |
|
0b0_00000_1001000000, 0b0_00001_1001000000, 0b0_00010_1001000000, 0b0_00011_1001000000, 0b0_01011_1001000000, 0b0_01100_1001000000, 0b0_01101_1001000000, 0b0_01110_1001000000, 0b0_00000_1001100000, 0b0_00001_1001100000, 0b0_00010_1001100000, 0b0_00011_1001100000, 0b0_01011_1001100000, 0b0_01100_1001100000, 0b0_01101_1001100000, 0b0_01110_1001100000, |
|
0b0_00000_1010000000, 0b0_00001_1010000000, 0b0_00010_1010000000, 0b0_00011_1010000000, 0b0_01011_1010000000, 0b0_01100_1010000000, 0b0_01101_1010000000, 0b0_01110_1010000000, 0b0_00000_1010100000, 0b0_00001_1010100000, 0b0_00010_1010100000, 0b0_00011_1010100000, 0b0_01011_1010100000, 0b0_01100_1010100000, 0b0_01101_1010100000, 0b0_01110_1010100000, |
|
0b0_00000_1011000000, 0b0_00001_1011000000, 0b0_00010_1011000000, 0b0_00011_1011000000, 0b0_01011_1011000000, 0b0_01100_1011000000, 0b0_01101_1011000000, 0b0_01110_1011000000, 0b0_00000_1011100000, 0b0_00001_1011100000, 0b0_00010_1011100000, 0b0_00011_1011100000, 0b0_01011_1011100000, 0b0_01100_1011100000, 0b0_01101_1011100000, 0b0_01110_1011100000, |
|
0b0_00000_1100000000, 0b0_00001_1100000000, 0b0_00010_1100000000, 0b0_00011_1100000000, 0b0_01011_1100000000, 0b0_01100_1100000000, 0b0_01101_1100000000, 0b0_01110_1100000000, 0b0_00000_1100100000, 0b0_00001_1100100000, 0b0_00010_1100100000, 0b0_00011_1100100000, 0b0_01011_1100100000, 0b0_01100_1100100000, 0b0_01101_1100100000, 0b0_01110_1100100000, |
|
0b0_00000_1101000000, 0b0_00001_1101000000, 0b0_00010_1101000000, 0b0_00011_1101000000, 0b0_01011_1101000000, 0b0_01100_1101000000, 0b0_01101_1101000000, 0b0_01110_1101000000, 0b0_00000_1101100000, 0b0_00001_1101100000, 0b0_00010_1101100000, 0b0_00011_1101100000, 0b0_01011_1101100000, 0b0_01100_1101100000, 0b0_01101_1101100000, 0b0_01110_1101100000, |
|
0b0_00000_1110000000, 0b0_00001_1110000000, 0b0_00010_1110000000, 0b0_00011_1110000000, 0b0_01011_1110000000, 0b0_01100_1110000000, 0b0_01101_1110000000, 0b0_01110_1110000000, 0b0_00000_1110100000, 0b0_00001_1110100000, 0b0_00010_1110100000, 0b0_00011_1110100000, 0b0_01011_1110100000, 0b0_01100_1110100000, 0b0_01101_1110100000, 0b0_01110_1110100000, |
|
0b0_00000_1111000000, 0b0_00001_1111000000, 0b0_00010_1111000000, 0b0_00011_1111000000, 0b0_01011_1111000000, 0b0_01100_1111000000, 0b0_01101_1111000000, 0b0_01110_1111000000, 0b0_00000_1111100000, 0b0_00001_1111100000, 0b0_00010_1111100000, 0b0_00011_1111100000, 0b0_01011_1111100000, 0b0_01100_1111100000, 0b0_01101_1111100000, 0b0_01110_1111100000, |
|
0b0_00100_0000000000, 0b0_00100_0000000100, 0b0_00100_0000001000, 0b0_00100_0000001100, 0b0_00100_0000010000, 0b0_00100_0000010100, 0b0_00100_0000011000, 0b0_00100_0000011100, 0b0_00100_0000100000, 0b0_00100_0000100100, 0b0_00100_0000101000, 0b0_00100_0000101100, 0b0_00100_0000110000, 0b0_00100_0000110100, 0b0_00100_0000111000, 0b0_00100_0000111100, |
|
0b0_00100_0001000000, 0b0_00100_0001000100, 0b0_00100_0001001000, 0b0_00100_0001001100, 0b0_00100_0001010000, 0b0_00100_0001010100, 0b0_00100_0001011000, 0b0_00100_0001011100, 0b0_00100_0001100000, 0b0_00100_0001100100, 0b0_00100_0001101000, 0b0_00100_0001101100, 0b0_00100_0001110000, 0b0_00100_0001110100, 0b0_00100_0001111000, 0b0_00100_0001111100, |
|
0b0_00100_0010000000, 0b0_00100_0010000100, 0b0_00100_0010001000, 0b0_00100_0010001100, 0b0_00100_0010010000, 0b0_00100_0010010100, 0b0_00100_0010011000, 0b0_00100_0010011100, 0b0_00100_0010100000, 0b0_00100_0010100100, 0b0_00100_0010101000, 0b0_00100_0010101100, 0b0_00100_0010110000, 0b0_00100_0010110100, 0b0_00100_0010111000, 0b0_00100_0010111100, |
|
0b0_00100_0011000000, 0b0_00100_0011000100, 0b0_00100_0011001000, 0b0_00100_0011001100, 0b0_00100_0011010000, 0b0_00100_0011010100, 0b0_00100_0011011000, 0b0_00100_0011011100, 0b0_00100_0011100000, 0b0_00100_0011100100, 0b0_00100_0011101000, 0b0_00100_0011101100, 0b0_00100_0011110000, 0b0_00100_0011110100, 0b0_00100_0011111000, 0b0_00100_0011111100, |
|
0b0_00100_0100000000, 0b0_00100_0100000100, 0b0_00100_0100001000, 0b0_00100_0100001100, 0b0_00100_0100010000, 0b0_00100_0100010100, 0b0_00100_0100011000, 0b0_00100_0100011100, 0b0_00100_0100100000, 0b0_00100_0100100100, 0b0_00100_0100101000, 0b0_00100_0100101100, 0b0_00100_0100110000, 0b0_00100_0100110100, 0b0_00100_0100111000, 0b0_00100_0100111100, |
|
0b0_00100_0101000000, 0b0_00100_0101000100, 0b0_00100_0101001000, 0b0_00100_0101001100, 0b0_00100_0101010000, 0b0_00100_0101010100, 0b0_00100_0101011000, 0b0_00100_0101011100, 0b0_00100_0101100000, 0b0_00100_0101100100, 0b0_00100_0101101000, 0b0_00100_0101101100, 0b0_00100_0101110000, 0b0_00100_0101110100, 0b0_00100_0101111000, 0b0_00100_0101111100, |
|
0b0_00100_0110000000, 0b0_00100_0110000100, 0b0_00100_0110001000, 0b0_00100_0110001100, 0b0_00100_0110010000, 0b0_00100_0110010100, 0b0_00100_0110011000, 0b0_00100_0110011100, 0b0_00100_0110100000, 0b0_00100_0110100100, 0b0_00100_0110101000, 0b0_00100_0110101100, 0b0_00100_0110110000, 0b0_00100_0110110100, 0b0_00100_0110111000, 0b0_00100_0110111100, |
|
0b0_00100_0111000000, 0b0_00100_0111000100, 0b0_00100_0111001000, 0b0_00100_0111001100, 0b0_00100_0111010000, 0b0_00100_0111010100, 0b0_00100_0111011000, 0b0_00100_0111011100, 0b0_00100_0111100000, 0b0_00100_0111100100, 0b0_00100_0111101000, 0b0_00100_0111101100, 0b0_00100_0111110000, 0b0_00100_0111110100, 0b0_00100_0111111000, 0b0_00100_0111111100, |
|
0b0_00100_1000000000, 0b0_00100_1000000100, 0b0_00100_1000001000, 0b0_00100_1000001100, 0b0_00100_1000010000, 0b0_00100_1000010100, 0b0_00100_1000011000, 0b0_00100_1000011100, 0b0_00100_1000100000, 0b0_00100_1000100100, 0b0_00100_1000101000, 0b0_00100_1000101100, 0b0_00100_1000110000, 0b0_00100_1000110100, 0b0_00100_1000111000, 0b0_00100_1000111100, |
|
0b0_00100_1001000000, 0b0_00100_1001000100, 0b0_00100_1001001000, 0b0_00100_1001001100, 0b0_00100_1001010000, 0b0_00100_1001010100, 0b0_00100_1001011000, 0b0_00100_1001011100, 0b0_00100_1001100000, 0b0_00100_1001100100, 0b0_00100_1001101000, 0b0_00100_1001101100, 0b0_00100_1001110000, 0b0_00100_1001110100, 0b0_00100_1001111000, 0b0_00100_1001111100, |
|
0b0_00100_1010000000, 0b0_00100_1010000100, 0b0_00100_1010001000, 0b0_00100_1010001100, 0b0_00100_1010010000, 0b0_00100_1010010100, 0b0_00100_1010011000, 0b0_00100_1010011100, 0b0_00100_1010100000, 0b0_00100_1010100100, 0b0_00100_1010101000, 0b0_00100_1010101100, 0b0_00100_1010110000, 0b0_00100_1010110100, 0b0_00100_1010111000, 0b0_00100_1010111100, |
|
0b0_00100_1011000000, 0b0_00100_1011000100, 0b0_00100_1011001000, 0b0_00100_1011001100, 0b0_00100_1011010000, 0b0_00100_1011010100, 0b0_00100_1011011000, 0b0_00100_1011011100, 0b0_00100_1011100000, 0b0_00100_1011100100, 0b0_00100_1011101000, 0b0_00100_1011101100, 0b0_00100_1011110000, 0b0_00100_1011110100, 0b0_00100_1011111000, 0b0_00100_1011111100, |
|
0b0_00100_1100000000, 0b0_00100_1100000100, 0b0_00100_1100001000, 0b0_00100_1100001100, 0b0_00100_1100010000, 0b0_00100_1100010100, 0b0_00100_1100011000, 0b0_00100_1100011100, 0b0_00100_1100100000, 0b0_00100_1100100100, 0b0_00100_1100101000, 0b0_00100_1100101100, 0b0_00100_1100110000, 0b0_00100_1100110100, 0b0_00100_1100111000, 0b0_00100_1100111100, |
|
0b0_00100_1101000000, 0b0_00100_1101000100, 0b0_00100_1101001000, 0b0_00100_1101001100, 0b0_00100_1101010000, 0b0_00100_1101010100, 0b0_00100_1101011000, 0b0_00100_1101011100, 0b0_00100_1101100000, 0b0_00100_1101100100, 0b0_00100_1101101000, 0b0_00100_1101101100, 0b0_00100_1101110000, 0b0_00100_1101110100, 0b0_00100_1101111000, 0b0_00100_1101111100, |
|
0b0_00100_1110000000, 0b0_00100_1110000100, 0b0_00100_1110001000, 0b0_00100_1110001100, 0b0_00100_1110010000, 0b0_00100_1110010100, 0b0_00100_1110011000, 0b0_00100_1110011100, 0b0_00100_1110100000, 0b0_00100_1110100100, 0b0_00100_1110101000, 0b0_00100_1110101100, 0b0_00100_1110110000, 0b0_00100_1110110100, 0b0_00100_1110111000, 0b0_00100_1110111100, |
|
0b0_00100_1111000000, 0b0_00100_1111000100, 0b0_00100_1111001000, 0b0_00100_1111001100, 0b0_00100_1111010000, 0b0_00100_1111010100, 0b0_00100_1111011000, 0b0_00100_1111011100, 0b0_00100_1111100000, 0b0_00100_1111100100, 0b0_00100_1111101000, 0b0_00100_1111101100, 0b0_00100_1111110000, 0b0_00100_1111110100, 0b0_00100_1111111000, 0b0_00100_1111111100, |
|
0b0_00101_0000000000, 0b0_00101_0000000100, 0b0_00101_0000001000, 0b0_00101_0000001100, 0b0_00101_0000010000, 0b0_00101_0000010100, 0b0_00101_0000011000, 0b0_00101_0000011100, 0b0_00101_0000100000, 0b0_00101_0000100100, 0b0_00101_0000101000, 0b0_00101_0000101100, 0b0_00101_0000110000, 0b0_00101_0000110100, 0b0_00101_0000111000, 0b0_00101_0000111100, |
|
0b0_00101_0001000000, 0b0_00101_0001000100, 0b0_00101_0001001000, 0b0_00101_0001001100, 0b0_00101_0001010000, 0b0_00101_0001010100, 0b0_00101_0001011000, 0b0_00101_0001011100, 0b0_00101_0001100000, 0b0_00101_0001100100, 0b0_00101_0001101000, 0b0_00101_0001101100, 0b0_00101_0001110000, 0b0_00101_0001110100, 0b0_00101_0001111000, 0b0_00101_0001111100, |
|
0b0_00101_0010000000, 0b0_00101_0010000100, 0b0_00101_0010001000, 0b0_00101_0010001100, 0b0_00101_0010010000, 0b0_00101_0010010100, 0b0_00101_0010011000, 0b0_00101_0010011100, 0b0_00101_0010100000, 0b0_00101_0010100100, 0b0_00101_0010101000, 0b0_00101_0010101100, 0b0_00101_0010110000, 0b0_00101_0010110100, 0b0_00101_0010111000, 0b0_00101_0010111100, |
|
0b0_00101_0011000000, 0b0_00101_0011000100, 0b0_00101_0011001000, 0b0_00101_0011001100, 0b0_00101_0011010000, 0b0_00101_0011010100, 0b0_00101_0011011000, 0b0_00101_0011011100, 0b0_00101_0011100000, 0b0_00101_0011100100, 0b0_00101_0011101000, 0b0_00101_0011101100, 0b0_00101_0011110000, 0b0_00101_0011110100, 0b0_00101_0011111000, 0b0_00101_0011111100, |
|
0b0_00101_0100000000, 0b0_00101_0100000100, 0b0_00101_0100001000, 0b0_00101_0100001100, 0b0_00101_0100010000, 0b0_00101_0100010100, 0b0_00101_0100011000, 0b0_00101_0100011100, 0b0_00101_0100100000, 0b0_00101_0100100100, 0b0_00101_0100101000, 0b0_00101_0100101100, 0b0_00101_0100110000, 0b0_00101_0100110100, 0b0_00101_0100111000, 0b0_00101_0100111100, |
|
0b0_00101_0101000000, 0b0_00101_0101000100, 0b0_00101_0101001000, 0b0_00101_0101001100, 0b0_00101_0101010000, 0b0_00101_0101010100, 0b0_00101_0101011000, 0b0_00101_0101011100, 0b0_00101_0101100000, 0b0_00101_0101100100, 0b0_00101_0101101000, 0b0_00101_0101101100, 0b0_00101_0101110000, 0b0_00101_0101110100, 0b0_00101_0101111000, 0b0_00101_0101111100, |
|
0b0_00101_0110000000, 0b0_00101_0110000100, 0b0_00101_0110001000, 0b0_00101_0110001100, 0b0_00101_0110010000, 0b0_00101_0110010100, 0b0_00101_0110011000, 0b0_00101_0110011100, 0b0_00101_0110100000, 0b0_00101_0110100100, 0b0_00101_0110101000, 0b0_00101_0110101100, 0b0_00101_0110110000, 0b0_00101_0110110100, 0b0_00101_0110111000, 0b0_00101_0110111100, |
|
0b0_00101_0111000000, 0b0_00101_0111000100, 0b0_00101_0111001000, 0b0_00101_0111001100, 0b0_00101_0111010000, 0b0_00101_0111010100, 0b0_00101_0111011000, 0b0_00101_0111011100, 0b0_00101_0111100000, 0b0_00101_0111100100, 0b0_00101_0111101000, 0b0_00101_0111101100, 0b0_00101_0111110000, 0b0_00101_0111110100, 0b0_00101_0111111000, 0b0_00101_0111111100, |
|
0b0_00101_1000000000, 0b0_00101_1000000100, 0b0_00101_1000001000, 0b0_00101_1000001100, 0b0_00101_1000010000, 0b0_00101_1000010100, 0b0_00101_1000011000, 0b0_00101_1000011100, 0b0_00101_1000100000, 0b0_00101_1000100100, 0b0_00101_1000101000, 0b0_00101_1000101100, 0b0_00101_1000110000, 0b0_00101_1000110100, 0b0_00101_1000111000, 0b0_00101_1000111100, |
|
0b0_00101_1001000000, 0b0_00101_1001000100, 0b0_00101_1001001000, 0b0_00101_1001001100, 0b0_00101_1001010000, 0b0_00101_1001010100, 0b0_00101_1001011000, 0b0_00101_1001011100, 0b0_00101_1001100000, 0b0_00101_1001100100, 0b0_00101_1001101000, 0b0_00101_1001101100, 0b0_00101_1001110000, 0b0_00101_1001110100, 0b0_00101_1001111000, 0b0_00101_1001111100, |
|
0b0_00101_1010000000, 0b0_00101_1010000100, 0b0_00101_1010001000, 0b0_00101_1010001100, 0b0_00101_1010010000, 0b0_00101_1010010100, 0b0_00101_1010011000, 0b0_00101_1010011100, 0b0_00101_1010100000, 0b0_00101_1010100100, 0b0_00101_1010101000, 0b0_00101_1010101100, 0b0_00101_1010110000, 0b0_00101_1010110100, 0b0_00101_1010111000, 0b0_00101_1010111100, |
|
0b0_00101_1011000000, 0b0_00101_1011000100, 0b0_00101_1011001000, 0b0_00101_1011001100, 0b0_00101_1011010000, 0b0_00101_1011010100, 0b0_00101_1011011000, 0b0_00101_1011011100, 0b0_00101_1011100000, 0b0_00101_1011100100, 0b0_00101_1011101000, 0b0_00101_1011101100, 0b0_00101_1011110000, 0b0_00101_1011110100, 0b0_00101_1011111000, 0b0_00101_1011111100, |
|
0b0_00101_1100000000, 0b0_00101_1100000100, 0b0_00101_1100001000, 0b0_00101_1100001100, 0b0_00101_1100010000, 0b0_00101_1100010100, 0b0_00101_1100011000, 0b0_00101_1100011100, 0b0_00101_1100100000, 0b0_00101_1100100100, 0b0_00101_1100101000, 0b0_00101_1100101100, 0b0_00101_1100110000, 0b0_00101_1100110100, 0b0_00101_1100111000, 0b0_00101_1100111100, |
|
0b0_00101_1101000000, 0b0_00101_1101000100, 0b0_00101_1101001000, 0b0_00101_1101001100, 0b0_00101_1101010000, 0b0_00101_1101010100, 0b0_00101_1101011000, 0b0_00101_1101011100, 0b0_00101_1101100000, 0b0_00101_1101100100, 0b0_00101_1101101000, 0b0_00101_1101101100, 0b0_00101_1101110000, 0b0_00101_1101110100, 0b0_00101_1101111000, 0b0_00101_1101111100, |
|
0b0_00101_1110000000, 0b0_00101_1110000100, 0b0_00101_1110001000, 0b0_00101_1110001100, 0b0_00101_1110010000, 0b0_00101_1110010100, 0b0_00101_1110011000, 0b0_00101_1110011100, 0b0_00101_1110100000, 0b0_00101_1110100100, 0b0_00101_1110101000, 0b0_00101_1110101100, 0b0_00101_1110110000, 0b0_00101_1110110100, 0b0_00101_1110111000, 0b0_00101_1110111100, |
|
0b0_00101_1111000000, 0b0_00101_1111000100, 0b0_00101_1111001000, 0b0_00101_1111001100, 0b0_00101_1111010000, 0b0_00101_1111010100, 0b0_00101_1111011000, 0b0_00101_1111011100, 0b0_00101_1111100000, 0b0_00101_1111100100, 0b0_00101_1111101000, 0b0_00101_1111101100, 0b0_00101_1111110000, 0b0_00101_1111110100, 0b0_00101_1111111000, 0b0_00101_1111111100, |
|
0b0_00110_0000000000, 0b0_00110_0000000100, 0b0_00110_0000001000, 0b0_00110_0000001100, 0b0_00110_0000010000, 0b0_00110_0000010100, 0b0_00110_0000011000, 0b0_00110_0000011100, 0b0_00110_0000100000, 0b0_00110_0000100100, 0b0_00110_0000101000, 0b0_00110_0000101100, 0b0_00110_0000110000, 0b0_00110_0000110100, 0b0_00110_0000111000, 0b0_00110_0000111100, |
|
0b0_00110_0001000000, 0b0_00110_0001000100, 0b0_00110_0001001000, 0b0_00110_0001001100, 0b0_00110_0001010000, 0b0_00110_0001010100, 0b0_00110_0001011000, 0b0_00110_0001011100, 0b0_00110_0001100000, 0b0_00110_0001100100, 0b0_00110_0001101000, 0b0_00110_0001101100, 0b0_00110_0001110000, 0b0_00110_0001110100, 0b0_00110_0001111000, 0b0_00110_0001111100, |
|
0b0_00110_0010000000, 0b0_00110_0010000100, 0b0_00110_0010001000, 0b0_00110_0010001100, 0b0_00110_0010010000, 0b0_00110_0010010100, 0b0_00110_0010011000, 0b0_00110_0010011100, 0b0_00110_0010100000, 0b0_00110_0010100100, 0b0_00110_0010101000, 0b0_00110_0010101100, 0b0_00110_0010110000, 0b0_00110_0010110100, 0b0_00110_0010111000, 0b0_00110_0010111100, |
|
0b0_00110_0011000000, 0b0_00110_0011000100, 0b0_00110_0011001000, 0b0_00110_0011001100, 0b0_00110_0011010000, 0b0_00110_0011010100, 0b0_00110_0011011000, 0b0_00110_0011011100, 0b0_00110_0011100000, 0b0_00110_0011100100, 0b0_00110_0011101000, 0b0_00110_0011101100, 0b0_00110_0011110000, 0b0_00110_0011110100, 0b0_00110_0011111000, 0b0_00110_0011111100, |
|
0b0_00110_0100000000, 0b0_00110_0100000100, 0b0_00110_0100001000, 0b0_00110_0100001100, 0b0_00110_0100010000, 0b0_00110_0100010100, 0b0_00110_0100011000, 0b0_00110_0100011100, 0b0_00110_0100100000, 0b0_00110_0100100100, 0b0_00110_0100101000, 0b0_00110_0100101100, 0b0_00110_0100110000, 0b0_00110_0100110100, 0b0_00110_0100111000, 0b0_00110_0100111100, |
|
0b0_00110_0101000000, 0b0_00110_0101000100, 0b0_00110_0101001000, 0b0_00110_0101001100, 0b0_00110_0101010000, 0b0_00110_0101010100, 0b0_00110_0101011000, 0b0_00110_0101011100, 0b0_00110_0101100000, 0b0_00110_0101100100, 0b0_00110_0101101000, 0b0_00110_0101101100, 0b0_00110_0101110000, 0b0_00110_0101110100, 0b0_00110_0101111000, 0b0_00110_0101111100, |
|
0b0_00110_0110000000, 0b0_00110_0110000100, 0b0_00110_0110001000, 0b0_00110_0110001100, 0b0_00110_0110010000, 0b0_00110_0110010100, 0b0_00110_0110011000, 0b0_00110_0110011100, 0b0_00110_0110100000, 0b0_00110_0110100100, 0b0_00110_0110101000, 0b0_00110_0110101100, 0b0_00110_0110110000, 0b0_00110_0110110100, 0b0_00110_0110111000, 0b0_00110_0110111100, |
|
0b0_00110_0111000000, 0b0_00110_0111000100, 0b0_00110_0111001000, 0b0_00110_0111001100, 0b0_00110_0111010000, 0b0_00110_0111010100, 0b0_00110_0111011000, 0b0_00110_0111011100, 0b0_00110_0111100000, 0b0_00110_0111100100, 0b0_00110_0111101000, 0b0_00110_0111101100, 0b0_00110_0111110000, 0b0_00110_0111110100, 0b0_00110_0111111000, 0b0_00110_0111111100, |
|
0b0_00110_1000000000, 0b0_00110_1000000100, 0b0_00110_1000001000, 0b0_00110_1000001100, 0b0_00110_1000010000, 0b0_00110_1000010100, 0b0_00110_1000011000, 0b0_00110_1000011100, 0b0_00110_1000100000, 0b0_00110_1000100100, 0b0_00110_1000101000, 0b0_00110_1000101100, 0b0_00110_1000110000, 0b0_00110_1000110100, 0b0_00110_1000111000, 0b0_00110_1000111100, |
|
0b0_00110_1001000000, 0b0_00110_1001000100, 0b0_00110_1001001000, 0b0_00110_1001001100, 0b0_00110_1001010000, 0b0_00110_1001010100, 0b0_00110_1001011000, 0b0_00110_1001011100, 0b0_00110_1001100000, 0b0_00110_1001100100, 0b0_00110_1001101000, 0b0_00110_1001101100, 0b0_00110_1001110000, 0b0_00110_1001110100, 0b0_00110_1001111000, 0b0_00110_1001111100, |
|
0b0_00110_1010000000, 0b0_00110_1010000100, 0b0_00110_1010001000, 0b0_00110_1010001100, 0b0_00110_1010010000, 0b0_00110_1010010100, 0b0_00110_1010011000, 0b0_00110_1010011100, 0b0_00110_1010100000, 0b0_00110_1010100100, 0b0_00110_1010101000, 0b0_00110_1010101100, 0b0_00110_1010110000, 0b0_00110_1010110100, 0b0_00110_1010111000, 0b0_00110_1010111100, |
|
0b0_00110_1011000000, 0b0_00110_1011000100, 0b0_00110_1011001000, 0b0_00110_1011001100, 0b0_00110_1011010000, 0b0_00110_1011010100, 0b0_00110_1011011000, 0b0_00110_1011011100, 0b0_00110_1011100000, 0b0_00110_1011100100, 0b0_00110_1011101000, 0b0_00110_1011101100, 0b0_00110_1011110000, 0b0_00110_1011110100, 0b0_00110_1011111000, 0b0_00110_1011111100, |
|
0b0_00110_1100000000, 0b0_00110_1100000100, 0b0_00110_1100001000, 0b0_00110_1100001100, 0b0_00110_1100010000, 0b0_00110_1100010100, 0b0_00110_1100011000, 0b0_00110_1100011100, 0b0_00110_1100100000, 0b0_00110_1100100100, 0b0_00110_1100101000, 0b0_00110_1100101100, 0b0_00110_1100110000, 0b0_00110_1100110100, 0b0_00110_1100111000, 0b0_00110_1100111100, |
|
0b0_00110_1101000000, 0b0_00110_1101000100, 0b0_00110_1101001000, 0b0_00110_1101001100, 0b0_00110_1101010000, 0b0_00110_1101010100, 0b0_00110_1101011000, 0b0_00110_1101011100, 0b0_00110_1101100000, 0b0_00110_1101100100, 0b0_00110_1101101000, 0b0_00110_1101101100, 0b0_00110_1101110000, 0b0_00110_1101110100, 0b0_00110_1101111000, 0b0_00110_1101111100, |
|
0b0_00110_1110000000, 0b0_00110_1110000100, 0b0_00110_1110001000, 0b0_00110_1110001100, 0b0_00110_1110010000, 0b0_00110_1110010100, 0b0_00110_1110011000, 0b0_00110_1110011100, 0b0_00110_1110100000, 0b0_00110_1110100100, 0b0_00110_1110101000, 0b0_00110_1110101100, 0b0_00110_1110110000, 0b0_00110_1110110100, 0b0_00110_1110111000, 0b0_00110_1110111100, |
|
0b0_00110_1111000000, 0b0_00110_1111000100, 0b0_00110_1111001000, 0b0_00110_1111001100, 0b0_00110_1111010000, 0b0_00110_1111010100, 0b0_00110_1111011000, 0b0_00110_1111011100, 0b0_00110_1111100000, 0b0_00110_1111100100, 0b0_00110_1111101000, 0b0_00110_1111101100, 0b0_00110_1111110000, 0b0_00110_1111110100, 0b0_00110_1111111000, 0b0_00110_1111111100, |
|
0b0_00111_0000000000, 0b0_00111_0000000100, 0b0_00111_0000001000, 0b0_00111_0000001100, 0b0_00111_0000010000, 0b0_00111_0000010100, 0b0_00111_0000011000, 0b0_00111_0000011100, 0b0_00111_0000100000, 0b0_00111_0000100100, 0b0_00111_0000101000, 0b0_00111_0000101100, 0b0_00111_0000110000, 0b0_00111_0000110100, 0b0_00111_0000111000, 0b0_00111_0000111100, |
|
0b0_00111_0001000000, 0b0_00111_0001000100, 0b0_00111_0001001000, 0b0_00111_0001001100, 0b0_00111_0001010000, 0b0_00111_0001010100, 0b0_00111_0001011000, 0b0_00111_0001011100, 0b0_00111_0001100000, 0b0_00111_0001100100, 0b0_00111_0001101000, 0b0_00111_0001101100, 0b0_00111_0001110000, 0b0_00111_0001110100, 0b0_00111_0001111000, 0b0_00111_0001111100, |
|
0b0_00111_0010000000, 0b0_00111_0010000100, 0b0_00111_0010001000, 0b0_00111_0010001100, 0b0_00111_0010010000, 0b0_00111_0010010100, 0b0_00111_0010011000, 0b0_00111_0010011100, 0b0_00111_0010100000, 0b0_00111_0010100100, 0b0_00111_0010101000, 0b0_00111_0010101100, 0b0_00111_0010110000, 0b0_00111_0010110100, 0b0_00111_0010111000, 0b0_00111_0010111100, |
|
0b0_00111_0011000000, 0b0_00111_0011000100, 0b0_00111_0011001000, 0b0_00111_0011001100, 0b0_00111_0011010000, 0b0_00111_0011010100, 0b0_00111_0011011000, 0b0_00111_0011011100, 0b0_00111_0011100000, 0b0_00111_0011100100, 0b0_00111_0011101000, 0b0_00111_0011101100, 0b0_00111_0011110000, 0b0_00111_0011110100, 0b0_00111_0011111000, 0b0_00111_0011111100, |
|
0b0_00111_0100000000, 0b0_00111_0100000100, 0b0_00111_0100001000, 0b0_00111_0100001100, 0b0_00111_0100010000, 0b0_00111_0100010100, 0b0_00111_0100011000, 0b0_00111_0100011100, 0b0_00111_0100100000, 0b0_00111_0100100100, 0b0_00111_0100101000, 0b0_00111_0100101100, 0b0_00111_0100110000, 0b0_00111_0100110100, 0b0_00111_0100111000, 0b0_00111_0100111100, |
|
0b0_00111_0101000000, 0b0_00111_0101000100, 0b0_00111_0101001000, 0b0_00111_0101001100, 0b0_00111_0101010000, 0b0_00111_0101010100, 0b0_00111_0101011000, 0b0_00111_0101011100, 0b0_00111_0101100000, 0b0_00111_0101100100, 0b0_00111_0101101000, 0b0_00111_0101101100, 0b0_00111_0101110000, 0b0_00111_0101110100, 0b0_00111_0101111000, 0b0_00111_0101111100, |
|
0b0_00111_0110000000, 0b0_00111_0110000100, 0b0_00111_0110001000, 0b0_00111_0110001100, 0b0_00111_0110010000, 0b0_00111_0110010100, 0b0_00111_0110011000, 0b0_00111_0110011100, 0b0_00111_0110100000, 0b0_00111_0110100100, 0b0_00111_0110101000, 0b0_00111_0110101100, 0b0_00111_0110110000, 0b0_00111_0110110100, 0b0_00111_0110111000, 0b0_00111_0110111100, |
|
0b0_00111_0111000000, 0b0_00111_0111000100, 0b0_00111_0111001000, 0b0_00111_0111001100, 0b0_00111_0111010000, 0b0_00111_0111010100, 0b0_00111_0111011000, 0b0_00111_0111011100, 0b0_00111_0111100000, 0b0_00111_0111100100, 0b0_00111_0111101000, 0b0_00111_0111101100, 0b0_00111_0111110000, 0b0_00111_0111110100, 0b0_00111_0111111000, 0b0_00111_0111111100, |
|
0b0_00111_1000000000, 0b0_00111_1000000100, 0b0_00111_1000001000, 0b0_00111_1000001100, 0b0_00111_1000010000, 0b0_00111_1000010100, 0b0_00111_1000011000, 0b0_00111_1000011100, 0b0_00111_1000100000, 0b0_00111_1000100100, 0b0_00111_1000101000, 0b0_00111_1000101100, 0b0_00111_1000110000, 0b0_00111_1000110100, 0b0_00111_1000111000, 0b0_00111_1000111100, |
|
0b0_00111_1001000000, 0b0_00111_1001000100, 0b0_00111_1001001000, 0b0_00111_1001001100, 0b0_00111_1001010000, 0b0_00111_1001010100, 0b0_00111_1001011000, 0b0_00111_1001011100, 0b0_00111_1001100000, 0b0_00111_1001100100, 0b0_00111_1001101000, 0b0_00111_1001101100, 0b0_00111_1001110000, 0b0_00111_1001110100, 0b0_00111_1001111000, 0b0_00111_1001111100, |
|
0b0_00111_1010000000, 0b0_00111_1010000100, 0b0_00111_1010001000, 0b0_00111_1010001100, 0b0_00111_1010010000, 0b0_00111_1010010100, 0b0_00111_1010011000, 0b0_00111_1010011100, 0b0_00111_1010100000, 0b0_00111_1010100100, 0b0_00111_1010101000, 0b0_00111_1010101100, 0b0_00111_1010110000, 0b0_00111_1010110100, 0b0_00111_1010111000, 0b0_00111_1010111100, |
|
0b0_00111_1011000000, 0b0_00111_1011000100, 0b0_00111_1011001000, 0b0_00111_1011001100, 0b0_00111_1011010000, 0b0_00111_1011010100, 0b0_00111_1011011000, 0b0_00111_1011011100, 0b0_00111_1011100000, 0b0_00111_1011100100, 0b0_00111_1011101000, 0b0_00111_1011101100, 0b0_00111_1011110000, 0b0_00111_1011110100, 0b0_00111_1011111000, 0b0_00111_1011111100, |
|
0b0_00111_1100000000, 0b0_00111_1100000100, 0b0_00111_1100001000, 0b0_00111_1100001100, 0b0_00111_1100010000, 0b0_00111_1100010100, 0b0_00111_1100011000, 0b0_00111_1100011100, 0b0_00111_1100100000, 0b0_00111_1100100100, 0b0_00111_1100101000, 0b0_00111_1100101100, 0b0_00111_1100110000, 0b0_00111_1100110100, 0b0_00111_1100111000, 0b0_00111_1100111100, |
|
0b0_00111_1101000000, 0b0_00111_1101000100, 0b0_00111_1101001000, 0b0_00111_1101001100, 0b0_00111_1101010000, 0b0_00111_1101010100, 0b0_00111_1101011000, 0b0_00111_1101011100, 0b0_00111_1101100000, 0b0_00111_1101100100, 0b0_00111_1101101000, 0b0_00111_1101101100, 0b0_00111_1101110000, 0b0_00111_1101110100, 0b0_00111_1101111000, 0b0_00111_1101111100, |
|
0b0_00111_1110000000, 0b0_00111_1110000100, 0b0_00111_1110001000, 0b0_00111_1110001100, 0b0_00111_1110010000, 0b0_00111_1110010100, 0b0_00111_1110011000, 0b0_00111_1110011100, 0b0_00111_1110100000, 0b0_00111_1110100100, 0b0_00111_1110101000, 0b0_00111_1110101100, 0b0_00111_1110110000, 0b0_00111_1110110100, 0b0_00111_1110111000, 0b0_00111_1110111100, |
|
0b0_00111_1111000000, 0b0_00111_1111000100, 0b0_00111_1111001000, 0b0_00111_1111001100, 0b0_00111_1111010000, 0b0_00111_1111010100, 0b0_00111_1111011000, 0b0_00111_1111011100, 0b0_00111_1111100000, 0b0_00111_1111100100, 0b0_00111_1111101000, 0b0_00111_1111101100, 0b0_00111_1111110000, 0b0_00111_1111110100, 0b0_00111_1111111000, 0b0_00111_1111111100, |
|
0b0_01000_0000000000, 0b0_01000_0000000100, 0b0_01000_0000001000, 0b0_01000_0000001100, 0b0_01000_0000010000, 0b0_01000_0000010100, 0b0_01000_0000011000, 0b0_01000_0000011100, 0b0_01000_0000100000, 0b0_01000_0000100100, 0b0_01000_0000101000, 0b0_01000_0000101100, 0b0_01000_0000110000, 0b0_01000_0000110100, 0b0_01000_0000111000, 0b0_01000_0000111100, |
|
0b0_01000_0001000000, 0b0_01000_0001000100, 0b0_01000_0001001000, 0b0_01000_0001001100, 0b0_01000_0001010000, 0b0_01000_0001010100, 0b0_01000_0001011000, 0b0_01000_0001011100, 0b0_01000_0001100000, 0b0_01000_0001100100, 0b0_01000_0001101000, 0b0_01000_0001101100, 0b0_01000_0001110000, 0b0_01000_0001110100, 0b0_01000_0001111000, 0b0_01000_0001111100, |
|
0b0_01000_0010000000, 0b0_01000_0010000100, 0b0_01000_0010001000, 0b0_01000_0010001100, 0b0_01000_0010010000, 0b0_01000_0010010100, 0b0_01000_0010011000, 0b0_01000_0010011100, 0b0_01000_0010100000, 0b0_01000_0010100100, 0b0_01000_0010101000, 0b0_01000_0010101100, 0b0_01000_0010110000, 0b0_01000_0010110100, 0b0_01000_0010111000, 0b0_01000_0010111100, |
|
0b0_01000_0011000000, 0b0_01000_0011000100, 0b0_01000_0011001000, 0b0_01000_0011001100, 0b0_01000_0011010000, 0b0_01000_0011010100, 0b0_01000_0011011000, 0b0_01000_0011011100, 0b0_01000_0011100000, 0b0_01000_0011100100, 0b0_01000_0011101000, 0b0_01000_0011101100, 0b0_01000_0011110000, 0b0_01000_0011110100, 0b0_01000_0011111000, 0b0_01000_0011111100, |
|
0b0_01000_0100000000, 0b0_01000_0100000100, 0b0_01000_0100001000, 0b0_01000_0100001100, 0b0_01000_0100010000, 0b0_01000_0100010100, 0b0_01000_0100011000, 0b0_01000_0100011100, 0b0_01000_0100100000, 0b0_01000_0100100100, 0b0_01000_0100101000, 0b0_01000_0100101100, 0b0_01000_0100110000, 0b0_01000_0100110100, 0b0_01000_0100111000, 0b0_01000_0100111100, |
|
0b0_01000_0101000000, 0b0_01000_0101000100, 0b0_01000_0101001000, 0b0_01000_0101001100, 0b0_01000_0101010000, 0b0_01000_0101010100, 0b0_01000_0101011000, 0b0_01000_0101011100, 0b0_01000_0101100000, 0b0_01000_0101100100, 0b0_01000_0101101000, 0b0_01000_0101101100, 0b0_01000_0101110000, 0b0_01000_0101110100, 0b0_01000_0101111000, 0b0_01000_0101111100, |
|
0b0_01000_0110000000, 0b0_01000_0110000100, 0b0_01000_0110001000, 0b0_01000_0110001100, 0b0_01000_0110010000, 0b0_01000_0110010100, 0b0_01000_0110011000, 0b0_01000_0110011100, 0b0_01000_0110100000, 0b0_01000_0110100100, 0b0_01000_0110101000, 0b0_01000_0110101100, 0b0_01000_0110110000, 0b0_01000_0110110100, 0b0_01000_0110111000, 0b0_01000_0110111100, |
|
0b0_01000_0111000000, 0b0_01000_0111000100, 0b0_01000_0111001000, 0b0_01000_0111001100, 0b0_01000_0111010000, 0b0_01000_0111010100, 0b0_01000_0111011000, 0b0_01000_0111011100, 0b0_01000_0111100000, 0b0_01000_0111100100, 0b0_01000_0111101000, 0b0_01000_0111101100, 0b0_01000_0111110000, 0b0_01000_0111110100, 0b0_01000_0111111000, 0b0_01000_0111111100, |
|
0b0_01000_1000000000, 0b0_01000_1000000100, 0b0_01000_1000001000, 0b0_01000_1000001100, 0b0_01000_1000010000, 0b0_01000_1000010100, 0b0_01000_1000011000, 0b0_01000_1000011100, 0b0_01000_1000100000, 0b0_01000_1000100100, 0b0_01000_1000101000, 0b0_01000_1000101100, 0b0_01000_1000110000, 0b0_01000_1000110100, 0b0_01000_1000111000, 0b0_01000_1000111100, |
|
0b0_01000_1001000000, 0b0_01000_1001000100, 0b0_01000_1001001000, 0b0_01000_1001001100, 0b0_01000_1001010000, 0b0_01000_1001010100, 0b0_01000_1001011000, 0b0_01000_1001011100, 0b0_01000_1001100000, 0b0_01000_1001100100, 0b0_01000_1001101000, 0b0_01000_1001101100, 0b0_01000_1001110000, 0b0_01000_1001110100, 0b0_01000_1001111000, 0b0_01000_1001111100, |
|
0b0_01000_1010000000, 0b0_01000_1010000100, 0b0_01000_1010001000, 0b0_01000_1010001100, 0b0_01000_1010010000, 0b0_01000_1010010100, 0b0_01000_1010011000, 0b0_01000_1010011100, 0b0_01000_1010100000, 0b0_01000_1010100100, 0b0_01000_1010101000, 0b0_01000_1010101100, 0b0_01000_1010110000, 0b0_01000_1010110100, 0b0_01000_1010111000, 0b0_01000_1010111100, |
|
0b0_01000_1011000000, 0b0_01000_1011000100, 0b0_01000_1011001000, 0b0_01000_1011001100, 0b0_01000_1011010000, 0b0_01000_1011010100, 0b0_01000_1011011000, 0b0_01000_1011011100, 0b0_01000_1011100000, 0b0_01000_1011100100, 0b0_01000_1011101000, 0b0_01000_1011101100, 0b0_01000_1011110000, 0b0_01000_1011110100, 0b0_01000_1011111000, 0b0_01000_1011111100, |
|
0b0_01000_1100000000, 0b0_01000_1100000100, 0b0_01000_1100001000, 0b0_01000_1100001100, 0b0_01000_1100010000, 0b0_01000_1100010100, 0b0_01000_1100011000, 0b0_01000_1100011100, 0b0_01000_1100100000, 0b0_01000_1100100100, 0b0_01000_1100101000, 0b0_01000_1100101100, 0b0_01000_1100110000, 0b0_01000_1100110100, 0b0_01000_1100111000, 0b0_01000_1100111100, |
|
0b0_01000_1101000000, 0b0_01000_1101000100, 0b0_01000_1101001000, 0b0_01000_1101001100, 0b0_01000_1101010000, 0b0_01000_1101010100, 0b0_01000_1101011000, 0b0_01000_1101011100, 0b0_01000_1101100000, 0b0_01000_1101100100, 0b0_01000_1101101000, 0b0_01000_1101101100, 0b0_01000_1101110000, 0b0_01000_1101110100, 0b0_01000_1101111000, 0b0_01000_1101111100, |
|
0b0_01000_1110000000, 0b0_01000_1110000100, 0b0_01000_1110001000, 0b0_01000_1110001100, 0b0_01000_1110010000, 0b0_01000_1110010100, 0b0_01000_1110011000, 0b0_01000_1110011100, 0b0_01000_1110100000, 0b0_01000_1110100100, 0b0_01000_1110101000, 0b0_01000_1110101100, 0b0_01000_1110110000, 0b0_01000_1110110100, 0b0_01000_1110111000, 0b0_01000_1110111100, |
|
0b0_01000_1111000000, 0b0_01000_1111000100, 0b0_01000_1111001000, 0b0_01000_1111001100, 0b0_01000_1111010000, 0b0_01000_1111010100, 0b0_01000_1111011000, 0b0_01000_1111011100, 0b0_01000_1111100000, 0b0_01000_1111100100, 0b0_01000_1111101000, 0b0_01000_1111101100, 0b0_01000_1111110000, 0b0_01000_1111110100, 0b0_01000_1111111000, 0b0_01000_1111111100, |
|
0b0_01001_0000000000, 0b0_01001_0000000100, 0b0_01001_0000001000, 0b0_01001_0000001100, 0b0_01001_0000010000, 0b0_01001_0000010100, 0b0_01001_0000011000, 0b0_01001_0000011100, 0b0_01001_0000100000, 0b0_01001_0000100100, 0b0_01001_0000101000, 0b0_01001_0000101100, 0b0_01001_0000110000, 0b0_01001_0000110100, 0b0_01001_0000111000, 0b0_01001_0000111100, |
|
0b0_01001_0001000000, 0b0_01001_0001000100, 0b0_01001_0001001000, 0b0_01001_0001001100, 0b0_01001_0001010000, 0b0_01001_0001010100, 0b0_01001_0001011000, 0b0_01001_0001011100, 0b0_01001_0001100000, 0b0_01001_0001100100, 0b0_01001_0001101000, 0b0_01001_0001101100, 0b0_01001_0001110000, 0b0_01001_0001110100, 0b0_01001_0001111000, 0b0_01001_0001111100, |
|
0b0_01001_0010000000, 0b0_01001_0010000100, 0b0_01001_0010001000, 0b0_01001_0010001100, 0b0_01001_0010010000, 0b0_01001_0010010100, 0b0_01001_0010011000, 0b0_01001_0010011100, 0b0_01001_0010100000, 0b0_01001_0010100100, 0b0_01001_0010101000, 0b0_01001_0010101100, 0b0_01001_0010110000, 0b0_01001_0010110100, 0b0_01001_0010111000, 0b0_01001_0010111100, |
|
0b0_01001_0011000000, 0b0_01001_0011000100, 0b0_01001_0011001000, 0b0_01001_0011001100, 0b0_01001_0011010000, 0b0_01001_0011010100, 0b0_01001_0011011000, 0b0_01001_0011011100, 0b0_01001_0011100000, 0b0_01001_0011100100, 0b0_01001_0011101000, 0b0_01001_0011101100, 0b0_01001_0011110000, 0b0_01001_0011110100, 0b0_01001_0011111000, 0b0_01001_0011111100, |
|
0b0_01001_0100000000, 0b0_01001_0100000100, 0b0_01001_0100001000, 0b0_01001_0100001100, 0b0_01001_0100010000, 0b0_01001_0100010100, 0b0_01001_0100011000, 0b0_01001_0100011100, 0b0_01001_0100100000, 0b0_01001_0100100100, 0b0_01001_0100101000, 0b0_01001_0100101100, 0b0_01001_0100110000, 0b0_01001_0100110100, 0b0_01001_0100111000, 0b0_01001_0100111100, |
|
0b0_01001_0101000000, 0b0_01001_0101000100, 0b0_01001_0101001000, 0b0_01001_0101001100, 0b0_01001_0101010000, 0b0_01001_0101010100, 0b0_01001_0101011000, 0b0_01001_0101011100, 0b0_01001_0101100000, 0b0_01001_0101100100, 0b0_01001_0101101000, 0b0_01001_0101101100, 0b0_01001_0101110000, 0b0_01001_0101110100, 0b0_01001_0101111000, 0b0_01001_0101111100, |
|
0b0_01001_0110000000, 0b0_01001_0110000100, 0b0_01001_0110001000, 0b0_01001_0110001100, 0b0_01001_0110010000, 0b0_01001_0110010100, 0b0_01001_0110011000, 0b0_01001_0110011100, 0b0_01001_0110100000, 0b0_01001_0110100100, 0b0_01001_0110101000, 0b0_01001_0110101100, 0b0_01001_0110110000, 0b0_01001_0110110100, 0b0_01001_0110111000, 0b0_01001_0110111100, |
|
0b0_01001_0111000000, 0b0_01001_0111000100, 0b0_01001_0111001000, 0b0_01001_0111001100, 0b0_01001_0111010000, 0b0_01001_0111010100, 0b0_01001_0111011000, 0b0_01001_0111011100, 0b0_01001_0111100000, 0b0_01001_0111100100, 0b0_01001_0111101000, 0b0_01001_0111101100, 0b0_01001_0111110000, 0b0_01001_0111110100, 0b0_01001_0111111000, 0b0_01001_0111111100, |
|
0b0_01001_1000000000, 0b0_01001_1000000100, 0b0_01001_1000001000, 0b0_01001_1000001100, 0b0_01001_1000010000, 0b0_01001_1000010100, 0b0_01001_1000011000, 0b0_01001_1000011100, 0b0_01001_1000100000, 0b0_01001_1000100100, 0b0_01001_1000101000, 0b0_01001_1000101100, 0b0_01001_1000110000, 0b0_01001_1000110100, 0b0_01001_1000111000, 0b0_01001_1000111100, |
|
0b0_01001_1001000000, 0b0_01001_1001000100, 0b0_01001_1001001000, 0b0_01001_1001001100, 0b0_01001_1001010000, 0b0_01001_1001010100, 0b0_01001_1001011000, 0b0_01001_1001011100, 0b0_01001_1001100000, 0b0_01001_1001100100, 0b0_01001_1001101000, 0b0_01001_1001101100, 0b0_01001_1001110000, 0b0_01001_1001110100, 0b0_01001_1001111000, 0b0_01001_1001111100, |
|
0b0_01001_1010000000, 0b0_01001_1010000100, 0b0_01001_1010001000, 0b0_01001_1010001100, 0b0_01001_1010010000, 0b0_01001_1010010100, 0b0_01001_1010011000, 0b0_01001_1010011100, 0b0_01001_1010100000, 0b0_01001_1010100100, 0b0_01001_1010101000, 0b0_01001_1010101100, 0b0_01001_1010110000, 0b0_01001_1010110100, 0b0_01001_1010111000, 0b0_01001_1010111100, |
|
0b0_01001_1011000000, 0b0_01001_1011000100, 0b0_01001_1011001000, 0b0_01001_1011001100, 0b0_01001_1011010000, 0b0_01001_1011010100, 0b0_01001_1011011000, 0b0_01001_1011011100, 0b0_01001_1011100000, 0b0_01001_1011100100, 0b0_01001_1011101000, 0b0_01001_1011101100, 0b0_01001_1011110000, 0b0_01001_1011110100, 0b0_01001_1011111000, 0b0_01001_1011111100, |
|
0b0_01001_1100000000, 0b0_01001_1100000100, 0b0_01001_1100001000, 0b0_01001_1100001100, 0b0_01001_1100010000, 0b0_01001_1100010100, 0b0_01001_1100011000, 0b0_01001_1100011100, 0b0_01001_1100100000, 0b0_01001_1100100100, 0b0_01001_1100101000, 0b0_01001_1100101100, 0b0_01001_1100110000, 0b0_01001_1100110100, 0b0_01001_1100111000, 0b0_01001_1100111100, |
|
0b0_01001_1101000000, 0b0_01001_1101000100, 0b0_01001_1101001000, 0b0_01001_1101001100, 0b0_01001_1101010000, 0b0_01001_1101010100, 0b0_01001_1101011000, 0b0_01001_1101011100, 0b0_01001_1101100000, 0b0_01001_1101100100, 0b0_01001_1101101000, 0b0_01001_1101101100, 0b0_01001_1101110000, 0b0_01001_1101110100, 0b0_01001_1101111000, 0b0_01001_1101111100, |
|
0b0_01001_1110000000, 0b0_01001_1110000100, 0b0_01001_1110001000, 0b0_01001_1110001100, 0b0_01001_1110010000, 0b0_01001_1110010100, 0b0_01001_1110011000, 0b0_01001_1110011100, 0b0_01001_1110100000, 0b0_01001_1110100100, 0b0_01001_1110101000, 0b0_01001_1110101100, 0b0_01001_1110110000, 0b0_01001_1110110100, 0b0_01001_1110111000, 0b0_01001_1110111100, |
|
0b0_01001_1111000000, 0b0_01001_1111000100, 0b0_01001_1111001000, 0b0_01001_1111001100, 0b0_01001_1111010000, 0b0_01001_1111010100, 0b0_01001_1111011000, 0b0_01001_1111011100, 0b0_01001_1111100000, 0b0_01001_1111100100, 0b0_01001_1111101000, 0b0_01001_1111101100, 0b0_01001_1111110000, 0b0_01001_1111110100, 0b0_01001_1111111000, 0b0_01001_1111111100, |
|
0b0_01010_0000000000, 0b0_01010_0000000100, 0b0_01010_0000001000, 0b0_01010_0000001100, 0b0_01010_0000010000, 0b0_01010_0000010100, 0b0_01010_0000011000, 0b0_01010_0000011100, 0b0_01010_0000100000, 0b0_01010_0000100100, 0b0_01010_0000101000, 0b0_01010_0000101100, 0b0_01010_0000110000, 0b0_01010_0000110100, 0b0_01010_0000111000, 0b0_01010_0000111100, |
|
0b0_01010_0001000000, 0b0_01010_0001000100, 0b0_01010_0001001000, 0b0_01010_0001001100, 0b0_01010_0001010000, 0b0_01010_0001010100, 0b0_01010_0001011000, 0b0_01010_0001011100, 0b0_01010_0001100000, 0b0_01010_0001100100, 0b0_01010_0001101000, 0b0_01010_0001101100, 0b0_01010_0001110000, 0b0_01010_0001110100, 0b0_01010_0001111000, 0b0_01010_0001111100, |
|
0b0_01010_0010000000, 0b0_01010_0010000100, 0b0_01010_0010001000, 0b0_01010_0010001100, 0b0_01010_0010010000, 0b0_01010_0010010100, 0b0_01010_0010011000, 0b0_01010_0010011100, 0b0_01010_0010100000, 0b0_01010_0010100100, 0b0_01010_0010101000, 0b0_01010_0010101100, 0b0_01010_0010110000, 0b0_01010_0010110100, 0b0_01010_0010111000, 0b0_01010_0010111100, |
|
0b0_01010_0011000000, 0b0_01010_0011000100, 0b0_01010_0011001000, 0b0_01010_0011001100, 0b0_01010_0011010000, 0b0_01010_0011010100, 0b0_01010_0011011000, 0b0_01010_0011011100, 0b0_01010_0011100000, 0b0_01010_0011100100, 0b0_01010_0011101000, 0b0_01010_0011101100, 0b0_01010_0011110000, 0b0_01010_0011110100, 0b0_01010_0011111000, 0b0_01010_0011111100, |
|
0b0_01010_0100000000, 0b0_01010_0100000100, 0b0_01010_0100001000, 0b0_01010_0100001100, 0b0_01010_0100010000, 0b0_01010_0100010100, 0b0_01010_0100011000, 0b0_01010_0100011100, 0b0_01010_0100100000, 0b0_01010_0100100100, 0b0_01010_0100101000, 0b0_01010_0100101100, 0b0_01010_0100110000, 0b0_01010_0100110100, 0b0_01010_0100111000, 0b0_01010_0100111100, |
|
0b0_01010_0101000000, 0b0_01010_0101000100, 0b0_01010_0101001000, 0b0_01010_0101001100, 0b0_01010_0101010000, 0b0_01010_0101010100, 0b0_01010_0101011000, 0b0_01010_0101011100, 0b0_01010_0101100000, 0b0_01010_0101100100, 0b0_01010_0101101000, 0b0_01010_0101101100, 0b0_01010_0101110000, 0b0_01010_0101110100, 0b0_01010_0101111000, 0b0_01010_0101111100, |
|
0b0_01010_0110000000, 0b0_01010_0110000100, 0b0_01010_0110001000, 0b0_01010_0110001100, 0b0_01010_0110010000, 0b0_01010_0110010100, 0b0_01010_0110011000, 0b0_01010_0110011100, 0b0_01010_0110100000, 0b0_01010_0110100100, 0b0_01010_0110101000, 0b0_01010_0110101100, 0b0_01010_0110110000, 0b0_01010_0110110100, 0b0_01010_0110111000, 0b0_01010_0110111100, |
|
0b0_01010_0111000000, 0b0_01010_0111000100, 0b0_01010_0111001000, 0b0_01010_0111001100, 0b0_01010_0111010000, 0b0_01010_0111010100, 0b0_01010_0111011000, 0b0_01010_0111011100, 0b0_01010_0111100000, 0b0_01010_0111100100, 0b0_01010_0111101000, 0b0_01010_0111101100, 0b0_01010_0111110000, 0b0_01010_0111110100, 0b0_01010_0111111000, 0b0_01010_0111111100, |
|
0b0_01010_1000000000, 0b0_01010_1000000100, 0b0_01010_1000001000, 0b0_01010_1000001100, 0b0_01010_1000010000, 0b0_01010_1000010100, 0b0_01010_1000011000, 0b0_01010_1000011100, 0b0_01010_1000100000, 0b0_01010_1000100100, 0b0_01010_1000101000, 0b0_01010_1000101100, 0b0_01010_1000110000, 0b0_01010_1000110100, 0b0_01010_1000111000, 0b0_01010_1000111100, |
|
0b0_01010_1001000000, 0b0_01010_1001000100, 0b0_01010_1001001000, 0b0_01010_1001001100, 0b0_01010_1001010000, 0b0_01010_1001010100, 0b0_01010_1001011000, 0b0_01010_1001011100, 0b0_01010_1001100000, 0b0_01010_1001100100, 0b0_01010_1001101000, 0b0_01010_1001101100, 0b0_01010_1001110000, 0b0_01010_1001110100, 0b0_01010_1001111000, 0b0_01010_1001111100, |
|
0b0_01010_1010000000, 0b0_01010_1010000100, 0b0_01010_1010001000, 0b0_01010_1010001100, 0b0_01010_1010010000, 0b0_01010_1010010100, 0b0_01010_1010011000, 0b0_01010_1010011100, 0b0_01010_1010100000, 0b0_01010_1010100100, 0b0_01010_1010101000, 0b0_01010_1010101100, 0b0_01010_1010110000, 0b0_01010_1010110100, 0b0_01010_1010111000, 0b0_01010_1010111100, |
|
0b0_01010_1011000000, 0b0_01010_1011000100, 0b0_01010_1011001000, 0b0_01010_1011001100, 0b0_01010_1011010000, 0b0_01010_1011010100, 0b0_01010_1011011000, 0b0_01010_1011011100, 0b0_01010_1011100000, 0b0_01010_1011100100, 0b0_01010_1011101000, 0b0_01010_1011101100, 0b0_01010_1011110000, 0b0_01010_1011110100, 0b0_01010_1011111000, 0b0_01010_1011111100, |
|
0b0_01010_1100000000, 0b0_01010_1100000100, 0b0_01010_1100001000, 0b0_01010_1100001100, 0b0_01010_1100010000, 0b0_01010_1100010100, 0b0_01010_1100011000, 0b0_01010_1100011100, 0b0_01010_1100100000, 0b0_01010_1100100100, 0b0_01010_1100101000, 0b0_01010_1100101100, 0b0_01010_1100110000, 0b0_01010_1100110100, 0b0_01010_1100111000, 0b0_01010_1100111100, |
|
0b0_01010_1101000000, 0b0_01010_1101000100, 0b0_01010_1101001000, 0b0_01010_1101001100, 0b0_01010_1101010000, 0b0_01010_1101010100, 0b0_01010_1101011000, 0b0_01010_1101011100, 0b0_01010_1101100000, 0b0_01010_1101100100, 0b0_01010_1101101000, 0b0_01010_1101101100, 0b0_01010_1101110000, 0b0_01010_1101110100, 0b0_01010_1101111000, 0b0_01010_1101111100, |
|
0b0_01010_1110000000, 0b0_01010_1110000100, 0b0_01010_1110001000, 0b0_01010_1110001100, 0b0_01010_1110010000, 0b0_01010_1110010100, 0b0_01010_1110011000, 0b0_01010_1110011100, 0b0_01010_1110100000, 0b0_01010_1110100100, 0b0_01010_1110101000, 0b0_01010_1110101100, 0b0_01010_1110110000, 0b0_01010_1110110100, 0b0_01010_1110111000, 0b0_01010_1110111100, |
|
0b0_01010_1111000000, 0b0_01010_1111000100, 0b0_01010_1111001000, 0b0_01010_1111001100, 0b0_01010_1111010000, 0b0_01010_1111010100, 0b0_01010_1111011000, 0b0_01010_1111011100, 0b0_01010_1111100000, 0b0_01010_1111100100, 0b0_01010_1111101000, 0b0_01010_1111101100, 0b0_01010_1111110000, 0b0_01010_1111110100, 0b0_01010_1111111000, 0b0_01010_1111111100, |
|
], dtype=torch.int16) |
|
|
|
FP12_TO_FP16 = FP12_TO_FP16.view((2,-1)) |
|
FP12_TO_FP16[1,:].bitwise_or_(0x8000) |
|
FP12_TO_FP16 = FP12_TO_FP16.view((-1,)) |
|
|
|
def fp12_to_fp16(exp: torch.Tensor, frac: torch.Tensor): |
|
global FP12_TO_FP16, EXP_MASK |
|
|
|
assert exp.dtype == torch.uint8 |
|
assert frac.dtype == torch.uint8 |
|
assert exp.ndim == 1 |
|
assert frac.ndim == 1 |
|
assert exp.size(0) * 2 == frac.size(0) |
|
|
|
if FP12_TO_FP16.device != exp.device: |
|
FP12_TO_FP16 = FP12_TO_FP16.to(exp.device) |
|
if EXP_MASK.device != exp.device: |
|
EXP_MASK = EXP_MASK.to(exp.device) |
|
|
|
exp = exp.repeat_interleave(2).view((-1,2)) |
|
exp.bitwise_and_(EXP_MASK) |
|
|
|
indices = exp.to(dtype=torch.int16) |
|
indices[..., 0] <<= 4 |
|
indices[..., 1] <<= 8 |
|
|
|
indices = indices.view((-1,)) |
|
indices.add_(frac) |
|
|
|
FP16 = torch.take(FP12_TO_FP16, indices.long()) |
|
return FP16.view(dtype=torch.float16) |
|
|