diff --git a/src/client/index.html b/src/client/index.html
index 1ee79ff..2819d8c 100644
--- a/src/client/index.html
+++ b/src/client/index.html
@@ -9,7 +9,7 @@
-
Hello World
+ PrayerCircle
diff --git a/src/client/ts/PrayerCircle/PartnerTable.tsx b/src/client/ts/PrayerCircle/PartnerTable.tsx
index 01bad6d..bd55895 100644
--- a/src/client/ts/PrayerCircle/PartnerTable.tsx
+++ b/src/client/ts/PrayerCircle/PartnerTable.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
import { useCallback, useMemo } from 'react';
import { useAppDispatch, useAppSelector } from '../Store/reduxHooks';
import { selectMemberIds, setWeek } from './prayerCircleSlice';
-import { Button, Flex, Grow, Table } from 'react-bootstrap-mobile';
+import { Body, Button, Column, ColumnCellData, Flex, Grow, Table } from 'react-bootstrap-mobile';
import { PrayerCircleCalculator } from './PrayerCircleCalculator';
export type PartnerTableProps = {};
@@ -16,8 +16,8 @@ function PartnerTable({}: PartnerTableProps) {
const usePartners = useAppSelector((state) => state.prayerCircle.usePartners);
const dispatch = useAppDispatch();
- const columnsWeek = useMemo(
- () => [
+ const columnsWeek = useMemo(() => {
+ const columns: Column = [
{
Header: 'Partner 1',
accessor: 'partner1', // accessor is the "key" in the data
@@ -25,13 +25,55 @@ function PartnerTable({}: PartnerTableProps) {
{
Header: 'Partner 2',
accessor: 'partner2',
+ width: '50%',
},
- ],
- []
- );
+ ];
+ if (!usePartners) {
+ columns.splice(1, 0, {
+ Header: '',
+ id: 'prayingTitles',
+ Cell: () => (
+ <>
+ Ich bete für
+
+ Für mich betet
+
+ >
+ ),
+ });
+ // columns[0].Cell = (cellData: ColumnCellData) => {
+ // const partner = cellData.value;
+ // console.log('cellData', cellData);
+ // return (
+ //
+ // {partner}
+ //
+ // {/* Ich bete für */}
+ //
+ // Für mich betet
+ //
+ //
+ //
+ // );
+ // };
- const columnsWeekdays = useMemo(
- () => [
+ columns[2].Cell = ({ cell: { column, row }, value: partner }: ColumnCellData) => {
+ const other = row.original[`${column.id}Other`];
+ return (
+ <>
+ {partner}
+
+ {other}
+
+ >
+ );
+ };
+ }
+ return columns;
+ }, [usePartners]);
+
+ const columnsWeekdays = useMemo(() => {
+ const columns: Column = [
{
Header: 'Person',
accessor: 'person', // accessor is the "key" in the data
@@ -64,9 +106,44 @@ function PartnerTable({}: PartnerTableProps) {
Header: 'So',
accessor: 'day6',
},
- ],
- []
- );
+ ];
+ if (!usePartners) {
+ columns[0].Cell = ({ value: partner }: ColumnCellData) => {
+ return (
+
+ {partner}
+
+ Ich bete für
+
+ Für mich betet
+
+
+
+ );
+ };
+
+ const renderFunction = (cellData: ColumnCellData) => {
+ const partner = cellData.value;
+ const other = cellData.cell.row.original[`${cellData.cell.column.id}Other`];
+ return (
+ <>
+ {partner}
+
+ {other}
+
+ >
+ );
+ };
+ columns[1].Cell = renderFunction;
+ columns[2].Cell = renderFunction;
+ columns[3].Cell = renderFunction;
+ columns[4].Cell = renderFunction;
+ columns[5].Cell = renderFunction;
+ columns[6].Cell = renderFunction;
+ columns[7].Cell = renderFunction;
+ }
+ return columns;
+ }, [usePartners]);
// States
@@ -79,45 +156,53 @@ function PartnerTable({}: PartnerTableProps) {
// Effects
// Other
- const partnerTable = useMemo(
+ const [partnerTable, invertedPartnerTable] = useMemo(
() => PrayerCircleCalculator.generateTableFor(membersIds, usePartners),
[membersIds, usePartners]
);
- if (!partnerTable || membersIds.length === 0) {
+ if (!partnerTable || !invertedPartnerTable || membersIds.length === 0) {
return null;
}
- const partnerTableNames = partnerTable.map((partnerColumn) => {
+ // console.log(partnerTable, invertedPartnerTable);
+
+ const partnerTableNames = partnerTable.map((partnerColumn, index) => {
return Object.keys(partnerColumn).map((id) => {
const name = members[id]?.name ?? id;
const partnerName = members[partnerColumn[id]]?.name ?? partnerColumn[id];
- return [name, partnerName];
- }) as [string, string][];
+ const otherPartnerName = members[invertedPartnerTable[index][id]]?.name ?? invertedPartnerTable[index][id];
+ return [name, partnerName, otherPartnerName];
+ }) as [string, string, string][];
});
let data: Record[] = [];
if (!useWeekdays) {
const column = partnerTableNames[week % partnerTableNames.length];
- data = column.map(([name1, name2]) => ({
+ data = column.map(([name1, name2, name3]) => ({
partner1: name1,
partner2: name2,
+ partner2Other: name3,
}));
} else {
data = [];
for (let i = 0; i < 7; i++) {
- const column = partnerTableNames[(week * 7 + i) % partnerTableNames.length];
- column.forEach(([name1, name2], index) => {
+ const colIndex = (week * 7 + i) % partnerTableNames.length;
+ const column = partnerTableNames[colIndex];
+ column.forEach(([person, partner1, partner2], index) => {
if (!data[index]) {
- data[index] = { person: name1 };
+ data[index] = { person };
}
- data[index][`day${i}`] = name2;
+ data[index][`day${i}`] = partner1;
+ data[index][`day${i}Other`] = partner2;
});
}
}
const columns = useWeekdays ? columnsWeekdays : columnsWeek;
+ // Render Functions
+
return (
<>
diff --git a/src/client/ts/PrayerCircle/PrayerCircle.tsx b/src/client/ts/PrayerCircle/PrayerCircle.tsx
index e215dc9..534d18b 100644
--- a/src/client/ts/PrayerCircle/PrayerCircle.tsx
+++ b/src/client/ts/PrayerCircle/PrayerCircle.tsx
@@ -1,8 +1,6 @@
import * as React from 'react';
-import { Sites, useSites, useTopBar } from 'cordova-sites';
-import { useState } from 'react';
+import { Sites, useTopBar } from 'cordova-sites';
import { MemberList } from './MemberList';
-import { Settings } from '../Settings/Settings';
import { Card } from 'react-bootstrap-mobile';
import { PartnerTable } from './PartnerTable';
import { Col, Row } from 'react-bootstrap';
@@ -12,7 +10,6 @@ export type PrayerCircleProps = {};
function PrayerCircle({}: PrayerCircleProps) {
// Variables
- const sites = useSites();
// States
@@ -23,14 +20,6 @@ function PrayerCircle({}: PrayerCircleProps) {
// Effects
useTopBar({
title: 'Prayercircle',
- rightButtons: [
- {
- title: 'Settings',
- action: () => {
- sites?.startSite(Settings);
- },
- },
- ],
});
// Other
@@ -39,13 +28,13 @@ function PrayerCircle({}: PrayerCircleProps) {
return (
<>
-
+
-
+
diff --git a/src/client/ts/PrayerCircle/PrayerCircleCalculator.ts b/src/client/ts/PrayerCircle/PrayerCircleCalculator.ts
index c82bcd2..19d7cad 100644
--- a/src/client/ts/PrayerCircle/PrayerCircleCalculator.ts
+++ b/src/client/ts/PrayerCircle/PrayerCircleCalculator.ts
@@ -4251,9 +4251,12 @@ export class PrayerCircleCalculator {
console.log('TABLES', JSON.stringify(tables));
}
- static generateTableFor(memberIds: string[], usePartners = true) {
+ static generateTableFor(
+ memberIds: string[],
+ usePartners = true
+ ): [false, false] | [Record[], Record[]] {
if (memberIds.length === 0) {
- return [];
+ return [[], []];
}
memberIds = memberIds.slice();
@@ -4269,15 +4272,11 @@ export class PrayerCircleCalculator {
}
if (numberTable === false) {
- return false;
+ return [false, false];
}
- return numberTable.map((column) => {
- const idColumn: Record = {};
- Object.keys(column).forEach((index) => {
- idColumn[memberIds[Number(index)]] = memberIds[column[Number(index)]];
- });
- return idColumn;
- });
+ const table = PrayerCircleCalculator.inflateTable(memberIds, numberTable);
+ const invertedTable = PrayerCircleCalculator.getInvertedChainTableFor(table);
+ return [table, invertedTable];
}
static generateTable(numPrayers: number): Record[] | false {
@@ -4387,6 +4386,10 @@ export class PrayerCircleCalculator {
}
private static generateChainTableFor(numPrayers: number) {
+ if (numPrayers < 2) {
+ return false;
+ }
+
const possiblePartnersBaseArray: number[] = [];
for (let i = 0; i < numPrayers; i++) {
possiblePartnersBaseArray.push(i);
@@ -4401,6 +4404,35 @@ export class PrayerCircleCalculator {
for (let i = 0; i < numPrayers - 1; i++) {
table.push({});
}
+
+ possiblePartnersBaseArray.forEach((member, index) => {
+ const otherMembers = possiblePartners[member];
+
+ for (let i = 0; i < numPrayers - 1; i++) {
+ table[i][member] = otherMembers[(index + i) % otherMembers.length];
+ }
+ });
+
return table;
}
+
+ static getInvertedChainTableFor(table: Record[]) {
+ return table.map((column) => {
+ const invertedColumn: Record = {};
+ Object.keys(column).forEach((id1) => {
+ invertedColumn[column[id1]] = id1;
+ });
+ return invertedColumn;
+ });
+ }
+
+ private static inflateTable(memberIds: string[], table: Column[]) {
+ return table.map((column) => {
+ const idColumn: Record = {};
+ Object.keys(column).forEach((index) => {
+ idColumn[memberIds[Number(index)]] = memberIds[column[Number(index)]];
+ });
+ return idColumn;
+ });
+ }
}
diff --git a/src/client/ts/PrayerCircle/PrayerCircleCalculator_old.ts b/src/client/ts/PrayerCircle/PrayerCircleCalculator_old.ts
deleted file mode 100644
index 4d6da42..0000000
--- a/src/client/ts/PrayerCircle/PrayerCircleCalculator_old.ts
+++ /dev/null
@@ -1,9249 +0,0 @@
-import { JsonHelper } from 'js-helper';
-
-type Column = Record;
-type PossiblePartners = Record;
-
-export class PrayerCircleCalculator {
- static tables: Record[] | false> = {
- 2: [{ 0: 1, 1: 0 }],
- 4: [
- { 0: 1, 1: 0, 2: 3, 3: 2 },
- { 0: 2, 1: 3, 2: 0, 3: 1 },
- { 0: 3, 1: 2, 2: 1, 3: 0 },
- ],
- 6: [
- { 0: 1, 1: 0, 2: 3, 3: 2, 4: 5, 5: 4 },
- {
- 0: 2,
- 1: 4,
- 2: 0,
- 3: 5,
- 4: 1,
- 5: 3,
- },
- { 0: 3, 1: 5, 2: 4, 3: 0, 4: 2, 5: 1 },
- { 0: 4, 1: 3, 2: 5, 3: 1, 4: 0, 5: 2 },
- {
- 0: 5,
- 1: 2,
- 2: 1,
- 3: 4,
- 4: 3,
- 5: 0,
- },
- ],
- 8: [
- { 0: 1, 1: 0, 2: 3, 3: 2, 4: 5, 5: 4, 6: 7, 7: 6 },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- },
- { 0: 3, 1: 2, 2: 1, 3: 0, 4: 7, 5: 6, 6: 5, 7: 4 },
- {
- 0: 4,
- 1: 5,
- 2: 6,
- 3: 7,
- 4: 0,
- 5: 1,
- 6: 2,
- 7: 3,
- },
- { 0: 5, 1: 4, 2: 7, 3: 6, 4: 1, 5: 0, 6: 3, 7: 2 },
- {
- 0: 6,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 0,
- 7: 1,
- },
- { 0: 7, 1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 1, 7: 0 },
- ],
- 10: [
- { 0: 1, 1: 0, 2: 3, 3: 2, 4: 5, 5: 4, 6: 7, 7: 6, 8: 9, 9: 8 },
- {
- 0: 2,
- 1: 8,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 1,
- 9: 7,
- },
- { 0: 3, 1: 5, 2: 8, 3: 0, 4: 7, 5: 1, 6: 9, 7: 4, 8: 2, 9: 6 },
- {
- 0: 4,
- 1: 6,
- 2: 7,
- 3: 8,
- 4: 0,
- 5: 9,
- 6: 1,
- 7: 2,
- 8: 3,
- 9: 5,
- },
- { 0: 5, 1: 2, 2: 1, 3: 7, 4: 9, 5: 0, 6: 8, 7: 3, 8: 6, 9: 4 },
- {
- 0: 6,
- 1: 4,
- 2: 5,
- 3: 9,
- 4: 1,
- 5: 2,
- 6: 0,
- 7: 8,
- 8: 7,
- 9: 3,
- },
- { 0: 7, 1: 9, 2: 4, 3: 6, 4: 2, 5: 8, 6: 3, 7: 0, 8: 5, 9: 1 },
- {
- 0: 8,
- 1: 7,
- 2: 9,
- 3: 4,
- 4: 3,
- 5: 6,
- 6: 5,
- 7: 1,
- 8: 0,
- 9: 2,
- },
- { 0: 9, 1: 3, 2: 6, 3: 1, 4: 8, 5: 7, 6: 2, 7: 5, 8: 4, 9: 0 },
- ],
- 12: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- },
- {
- 0: 4,
- 1: 8,
- 2: 6,
- 3: 10,
- 4: 0,
- 5: 9,
- 6: 2,
- 7: 11,
- 8: 1,
- 9: 5,
- 10: 3,
- 11: 7,
- },
- {
- 0: 5,
- 1: 4,
- 2: 8,
- 3: 9,
- 4: 1,
- 5: 0,
- 6: 11,
- 7: 10,
- 8: 2,
- 9: 3,
- 10: 7,
- 11: 6,
- },
- {
- 0: 6,
- 1: 5,
- 2: 10,
- 3: 8,
- 4: 11,
- 5: 1,
- 6: 0,
- 7: 9,
- 8: 3,
- 9: 7,
- 10: 2,
- 11: 4,
- },
- {
- 0: 7,
- 1: 6,
- 2: 9,
- 3: 11,
- 4: 8,
- 5: 10,
- 6: 1,
- 7: 0,
- 8: 4,
- 9: 2,
- 10: 5,
- 11: 3,
- },
- {
- 0: 8,
- 1: 9,
- 2: 7,
- 3: 4,
- 4: 3,
- 5: 11,
- 6: 10,
- 7: 2,
- 8: 0,
- 9: 1,
- 10: 6,
- 11: 5,
- },
- {
- 0: 9,
- 1: 11,
- 2: 5,
- 3: 6,
- 4: 10,
- 5: 2,
- 6: 3,
- 7: 8,
- 8: 7,
- 9: 0,
- 10: 4,
- 11: 1,
- },
- {
- 0: 10,
- 1: 7,
- 2: 11,
- 3: 5,
- 4: 9,
- 5: 3,
- 6: 8,
- 7: 1,
- 8: 6,
- 9: 4,
- 10: 0,
- 11: 2,
- },
- { 0: 11, 1: 10, 2: 4, 3: 7, 4: 2, 5: 8, 6: 9, 7: 3, 8: 5, 9: 6, 10: 1, 11: 0 },
- ],
- 14: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- },
- {
- 0: 2,
- 1: 12,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 10,
- 9: 7,
- 10: 8,
- 11: 13,
- 12: 1,
- 13: 11,
- },
- {
- 0: 3,
- 1: 5,
- 2: 12,
- 3: 0,
- 4: 7,
- 5: 1,
- 6: 9,
- 7: 4,
- 8: 11,
- 9: 6,
- 10: 13,
- 11: 8,
- 12: 2,
- 13: 10,
- },
- {
- 0: 4,
- 1: 10,
- 2: 5,
- 3: 6,
- 4: 0,
- 5: 2,
- 6: 3,
- 7: 11,
- 8: 12,
- 9: 13,
- 10: 1,
- 11: 7,
- 12: 8,
- 13: 9,
- },
- {
- 0: 5,
- 1: 2,
- 2: 1,
- 3: 10,
- 4: 9,
- 5: 0,
- 6: 8,
- 7: 13,
- 8: 6,
- 9: 4,
- 10: 3,
- 11: 12,
- 12: 11,
- 13: 7,
- },
- {
- 0: 6,
- 1: 11,
- 2: 9,
- 3: 4,
- 4: 3,
- 5: 7,
- 6: 0,
- 7: 5,
- 8: 13,
- 9: 2,
- 10: 12,
- 11: 1,
- 12: 10,
- 13: 8,
- },
- {
- 0: 7,
- 1: 8,
- 2: 10,
- 3: 9,
- 4: 12,
- 5: 11,
- 6: 13,
- 7: 0,
- 8: 1,
- 9: 3,
- 10: 2,
- 11: 5,
- 12: 4,
- 13: 6,
- },
- {
- 0: 8,
- 1: 13,
- 2: 4,
- 3: 11,
- 4: 2,
- 5: 6,
- 6: 5,
- 7: 10,
- 8: 0,
- 9: 12,
- 10: 7,
- 11: 3,
- 12: 9,
- 13: 1,
- },
- {
- 0: 9,
- 1: 6,
- 2: 13,
- 3: 8,
- 4: 11,
- 5: 10,
- 6: 1,
- 7: 12,
- 8: 3,
- 9: 0,
- 10: 5,
- 11: 4,
- 12: 7,
- 13: 2,
- },
- {
- 0: 10,
- 1: 3,
- 2: 6,
- 3: 1,
- 4: 13,
- 5: 12,
- 6: 2,
- 7: 8,
- 8: 7,
- 9: 11,
- 10: 0,
- 11: 9,
- 12: 5,
- 13: 4,
- },
- {
- 0: 11,
- 1: 4,
- 2: 7,
- 3: 13,
- 4: 1,
- 5: 8,
- 6: 12,
- 7: 2,
- 8: 5,
- 9: 10,
- 10: 9,
- 11: 0,
- 12: 6,
- 13: 3,
- },
- {
- 0: 12,
- 1: 9,
- 2: 8,
- 3: 7,
- 4: 10,
- 5: 13,
- 6: 11,
- 7: 3,
- 8: 2,
- 9: 1,
- 10: 4,
- 11: 6,
- 12: 0,
- 13: 5,
- },
- {
- 0: 13,
- 1: 7,
- 2: 11,
- 3: 12,
- 4: 8,
- 5: 9,
- 6: 10,
- 7: 1,
- 8: 4,
- 9: 5,
- 10: 6,
- 11: 2,
- 12: 3,
- 13: 0,
- },
- ],
- 16: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- },
- {
- 0: 4,
- 1: 5,
- 2: 6,
- 3: 7,
- 4: 0,
- 5: 1,
- 6: 2,
- 7: 3,
- 8: 12,
- 9: 13,
- 10: 14,
- 11: 15,
- 12: 8,
- 13: 9,
- 14: 10,
- 15: 11,
- },
- {
- 0: 5,
- 1: 4,
- 2: 7,
- 3: 6,
- 4: 1,
- 5: 0,
- 6: 3,
- 7: 2,
- 8: 13,
- 9: 12,
- 10: 15,
- 11: 14,
- 12: 9,
- 13: 8,
- 14: 11,
- 15: 10,
- },
- {
- 0: 6,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 0,
- 7: 1,
- 8: 14,
- 9: 15,
- 10: 12,
- 11: 13,
- 12: 10,
- 13: 11,
- 14: 8,
- 15: 9,
- },
- {
- 0: 7,
- 1: 6,
- 2: 5,
- 3: 4,
- 4: 3,
- 5: 2,
- 6: 1,
- 7: 0,
- 8: 15,
- 9: 14,
- 10: 13,
- 11: 12,
- 12: 11,
- 13: 10,
- 14: 9,
- 15: 8,
- },
- {
- 0: 8,
- 1: 9,
- 2: 10,
- 3: 11,
- 4: 12,
- 5: 13,
- 6: 14,
- 7: 15,
- 8: 0,
- 9: 1,
- 10: 2,
- 11: 3,
- 12: 4,
- 13: 5,
- 14: 6,
- 15: 7,
- },
- {
- 0: 9,
- 1: 8,
- 2: 11,
- 3: 10,
- 4: 13,
- 5: 12,
- 6: 15,
- 7: 14,
- 8: 1,
- 9: 0,
- 10: 3,
- 11: 2,
- 12: 5,
- 13: 4,
- 14: 7,
- 15: 6,
- },
- {
- 0: 10,
- 1: 11,
- 2: 8,
- 3: 9,
- 4: 14,
- 5: 15,
- 6: 12,
- 7: 13,
- 8: 2,
- 9: 3,
- 10: 0,
- 11: 1,
- 12: 6,
- 13: 7,
- 14: 4,
- 15: 5,
- },
- {
- 0: 11,
- 1: 10,
- 2: 9,
- 3: 8,
- 4: 15,
- 5: 14,
- 6: 13,
- 7: 12,
- 8: 3,
- 9: 2,
- 10: 1,
- 11: 0,
- 12: 7,
- 13: 6,
- 14: 5,
- 15: 4,
- },
- {
- 0: 12,
- 1: 13,
- 2: 14,
- 3: 15,
- 4: 8,
- 5: 9,
- 6: 10,
- 7: 11,
- 8: 4,
- 9: 5,
- 10: 6,
- 11: 7,
- 12: 0,
- 13: 1,
- 14: 2,
- 15: 3,
- },
- {
- 0: 13,
- 1: 12,
- 2: 15,
- 3: 14,
- 4: 9,
- 5: 8,
- 6: 11,
- 7: 10,
- 8: 5,
- 9: 4,
- 10: 7,
- 11: 6,
- 12: 1,
- 13: 0,
- 14: 3,
- 15: 2,
- },
- {
- 0: 14,
- 1: 15,
- 2: 12,
- 3: 13,
- 4: 10,
- 5: 11,
- 6: 8,
- 7: 9,
- 8: 6,
- 9: 7,
- 10: 4,
- 11: 5,
- 12: 2,
- 13: 3,
- 14: 0,
- 15: 1,
- },
- {
- 0: 15,
- 1: 14,
- 2: 13,
- 3: 12,
- 4: 11,
- 5: 10,
- 6: 9,
- 7: 8,
- 8: 7,
- 9: 6,
- 10: 5,
- 11: 4,
- 12: 3,
- 13: 2,
- 14: 1,
- 15: 0,
- },
- ],
- 18: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- },
- {
- 0: 2,
- 1: 16,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 10,
- 9: 7,
- 10: 8,
- 11: 13,
- 12: 14,
- 13: 11,
- 14: 12,
- 15: 17,
- 16: 1,
- 17: 15,
- },
- {
- 0: 3,
- 1: 5,
- 2: 16,
- 3: 0,
- 4: 7,
- 5: 1,
- 6: 9,
- 7: 4,
- 8: 11,
- 9: 6,
- 10: 13,
- 11: 8,
- 12: 15,
- 13: 10,
- 14: 17,
- 15: 12,
- 16: 2,
- 17: 14,
- },
- {
- 0: 4,
- 1: 14,
- 2: 15,
- 3: 16,
- 4: 0,
- 5: 9,
- 6: 10,
- 7: 11,
- 8: 12,
- 9: 5,
- 10: 6,
- 11: 7,
- 12: 8,
- 13: 17,
- 14: 1,
- 15: 2,
- 16: 3,
- 17: 13,
- },
- {
- 0: 5,
- 1: 10,
- 2: 4,
- 3: 15,
- 4: 2,
- 5: 0,
- 6: 8,
- 7: 16,
- 8: 6,
- 9: 11,
- 10: 1,
- 11: 9,
- 12: 17,
- 13: 14,
- 14: 13,
- 15: 3,
- 16: 7,
- 17: 12,
- },
- {
- 0: 6,
- 1: 13,
- 2: 14,
- 3: 4,
- 4: 3,
- 5: 16,
- 6: 0,
- 7: 10,
- 8: 15,
- 9: 17,
- 10: 7,
- 11: 12,
- 12: 11,
- 13: 1,
- 14: 2,
- 15: 8,
- 16: 5,
- 17: 9,
- },
- {
- 0: 7,
- 1: 17,
- 2: 5,
- 3: 6,
- 4: 12,
- 5: 2,
- 6: 3,
- 7: 0,
- 8: 13,
- 9: 10,
- 10: 9,
- 11: 14,
- 12: 4,
- 13: 8,
- 14: 11,
- 15: 16,
- 16: 15,
- 17: 1,
- },
- {
- 0: 8,
- 1: 12,
- 2: 7,
- 3: 10,
- 4: 9,
- 5: 6,
- 6: 5,
- 7: 2,
- 8: 0,
- 9: 4,
- 10: 3,
- 11: 17,
- 12: 1,
- 13: 15,
- 14: 16,
- 15: 13,
- 16: 14,
- 17: 11,
- },
- {
- 0: 9,
- 1: 4,
- 2: 10,
- 3: 14,
- 4: 1,
- 5: 7,
- 6: 13,
- 7: 5,
- 8: 17,
- 9: 0,
- 10: 2,
- 11: 15,
- 12: 16,
- 13: 6,
- 14: 3,
- 15: 11,
- 16: 12,
- 17: 8,
- },
- {
- 0: 10,
- 1: 11,
- 2: 9,
- 3: 13,
- 4: 14,
- 5: 12,
- 6: 15,
- 7: 17,
- 8: 16,
- 9: 2,
- 10: 0,
- 11: 1,
- 12: 5,
- 13: 3,
- 14: 4,
- 15: 6,
- 16: 8,
- 17: 7,
- },
- {
- 0: 11,
- 1: 7,
- 2: 13,
- 3: 12,
- 4: 16,
- 5: 10,
- 6: 17,
- 7: 1,
- 8: 14,
- 9: 15,
- 10: 5,
- 11: 0,
- 12: 3,
- 13: 2,
- 14: 8,
- 15: 9,
- 16: 4,
- 17: 6,
- },
- {
- 0: 12,
- 1: 8,
- 2: 6,
- 3: 7,
- 4: 15,
- 5: 13,
- 6: 2,
- 7: 3,
- 8: 1,
- 9: 14,
- 10: 17,
- 11: 16,
- 12: 0,
- 13: 5,
- 14: 9,
- 15: 4,
- 16: 11,
- 17: 10,
- },
- {
- 0: 13,
- 1: 3,
- 2: 12,
- 3: 1,
- 4: 17,
- 5: 8,
- 6: 11,
- 7: 14,
- 8: 5,
- 9: 16,
- 10: 15,
- 11: 6,
- 12: 2,
- 13: 0,
- 14: 7,
- 15: 10,
- 16: 9,
- 17: 4,
- },
- {
- 0: 14,
- 1: 6,
- 2: 17,
- 3: 11,
- 4: 8,
- 5: 15,
- 6: 1,
- 7: 12,
- 8: 4,
- 9: 13,
- 10: 16,
- 11: 3,
- 12: 7,
- 13: 9,
- 14: 0,
- 15: 5,
- 16: 10,
- 17: 2,
- },
- {
- 0: 15,
- 1: 2,
- 2: 1,
- 3: 9,
- 4: 11,
- 5: 17,
- 6: 12,
- 7: 8,
- 8: 7,
- 9: 3,
- 10: 14,
- 11: 4,
- 12: 6,
- 13: 16,
- 14: 10,
- 15: 0,
- 16: 13,
- 17: 5,
- },
- {
- 0: 16,
- 1: 9,
- 2: 8,
- 3: 17,
- 4: 13,
- 5: 11,
- 6: 14,
- 7: 15,
- 8: 2,
- 9: 1,
- 10: 12,
- 11: 5,
- 12: 10,
- 13: 4,
- 14: 6,
- 15: 7,
- 16: 0,
- 17: 3,
- },
- {
- 0: 17,
- 1: 15,
- 2: 11,
- 3: 8,
- 4: 10,
- 5: 14,
- 6: 16,
- 7: 13,
- 8: 3,
- 9: 12,
- 10: 4,
- 11: 2,
- 12: 9,
- 13: 7,
- 14: 5,
- 15: 1,
- 16: 6,
- 17: 0,
- },
- ],
- 20: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- 16: 18,
- 17: 19,
- 18: 16,
- 19: 17,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- 16: 19,
- 17: 18,
- 18: 17,
- 19: 16,
- },
- {
- 0: 4,
- 1: 16,
- 2: 6,
- 3: 18,
- 4: 0,
- 5: 9,
- 6: 2,
- 7: 11,
- 8: 12,
- 9: 5,
- 10: 14,
- 11: 7,
- 12: 8,
- 13: 17,
- 14: 10,
- 15: 19,
- 16: 1,
- 17: 13,
- 18: 3,
- 19: 15,
- },
- {
- 0: 5,
- 1: 4,
- 2: 16,
- 3: 17,
- 4: 1,
- 5: 0,
- 6: 11,
- 7: 10,
- 8: 13,
- 9: 12,
- 10: 7,
- 11: 6,
- 12: 9,
- 13: 8,
- 14: 19,
- 15: 18,
- 16: 2,
- 17: 3,
- 18: 15,
- 19: 14,
- },
- {
- 0: 6,
- 1: 5,
- 2: 18,
- 3: 16,
- 4: 11,
- 5: 1,
- 6: 0,
- 7: 9,
- 8: 14,
- 9: 7,
- 10: 12,
- 11: 4,
- 12: 10,
- 13: 19,
- 14: 8,
- 15: 17,
- 16: 3,
- 17: 15,
- 18: 2,
- 19: 13,
- },
- {
- 0: 7,
- 1: 6,
- 2: 9,
- 3: 13,
- 4: 16,
- 5: 11,
- 6: 1,
- 7: 0,
- 8: 15,
- 9: 2,
- 10: 19,
- 11: 5,
- 12: 17,
- 13: 3,
- 14: 18,
- 15: 8,
- 16: 4,
- 17: 12,
- 18: 14,
- 19: 10,
- },
- {
- 0: 8,
- 1: 17,
- 2: 7,
- 3: 11,
- 4: 14,
- 5: 16,
- 6: 18,
- 7: 2,
- 8: 0,
- 9: 15,
- 10: 13,
- 11: 3,
- 12: 19,
- 13: 10,
- 14: 4,
- 15: 9,
- 16: 5,
- 17: 1,
- 18: 6,
- 19: 12,
- },
- {
- 0: 9,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 14,
- 7: 1,
- 8: 19,
- 9: 0,
- 10: 15,
- 11: 17,
- 12: 18,
- 13: 16,
- 14: 6,
- 15: 10,
- 16: 13,
- 17: 11,
- 18: 12,
- 19: 8,
- },
- {
- 0: 10,
- 1: 11,
- 2: 17,
- 3: 12,
- 4: 15,
- 5: 14,
- 6: 16,
- 7: 8,
- 8: 7,
- 9: 19,
- 10: 0,
- 11: 1,
- 12: 3,
- 13: 18,
- 14: 5,
- 15: 4,
- 16: 6,
- 17: 2,
- 18: 13,
- 19: 9,
- },
- {
- 0: 11,
- 1: 13,
- 2: 14,
- 3: 4,
- 4: 3,
- 5: 19,
- 6: 9,
- 7: 15,
- 8: 18,
- 9: 6,
- 10: 17,
- 11: 0,
- 12: 16,
- 13: 1,
- 14: 2,
- 15: 7,
- 16: 12,
- 17: 10,
- 18: 8,
- 19: 5,
- },
- {
- 0: 12,
- 1: 14,
- 2: 15,
- 3: 8,
- 4: 18,
- 5: 10,
- 6: 13,
- 7: 16,
- 8: 3,
- 9: 17,
- 10: 5,
- 11: 19,
- 12: 0,
- 13: 6,
- 14: 1,
- 15: 2,
- 16: 7,
- 17: 9,
- 18: 4,
- 19: 11,
- },
- {
- 0: 13,
- 1: 10,
- 2: 5,
- 3: 7,
- 4: 12,
- 5: 2,
- 6: 19,
- 7: 3,
- 8: 17,
- 9: 18,
- 10: 1,
- 11: 15,
- 12: 4,
- 13: 0,
- 14: 16,
- 15: 11,
- 16: 14,
- 17: 8,
- 18: 9,
- 19: 6,
- },
- {
- 0: 14,
- 1: 19,
- 2: 13,
- 3: 10,
- 4: 8,
- 5: 18,
- 6: 15,
- 7: 17,
- 8: 4,
- 9: 16,
- 10: 3,
- 11: 12,
- 12: 11,
- 13: 2,
- 14: 0,
- 15: 6,
- 16: 9,
- 17: 7,
- 18: 5,
- 19: 1,
- },
- {
- 0: 15,
- 1: 18,
- 2: 10,
- 3: 14,
- 4: 9,
- 5: 12,
- 6: 17,
- 7: 19,
- 8: 16,
- 9: 4,
- 10: 2,
- 11: 13,
- 12: 5,
- 13: 11,
- 14: 3,
- 15: 0,
- 16: 8,
- 17: 6,
- 18: 1,
- 19: 7,
- },
- {
- 0: 16,
- 1: 8,
- 2: 11,
- 3: 6,
- 4: 19,
- 5: 15,
- 6: 3,
- 7: 12,
- 8: 1,
- 9: 13,
- 10: 18,
- 11: 2,
- 12: 7,
- 13: 9,
- 14: 17,
- 15: 5,
- 16: 0,
- 17: 14,
- 18: 10,
- 19: 4,
- },
- {
- 0: 17,
- 1: 9,
- 2: 12,
- 3: 19,
- 4: 10,
- 5: 13,
- 6: 8,
- 7: 14,
- 8: 6,
- 9: 1,
- 10: 4,
- 11: 18,
- 12: 2,
- 13: 5,
- 14: 7,
- 15: 16,
- 16: 15,
- 17: 0,
- 18: 11,
- 19: 3,
- },
- {
- 0: 18,
- 1: 12,
- 2: 19,
- 3: 15,
- 4: 17,
- 5: 8,
- 6: 10,
- 7: 13,
- 8: 5,
- 9: 14,
- 10: 6,
- 11: 16,
- 12: 1,
- 13: 7,
- 14: 9,
- 15: 3,
- 16: 11,
- 17: 4,
- 18: 0,
- 19: 2,
- },
- {
- 0: 19,
- 1: 15,
- 2: 8,
- 3: 9,
- 4: 13,
- 5: 17,
- 6: 12,
- 7: 18,
- 8: 2,
- 9: 3,
- 10: 16,
- 11: 14,
- 12: 6,
- 13: 4,
- 14: 11,
- 15: 1,
- 16: 10,
- 17: 5,
- 18: 7,
- 19: 0,
- },
- ],
- 22: false,
- 24: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- 16: 18,
- 17: 19,
- 18: 16,
- 19: 17,
- 20: 22,
- 21: 23,
- 22: 20,
- 23: 21,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- 16: 19,
- 17: 18,
- 18: 17,
- 19: 16,
- 20: 23,
- 21: 22,
- 22: 21,
- 23: 20,
- },
- {
- 0: 4,
- 1: 5,
- 2: 6,
- 3: 7,
- 4: 0,
- 5: 1,
- 6: 2,
- 7: 3,
- 8: 12,
- 9: 13,
- 10: 14,
- 11: 15,
- 12: 8,
- 13: 9,
- 14: 10,
- 15: 11,
- 16: 20,
- 17: 21,
- 18: 22,
- 19: 23,
- 20: 16,
- 21: 17,
- 22: 18,
- 23: 19,
- },
- {
- 0: 5,
- 1: 4,
- 2: 7,
- 3: 6,
- 4: 1,
- 5: 0,
- 6: 3,
- 7: 2,
- 8: 13,
- 9: 12,
- 10: 15,
- 11: 14,
- 12: 9,
- 13: 8,
- 14: 11,
- 15: 10,
- 16: 21,
- 17: 20,
- 18: 23,
- 19: 22,
- 20: 17,
- 21: 16,
- 22: 19,
- 23: 18,
- },
- {
- 0: 6,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 0,
- 7: 1,
- 8: 14,
- 9: 15,
- 10: 12,
- 11: 13,
- 12: 10,
- 13: 11,
- 14: 8,
- 15: 9,
- 16: 22,
- 17: 23,
- 18: 20,
- 19: 21,
- 20: 18,
- 21: 19,
- 22: 16,
- 23: 17,
- },
- {
- 0: 7,
- 1: 6,
- 2: 5,
- 3: 4,
- 4: 3,
- 5: 2,
- 6: 1,
- 7: 0,
- 8: 15,
- 9: 14,
- 10: 13,
- 11: 12,
- 12: 11,
- 13: 10,
- 14: 9,
- 15: 8,
- 16: 23,
- 17: 22,
- 18: 21,
- 19: 20,
- 20: 19,
- 21: 18,
- 22: 17,
- 23: 16,
- },
- {
- 0: 8,
- 1: 16,
- 2: 10,
- 3: 18,
- 4: 12,
- 5: 20,
- 6: 14,
- 7: 22,
- 8: 0,
- 9: 17,
- 10: 2,
- 11: 19,
- 12: 4,
- 13: 21,
- 14: 6,
- 15: 23,
- 16: 1,
- 17: 9,
- 18: 3,
- 19: 11,
- 20: 5,
- 21: 13,
- 22: 7,
- 23: 15,
- },
- {
- 0: 9,
- 1: 8,
- 2: 16,
- 3: 17,
- 4: 13,
- 5: 12,
- 6: 20,
- 7: 21,
- 8: 1,
- 9: 0,
- 10: 19,
- 11: 18,
- 12: 5,
- 13: 4,
- 14: 23,
- 15: 22,
- 16: 2,
- 17: 3,
- 18: 11,
- 19: 10,
- 20: 6,
- 21: 7,
- 22: 15,
- 23: 14,
- },
- {
- 0: 10,
- 1: 17,
- 2: 8,
- 3: 16,
- 4: 14,
- 5: 22,
- 6: 12,
- 7: 19,
- 8: 2,
- 9: 18,
- 10: 0,
- 11: 20,
- 12: 6,
- 13: 23,
- 14: 4,
- 15: 21,
- 16: 3,
- 17: 1,
- 18: 9,
- 19: 7,
- 20: 11,
- 21: 15,
- 22: 5,
- 23: 13,
- },
- {
- 0: 11,
- 1: 21,
- 2: 13,
- 3: 20,
- 4: 16,
- 5: 8,
- 6: 18,
- 7: 10,
- 8: 5,
- 9: 23,
- 10: 7,
- 11: 0,
- 12: 19,
- 13: 2,
- 14: 22,
- 15: 17,
- 16: 4,
- 17: 15,
- 18: 6,
- 19: 12,
- 20: 3,
- 21: 1,
- 22: 14,
- 23: 9,
- },
- {
- 0: 12,
- 1: 20,
- 2: 19,
- 3: 9,
- 4: 10,
- 5: 15,
- 6: 22,
- 7: 16,
- 8: 21,
- 9: 3,
- 10: 4,
- 11: 23,
- 12: 0,
- 13: 17,
- 14: 18,
- 15: 5,
- 16: 7,
- 17: 13,
- 18: 14,
- 19: 2,
- 20: 1,
- 21: 8,
- 22: 6,
- 23: 11,
- },
- {
- 0: 13,
- 1: 9,
- 2: 11,
- 3: 21,
- 4: 17,
- 5: 16,
- 6: 15,
- 7: 18,
- 8: 20,
- 9: 1,
- 10: 23,
- 11: 2,
- 12: 22,
- 13: 0,
- 14: 19,
- 15: 6,
- 16: 5,
- 17: 4,
- 18: 7,
- 19: 14,
- 20: 8,
- 21: 3,
- 22: 12,
- 23: 10,
- },
- {
- 0: 14,
- 1: 22,
- 2: 20,
- 3: 13,
- 4: 21,
- 5: 11,
- 6: 19,
- 7: 9,
- 8: 23,
- 9: 7,
- 10: 18,
- 11: 5,
- 12: 17,
- 13: 3,
- 14: 0,
- 15: 16,
- 16: 15,
- 17: 12,
- 18: 10,
- 19: 6,
- 20: 2,
- 21: 4,
- 22: 1,
- 23: 8,
- },
- {
- 0: 15,
- 1: 18,
- 2: 23,
- 3: 8,
- 4: 19,
- 5: 17,
- 6: 10,
- 7: 13,
- 8: 3,
- 9: 16,
- 10: 6,
- 11: 22,
- 12: 20,
- 13: 7,
- 14: 21,
- 15: 0,
- 16: 9,
- 17: 5,
- 18: 1,
- 19: 4,
- 20: 12,
- 21: 14,
- 22: 11,
- 23: 2,
- },
- {
- 0: 16,
- 1: 23,
- 2: 15,
- 3: 10,
- 4: 20,
- 5: 18,
- 6: 8,
- 7: 14,
- 8: 6,
- 9: 19,
- 10: 3,
- 11: 17,
- 12: 21,
- 13: 22,
- 14: 7,
- 15: 2,
- 16: 0,
- 17: 11,
- 18: 5,
- 19: 9,
- 20: 4,
- 21: 12,
- 22: 13,
- 23: 1,
- },
- {
- 0: 17,
- 1: 19,
- 2: 14,
- 3: 12,
- 4: 22,
- 5: 23,
- 6: 11,
- 7: 15,
- 8: 18,
- 9: 20,
- 10: 21,
- 11: 6,
- 12: 3,
- 13: 16,
- 14: 2,
- 15: 7,
- 16: 13,
- 17: 0,
- 18: 8,
- 19: 1,
- 20: 9,
- 21: 10,
- 22: 4,
- 23: 5,
- },
- {
- 0: 18,
- 1: 15,
- 2: 12,
- 3: 22,
- 4: 23,
- 5: 19,
- 6: 13,
- 7: 11,
- 8: 16,
- 9: 21,
- 10: 17,
- 11: 7,
- 12: 2,
- 13: 6,
- 14: 20,
- 15: 1,
- 16: 8,
- 17: 10,
- 18: 0,
- 19: 5,
- 20: 14,
- 21: 9,
- 22: 3,
- 23: 4,
- },
- {
- 0: 19,
- 1: 11,
- 2: 21,
- 3: 15,
- 4: 18,
- 5: 14,
- 6: 17,
- 7: 8,
- 8: 7,
- 9: 22,
- 10: 16,
- 11: 1,
- 12: 23,
- 13: 20,
- 14: 5,
- 15: 3,
- 16: 10,
- 17: 6,
- 18: 4,
- 19: 0,
- 20: 13,
- 21: 2,
- 22: 9,
- 23: 12,
- },
- {
- 0: 20,
- 1: 14,
- 2: 17,
- 3: 11,
- 4: 9,
- 5: 10,
- 6: 21,
- 7: 23,
- 8: 22,
- 9: 4,
- 10: 5,
- 11: 3,
- 12: 16,
- 13: 18,
- 14: 1,
- 15: 19,
- 16: 12,
- 17: 2,
- 18: 13,
- 19: 15,
- 20: 0,
- 21: 6,
- 22: 8,
- 23: 7,
- },
- {
- 0: 21,
- 1: 10,
- 2: 22,
- 3: 14,
- 4: 8,
- 5: 9,
- 6: 23,
- 7: 17,
- 8: 4,
- 9: 5,
- 10: 1,
- 11: 16,
- 12: 18,
- 13: 19,
- 14: 3,
- 15: 20,
- 16: 11,
- 17: 7,
- 18: 12,
- 19: 13,
- 20: 15,
- 21: 0,
- 22: 2,
- 23: 6,
- },
- {
- 0: 22,
- 1: 13,
- 2: 9,
- 3: 23,
- 4: 11,
- 5: 21,
- 6: 16,
- 7: 12,
- 8: 19,
- 9: 2,
- 10: 20,
- 11: 4,
- 12: 7,
- 13: 1,
- 14: 17,
- 15: 18,
- 16: 6,
- 17: 14,
- 18: 15,
- 19: 8,
- 20: 10,
- 21: 5,
- 22: 0,
- 23: 3,
- },
- {
- 0: 23,
- 1: 12,
- 2: 18,
- 3: 19,
- 4: 15,
- 5: 13,
- 6: 9,
- 7: 20,
- 8: 17,
- 9: 6,
- 10: 22,
- 11: 21,
- 12: 1,
- 13: 5,
- 14: 16,
- 15: 4,
- 16: 14,
- 17: 8,
- 18: 2,
- 19: 3,
- 20: 7,
- 21: 11,
- 22: 10,
- 23: 0,
- },
- ],
- 26: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- },
- {
- 0: 2,
- 1: 24,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 10,
- 9: 7,
- 10: 8,
- 11: 13,
- 12: 14,
- 13: 11,
- 14: 12,
- 15: 17,
- 16: 18,
- 17: 15,
- 18: 16,
- 19: 21,
- 20: 22,
- 21: 19,
- 22: 20,
- 23: 25,
- 24: 1,
- 25: 23,
- },
- {
- 0: 3,
- 1: 5,
- 2: 24,
- 3: 0,
- 4: 7,
- 5: 1,
- 6: 9,
- 7: 4,
- 8: 11,
- 9: 6,
- 10: 13,
- 11: 8,
- 12: 15,
- 13: 10,
- 14: 17,
- 15: 12,
- 16: 19,
- 17: 14,
- 18: 21,
- 19: 16,
- 20: 23,
- 21: 18,
- 22: 25,
- 23: 20,
- 24: 2,
- 25: 22,
- },
- {
- 0: 4,
- 1: 22,
- 2: 23,
- 3: 24,
- 4: 0,
- 5: 9,
- 6: 10,
- 7: 11,
- 8: 12,
- 9: 5,
- 10: 6,
- 11: 7,
- 12: 8,
- 13: 17,
- 14: 18,
- 15: 19,
- 16: 20,
- 17: 13,
- 18: 14,
- 19: 15,
- 20: 16,
- 21: 25,
- 22: 1,
- 23: 2,
- 24: 3,
- 25: 21,
- },
- {
- 0: 5,
- 1: 2,
- 2: 1,
- 3: 23,
- 4: 9,
- 5: 0,
- 6: 8,
- 7: 15,
- 8: 6,
- 9: 4,
- 10: 18,
- 11: 12,
- 12: 11,
- 13: 14,
- 14: 13,
- 15: 7,
- 16: 21,
- 17: 19,
- 18: 10,
- 19: 17,
- 20: 25,
- 21: 16,
- 22: 24,
- 23: 3,
- 24: 22,
- 25: 20,
- },
- {
- 0: 6,
- 1: 20,
- 2: 5,
- 3: 9,
- 4: 18,
- 5: 2,
- 6: 0,
- 7: 17,
- 8: 13,
- 9: 3,
- 10: 12,
- 11: 14,
- 12: 10,
- 13: 8,
- 14: 11,
- 15: 21,
- 16: 22,
- 17: 7,
- 18: 4,
- 19: 25,
- 20: 1,
- 21: 15,
- 22: 16,
- 23: 24,
- 24: 23,
- 25: 19,
- },
- {
- 0: 7,
- 1: 10,
- 2: 9,
- 3: 19,
- 4: 21,
- 5: 15,
- 6: 11,
- 7: 0,
- 8: 14,
- 9: 2,
- 10: 1,
- 11: 6,
- 12: 22,
- 13: 25,
- 14: 8,
- 15: 5,
- 16: 23,
- 17: 18,
- 18: 17,
- 19: 3,
- 20: 24,
- 21: 4,
- 22: 12,
- 23: 16,
- 24: 20,
- 25: 13,
- },
- {
- 0: 8,
- 1: 6,
- 2: 11,
- 3: 17,
- 4: 24,
- 5: 22,
- 6: 1,
- 7: 14,
- 8: 0,
- 9: 20,
- 10: 25,
- 11: 2,
- 12: 18,
- 13: 19,
- 14: 7,
- 15: 16,
- 16: 15,
- 17: 3,
- 18: 12,
- 19: 13,
- 20: 9,
- 21: 23,
- 22: 5,
- 23: 21,
- 24: 4,
- 25: 10,
- },
- {
- 0: 9,
- 1: 23,
- 2: 6,
- 3: 20,
- 4: 25,
- 5: 19,
- 6: 2,
- 7: 8,
- 8: 7,
- 9: 0,
- 10: 14,
- 11: 21,
- 12: 17,
- 13: 15,
- 14: 10,
- 15: 13,
- 16: 24,
- 17: 12,
- 18: 22,
- 19: 5,
- 20: 3,
- 21: 11,
- 22: 18,
- 23: 1,
- 24: 16,
- 25: 4,
- },
- {
- 0: 10,
- 1: 13,
- 2: 4,
- 3: 21,
- 4: 2,
- 5: 6,
- 6: 5,
- 7: 12,
- 8: 19,
- 9: 14,
- 10: 0,
- 11: 23,
- 12: 7,
- 13: 1,
- 14: 9,
- 15: 20,
- 16: 25,
- 17: 22,
- 18: 24,
- 19: 8,
- 20: 15,
- 21: 3,
- 22: 17,
- 23: 11,
- 24: 18,
- 25: 16,
- },
- {
- 0: 11,
- 1: 25,
- 2: 20,
- 3: 8,
- 4: 16,
- 5: 10,
- 6: 14,
- 7: 13,
- 8: 3,
- 9: 12,
- 10: 5,
- 11: 0,
- 12: 9,
- 13: 7,
- 14: 6,
- 15: 18,
- 16: 4,
- 17: 23,
- 18: 15,
- 19: 22,
- 20: 2,
- 21: 24,
- 22: 19,
- 23: 17,
- 24: 21,
- 25: 1,
- },
- {
- 0: 12,
- 1: 16,
- 2: 17,
- 3: 14,
- 4: 19,
- 5: 7,
- 6: 13,
- 7: 5,
- 8: 24,
- 9: 10,
- 10: 9,
- 11: 20,
- 12: 0,
- 13: 6,
- 14: 3,
- 15: 25,
- 16: 1,
- 17: 2,
- 18: 23,
- 19: 4,
- 20: 11,
- 21: 22,
- 22: 21,
- 23: 18,
- 24: 8,
- 25: 15,
- },
- {
- 0: 13,
- 1: 17,
- 2: 16,
- 3: 10,
- 4: 11,
- 5: 8,
- 6: 19,
- 7: 25,
- 8: 5,
- 9: 24,
- 10: 3,
- 11: 4,
- 12: 23,
- 13: 0,
- 14: 21,
- 15: 22,
- 16: 2,
- 17: 1,
- 18: 20,
- 19: 6,
- 20: 18,
- 21: 14,
- 22: 15,
- 23: 12,
- 24: 9,
- 25: 7,
- },
- {
- 0: 14,
- 1: 7,
- 2: 13,
- 3: 18,
- 4: 10,
- 5: 16,
- 6: 17,
- 7: 1,
- 8: 22,
- 9: 21,
- 10: 4,
- 11: 25,
- 12: 20,
- 13: 2,
- 14: 0,
- 15: 23,
- 16: 5,
- 17: 6,
- 18: 3,
- 19: 24,
- 20: 12,
- 21: 9,
- 22: 8,
- 23: 15,
- 24: 19,
- 25: 11,
- },
- {
- 0: 15,
- 1: 4,
- 2: 7,
- 3: 11,
- 4: 1,
- 5: 25,
- 6: 24,
- 7: 2,
- 8: 17,
- 9: 22,
- 10: 21,
- 11: 3,
- 12: 16,
- 13: 18,
- 14: 23,
- 15: 0,
- 16: 12,
- 17: 8,
- 18: 13,
- 19: 20,
- 20: 19,
- 21: 10,
- 22: 9,
- 23: 14,
- 24: 6,
- 25: 5,
- },
- {
- 0: 16,
- 1: 21,
- 2: 14,
- 3: 6,
- 4: 8,
- 5: 11,
- 6: 3,
- 7: 22,
- 8: 4,
- 9: 17,
- 10: 20,
- 11: 5,
- 12: 19,
- 13: 23,
- 14: 2,
- 15: 24,
- 16: 0,
- 17: 9,
- 18: 25,
- 19: 12,
- 20: 10,
- 21: 1,
- 22: 7,
- 23: 13,
- 24: 15,
- 25: 18,
- },
- {
- 0: 17,
- 1: 15,
- 2: 8,
- 3: 22,
- 4: 20,
- 5: 13,
- 6: 25,
- 7: 10,
- 8: 2,
- 9: 16,
- 10: 7,
- 11: 18,
- 12: 21,
- 13: 5,
- 14: 24,
- 15: 1,
- 16: 9,
- 17: 0,
- 18: 11,
- 19: 23,
- 20: 4,
- 21: 12,
- 22: 3,
- 23: 19,
- 24: 14,
- 25: 6,
- },
- {
- 0: 18,
- 1: 8,
- 2: 25,
- 3: 12,
- 4: 14,
- 5: 21,
- 6: 22,
- 7: 23,
- 8: 1,
- 9: 19,
- 10: 16,
- 11: 15,
- 12: 3,
- 13: 20,
- 14: 4,
- 15: 11,
- 16: 10,
- 17: 24,
- 18: 0,
- 19: 9,
- 20: 13,
- 21: 5,
- 22: 6,
- 23: 7,
- 24: 17,
- 25: 2,
- },
- {
- 0: 19,
- 1: 11,
- 2: 22,
- 3: 4,
- 4: 3,
- 5: 17,
- 6: 23,
- 7: 21,
- 8: 20,
- 9: 18,
- 10: 15,
- 11: 1,
- 12: 24,
- 13: 16,
- 14: 25,
- 15: 10,
- 16: 13,
- 17: 5,
- 18: 9,
- 19: 0,
- 20: 8,
- 21: 7,
- 22: 2,
- 23: 6,
- 24: 12,
- 25: 14,
- },
- {
- 0: 20,
- 1: 12,
- 2: 19,
- 3: 15,
- 4: 22,
- 5: 14,
- 6: 21,
- 7: 16,
- 8: 18,
- 9: 25,
- 10: 23,
- 11: 17,
- 12: 1,
- 13: 24,
- 14: 5,
- 15: 3,
- 16: 7,
- 17: 11,
- 18: 8,
- 19: 2,
- 20: 0,
- 21: 6,
- 22: 4,
- 23: 10,
- 24: 13,
- 25: 9,
- },
- {
- 0: 21,
- 1: 19,
- 2: 10,
- 3: 16,
- 4: 12,
- 5: 23,
- 6: 18,
- 7: 24,
- 8: 15,
- 9: 11,
- 10: 2,
- 11: 9,
- 12: 4,
- 13: 22,
- 14: 20,
- 15: 8,
- 16: 3,
- 17: 25,
- 18: 6,
- 19: 1,
- 20: 14,
- 21: 0,
- 22: 13,
- 23: 5,
- 24: 7,
- 25: 17,
- },
- {
- 0: 22,
- 1: 3,
- 2: 15,
- 3: 1,
- 4: 13,
- 5: 20,
- 6: 12,
- 7: 18,
- 8: 25,
- 9: 23,
- 10: 24,
- 11: 19,
- 12: 6,
- 13: 4,
- 14: 16,
- 15: 2,
- 16: 14,
- 17: 21,
- 18: 7,
- 19: 11,
- 20: 5,
- 21: 17,
- 22: 0,
- 23: 9,
- 24: 10,
- 25: 8,
- },
- {
- 0: 23,
- 1: 18,
- 2: 12,
- 3: 25,
- 4: 15,
- 5: 24,
- 6: 16,
- 7: 20,
- 8: 21,
- 9: 13,
- 10: 17,
- 11: 22,
- 12: 2,
- 13: 9,
- 14: 19,
- 15: 4,
- 16: 6,
- 17: 10,
- 18: 1,
- 19: 14,
- 20: 7,
- 21: 8,
- 22: 11,
- 23: 0,
- 24: 5,
- 25: 3,
- },
- {
- 0: 24,
- 1: 14,
- 2: 21,
- 3: 13,
- 4: 17,
- 5: 18,
- 6: 20,
- 7: 19,
- 8: 23,
- 9: 15,
- 10: 22,
- 11: 16,
- 12: 25,
- 13: 3,
- 14: 1,
- 15: 9,
- 16: 11,
- 17: 4,
- 18: 5,
- 19: 7,
- 20: 6,
- 21: 2,
- 22: 10,
- 23: 8,
- 24: 0,
- 25: 12,
- },
- {
- 0: 25,
- 1: 9,
- 2: 18,
- 3: 7,
- 4: 23,
- 5: 12,
- 6: 15,
- 7: 3,
- 8: 16,
- 9: 1,
- 10: 19,
- 11: 24,
- 12: 5,
- 13: 21,
- 14: 22,
- 15: 6,
- 16: 8,
- 17: 20,
- 18: 2,
- 19: 10,
- 20: 17,
- 21: 13,
- 22: 14,
- 23: 4,
- 24: 11,
- 25: 0,
- },
- ],
- 28: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- 26: 27,
- 27: 26,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- 16: 18,
- 17: 19,
- 18: 16,
- 19: 17,
- 20: 22,
- 21: 23,
- 22: 20,
- 23: 21,
- 24: 26,
- 25: 27,
- 26: 24,
- 27: 25,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- 16: 19,
- 17: 18,
- 18: 17,
- 19: 16,
- 20: 23,
- 21: 22,
- 22: 21,
- 23: 20,
- 24: 27,
- 25: 26,
- 26: 25,
- 27: 24,
- },
- {
- 0: 4,
- 1: 24,
- 2: 6,
- 3: 26,
- 4: 0,
- 5: 9,
- 6: 2,
- 7: 11,
- 8: 12,
- 9: 5,
- 10: 14,
- 11: 7,
- 12: 8,
- 13: 17,
- 14: 10,
- 15: 19,
- 16: 20,
- 17: 13,
- 18: 22,
- 19: 15,
- 20: 16,
- 21: 25,
- 22: 18,
- 23: 27,
- 24: 1,
- 25: 21,
- 26: 3,
- 27: 23,
- },
- {
- 0: 5,
- 1: 4,
- 2: 24,
- 3: 25,
- 4: 1,
- 5: 0,
- 6: 11,
- 7: 10,
- 8: 13,
- 9: 12,
- 10: 7,
- 11: 6,
- 12: 9,
- 13: 8,
- 14: 19,
- 15: 18,
- 16: 21,
- 17: 20,
- 18: 15,
- 19: 14,
- 20: 17,
- 21: 16,
- 22: 27,
- 23: 26,
- 24: 2,
- 25: 3,
- 26: 23,
- 27: 22,
- },
- {
- 0: 6,
- 1: 5,
- 2: 26,
- 3: 24,
- 4: 11,
- 5: 1,
- 6: 0,
- 7: 9,
- 8: 14,
- 9: 7,
- 10: 12,
- 11: 4,
- 12: 10,
- 13: 19,
- 14: 8,
- 15: 17,
- 16: 22,
- 17: 15,
- 18: 20,
- 19: 13,
- 20: 18,
- 21: 27,
- 22: 16,
- 23: 25,
- 24: 3,
- 25: 23,
- 26: 2,
- 27: 21,
- },
- {
- 0: 7,
- 1: 11,
- 2: 9,
- 3: 21,
- 4: 24,
- 5: 14,
- 6: 17,
- 7: 0,
- 8: 15,
- 9: 2,
- 10: 27,
- 11: 1,
- 12: 19,
- 13: 18,
- 14: 5,
- 15: 8,
- 16: 23,
- 17: 6,
- 18: 13,
- 19: 12,
- 20: 25,
- 21: 3,
- 22: 26,
- 23: 16,
- 24: 4,
- 25: 20,
- 26: 22,
- 27: 10,
- },
- {
- 0: 8,
- 1: 9,
- 2: 7,
- 3: 23,
- 4: 25,
- 5: 10,
- 6: 26,
- 7: 2,
- 8: 0,
- 9: 1,
- 10: 5,
- 11: 14,
- 12: 17,
- 13: 20,
- 14: 11,
- 15: 21,
- 16: 24,
- 17: 12,
- 18: 27,
- 19: 22,
- 20: 13,
- 21: 15,
- 22: 19,
- 23: 3,
- 24: 16,
- 25: 4,
- 26: 6,
- 27: 18,
- },
- {
- 0: 9,
- 1: 22,
- 2: 17,
- 3: 14,
- 4: 27,
- 5: 11,
- 6: 25,
- 7: 20,
- 8: 19,
- 9: 0,
- 10: 15,
- 11: 5,
- 12: 18,
- 13: 16,
- 14: 3,
- 15: 10,
- 16: 13,
- 17: 2,
- 18: 12,
- 19: 8,
- 20: 7,
- 21: 26,
- 22: 1,
- 23: 24,
- 24: 23,
- 25: 6,
- 26: 21,
- 27: 4,
- },
- {
- 0: 10,
- 1: 18,
- 2: 12,
- 3: 16,
- 4: 19,
- 5: 26,
- 6: 24,
- 7: 17,
- 8: 22,
- 9: 25,
- 10: 0,
- 11: 15,
- 12: 2,
- 13: 21,
- 14: 23,
- 15: 11,
- 16: 3,
- 17: 7,
- 18: 1,
- 19: 4,
- 20: 27,
- 21: 13,
- 22: 8,
- 23: 14,
- 24: 6,
- 25: 9,
- 26: 5,
- 27: 20,
- },
- {
- 0: 11,
- 1: 23,
- 2: 5,
- 3: 15,
- 4: 21,
- 5: 2,
- 6: 8,
- 7: 19,
- 8: 6,
- 9: 14,
- 10: 20,
- 11: 0,
- 12: 16,
- 13: 27,
- 14: 9,
- 15: 3,
- 16: 12,
- 17: 24,
- 18: 26,
- 19: 7,
- 20: 10,
- 21: 4,
- 22: 25,
- 23: 1,
- 24: 17,
- 25: 22,
- 26: 18,
- 27: 13,
- },
- {
- 0: 12,
- 1: 14,
- 2: 21,
- 3: 22,
- 4: 9,
- 5: 15,
- 6: 13,
- 7: 8,
- 8: 7,
- 9: 4,
- 10: 19,
- 11: 25,
- 12: 0,
- 13: 6,
- 14: 1,
- 15: 5,
- 16: 26,
- 17: 27,
- 18: 23,
- 19: 10,
- 20: 24,
- 21: 2,
- 22: 3,
- 23: 18,
- 24: 20,
- 25: 11,
- 26: 16,
- 27: 17,
- },
- {
- 0: 13,
- 1: 25,
- 2: 19,
- 3: 9,
- 4: 10,
- 5: 12,
- 6: 15,
- 7: 21,
- 8: 26,
- 9: 3,
- 10: 4,
- 11: 18,
- 12: 5,
- 13: 0,
- 14: 20,
- 15: 6,
- 16: 27,
- 17: 23,
- 18: 11,
- 19: 2,
- 20: 14,
- 21: 7,
- 22: 24,
- 23: 17,
- 24: 22,
- 25: 1,
- 26: 8,
- 27: 16,
- },
- {
- 0: 14,
- 1: 21,
- 2: 15,
- 3: 6,
- 4: 18,
- 5: 23,
- 6: 3,
- 7: 22,
- 8: 17,
- 9: 24,
- 10: 13,
- 11: 26,
- 12: 20,
- 13: 10,
- 14: 0,
- 15: 2,
- 16: 25,
- 17: 8,
- 18: 4,
- 19: 27,
- 20: 12,
- 21: 1,
- 22: 7,
- 23: 5,
- 24: 9,
- 25: 16,
- 26: 11,
- 27: 19,
- },
- {
- 0: 15,
- 1: 16,
- 2: 13,
- 3: 11,
- 4: 20,
- 5: 17,
- 6: 19,
- 7: 26,
- 8: 23,
- 9: 27,
- 10: 25,
- 11: 3,
- 12: 22,
- 13: 2,
- 14: 18,
- 15: 0,
- 16: 1,
- 17: 5,
- 18: 14,
- 19: 6,
- 20: 4,
- 21: 24,
- 22: 12,
- 23: 8,
- 24: 21,
- 25: 10,
- 26: 7,
- 27: 9,
- },
- {
- 0: 16,
- 1: 26,
- 2: 4,
- 3: 20,
- 4: 2,
- 5: 25,
- 6: 14,
- 7: 24,
- 8: 18,
- 9: 17,
- 10: 22,
- 11: 13,
- 12: 23,
- 13: 11,
- 14: 6,
- 15: 27,
- 16: 0,
- 17: 9,
- 18: 8,
- 19: 21,
- 20: 3,
- 21: 19,
- 22: 10,
- 23: 12,
- 24: 7,
- 25: 5,
- 26: 1,
- 27: 15,
- },
- {
- 0: 17,
- 1: 19,
- 2: 11,
- 3: 18,
- 4: 16,
- 5: 24,
- 6: 20,
- 7: 14,
- 8: 25,
- 9: 23,
- 10: 21,
- 11: 2,
- 12: 27,
- 13: 22,
- 14: 7,
- 15: 26,
- 16: 4,
- 17: 0,
- 18: 3,
- 19: 1,
- 20: 6,
- 21: 10,
- 22: 13,
- 23: 9,
- 24: 5,
- 25: 8,
- 26: 15,
- 27: 12,
- },
- {
- 0: 18,
- 1: 15,
- 2: 22,
- 3: 12,
- 4: 13,
- 5: 21,
- 6: 9,
- 7: 25,
- 8: 16,
- 9: 6,
- 10: 23,
- 11: 20,
- 12: 3,
- 13: 4,
- 14: 27,
- 15: 1,
- 16: 8,
- 17: 26,
- 18: 0,
- 19: 24,
- 20: 11,
- 21: 5,
- 22: 2,
- 23: 10,
- 24: 19,
- 25: 7,
- 26: 17,
- 27: 14,
- },
- {
- 0: 19,
- 1: 7,
- 2: 23,
- 3: 5,
- 4: 15,
- 5: 3,
- 6: 18,
- 7: 1,
- 8: 27,
- 9: 13,
- 10: 16,
- 11: 22,
- 12: 24,
- 13: 9,
- 14: 21,
- 15: 4,
- 16: 10,
- 17: 25,
- 18: 6,
- 19: 0,
- 20: 26,
- 21: 14,
- 22: 11,
- 23: 2,
- 24: 12,
- 25: 17,
- 26: 20,
- 27: 8,
- },
- {
- 0: 20,
- 1: 8,
- 2: 27,
- 3: 7,
- 4: 14,
- 5: 13,
- 6: 23,
- 7: 3,
- 8: 1,
- 9: 16,
- 10: 18,
- 11: 21,
- 12: 26,
- 13: 5,
- 14: 4,
- 15: 24,
- 16: 9,
- 17: 22,
- 18: 10,
- 19: 25,
- 20: 0,
- 21: 11,
- 22: 17,
- 23: 6,
- 24: 15,
- 25: 19,
- 26: 12,
- 27: 2,
- },
- {
- 0: 21,
- 1: 27,
- 2: 14,
- 3: 17,
- 4: 8,
- 5: 22,
- 6: 12,
- 7: 13,
- 8: 4,
- 9: 20,
- 10: 24,
- 11: 23,
- 12: 6,
- 13: 7,
- 14: 2,
- 15: 16,
- 16: 15,
- 17: 3,
- 18: 25,
- 19: 26,
- 20: 9,
- 21: 0,
- 22: 5,
- 23: 11,
- 24: 10,
- 25: 18,
- 26: 19,
- 27: 1,
- },
- {
- 0: 22,
- 1: 13,
- 2: 16,
- 3: 10,
- 4: 23,
- 5: 8,
- 6: 21,
- 7: 15,
- 8: 5,
- 9: 26,
- 10: 3,
- 11: 27,
- 12: 25,
- 13: 1,
- 14: 17,
- 15: 7,
- 16: 2,
- 17: 14,
- 18: 24,
- 19: 20,
- 20: 19,
- 21: 6,
- 22: 0,
- 23: 4,
- 24: 18,
- 25: 12,
- 26: 9,
- 27: 11,
- },
- {
- 0: 23,
- 1: 12,
- 2: 10,
- 3: 13,
- 4: 17,
- 5: 19,
- 6: 16,
- 7: 27,
- 8: 20,
- 9: 22,
- 10: 2,
- 11: 24,
- 12: 1,
- 13: 3,
- 14: 26,
- 15: 25,
- 16: 6,
- 17: 4,
- 18: 21,
- 19: 5,
- 20: 8,
- 21: 18,
- 22: 9,
- 23: 0,
- 24: 11,
- 25: 15,
- 26: 14,
- 27: 7,
- },
- {
- 0: 24,
- 1: 20,
- 2: 8,
- 3: 27,
- 4: 26,
- 5: 18,
- 6: 22,
- 7: 12,
- 8: 2,
- 9: 21,
- 10: 17,
- 11: 19,
- 12: 7,
- 13: 25,
- 14: 16,
- 15: 23,
- 16: 14,
- 17: 10,
- 18: 5,
- 19: 11,
- 20: 1,
- 21: 9,
- 22: 6,
- 23: 15,
- 24: 0,
- 25: 13,
- 26: 4,
- 27: 3,
- },
- {
- 0: 25,
- 1: 10,
- 2: 18,
- 3: 4,
- 4: 3,
- 5: 20,
- 6: 27,
- 7: 16,
- 8: 24,
- 9: 15,
- 10: 1,
- 11: 12,
- 12: 11,
- 13: 26,
- 14: 22,
- 15: 9,
- 16: 7,
- 17: 21,
- 18: 2,
- 19: 23,
- 20: 5,
- 21: 17,
- 22: 14,
- 23: 19,
- 24: 8,
- 25: 0,
- 26: 13,
- 27: 6,
- },
- {
- 0: 26,
- 1: 17,
- 2: 20,
- 3: 19,
- 4: 12,
- 5: 27,
- 6: 10,
- 7: 23,
- 8: 21,
- 9: 18,
- 10: 6,
- 11: 16,
- 12: 4,
- 13: 24,
- 14: 25,
- 15: 22,
- 16: 11,
- 17: 1,
- 18: 9,
- 19: 3,
- 20: 2,
- 21: 8,
- 22: 15,
- 23: 7,
- 24: 13,
- 25: 14,
- 26: 0,
- 27: 5,
- },
- {
- 0: 27,
- 1: 6,
- 2: 25,
- 3: 8,
- 4: 22,
- 5: 16,
- 6: 1,
- 7: 18,
- 8: 3,
- 9: 19,
- 10: 26,
- 11: 17,
- 12: 21,
- 13: 23,
- 14: 24,
- 15: 20,
- 16: 5,
- 17: 11,
- 18: 7,
- 19: 9,
- 20: 15,
- 21: 12,
- 22: 4,
- 23: 13,
- 24: 14,
- 25: 2,
- 26: 10,
- 27: 0,
- },
- ],
- 30: false,
- 32: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- 26: 27,
- 27: 26,
- 28: 29,
- 29: 28,
- 30: 31,
- 31: 30,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- 16: 18,
- 17: 19,
- 18: 16,
- 19: 17,
- 20: 22,
- 21: 23,
- 22: 20,
- 23: 21,
- 24: 26,
- 25: 27,
- 26: 24,
- 27: 25,
- 28: 30,
- 29: 31,
- 30: 28,
- 31: 29,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- 16: 19,
- 17: 18,
- 18: 17,
- 19: 16,
- 20: 23,
- 21: 22,
- 22: 21,
- 23: 20,
- 24: 27,
- 25: 26,
- 26: 25,
- 27: 24,
- 28: 31,
- 29: 30,
- 30: 29,
- 31: 28,
- },
- {
- 0: 4,
- 1: 5,
- 2: 6,
- 3: 7,
- 4: 0,
- 5: 1,
- 6: 2,
- 7: 3,
- 8: 12,
- 9: 13,
- 10: 14,
- 11: 15,
- 12: 8,
- 13: 9,
- 14: 10,
- 15: 11,
- 16: 20,
- 17: 21,
- 18: 22,
- 19: 23,
- 20: 16,
- 21: 17,
- 22: 18,
- 23: 19,
- 24: 28,
- 25: 29,
- 26: 30,
- 27: 31,
- 28: 24,
- 29: 25,
- 30: 26,
- 31: 27,
- },
- {
- 0: 5,
- 1: 4,
- 2: 7,
- 3: 6,
- 4: 1,
- 5: 0,
- 6: 3,
- 7: 2,
- 8: 13,
- 9: 12,
- 10: 15,
- 11: 14,
- 12: 9,
- 13: 8,
- 14: 11,
- 15: 10,
- 16: 21,
- 17: 20,
- 18: 23,
- 19: 22,
- 20: 17,
- 21: 16,
- 22: 19,
- 23: 18,
- 24: 29,
- 25: 28,
- 26: 31,
- 27: 30,
- 28: 25,
- 29: 24,
- 30: 27,
- 31: 26,
- },
- {
- 0: 6,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 0,
- 7: 1,
- 8: 14,
- 9: 15,
- 10: 12,
- 11: 13,
- 12: 10,
- 13: 11,
- 14: 8,
- 15: 9,
- 16: 22,
- 17: 23,
- 18: 20,
- 19: 21,
- 20: 18,
- 21: 19,
- 22: 16,
- 23: 17,
- 24: 30,
- 25: 31,
- 26: 28,
- 27: 29,
- 28: 26,
- 29: 27,
- 30: 24,
- 31: 25,
- },
- {
- 0: 7,
- 1: 6,
- 2: 5,
- 3: 4,
- 4: 3,
- 5: 2,
- 6: 1,
- 7: 0,
- 8: 15,
- 9: 14,
- 10: 13,
- 11: 12,
- 12: 11,
- 13: 10,
- 14: 9,
- 15: 8,
- 16: 23,
- 17: 22,
- 18: 21,
- 19: 20,
- 20: 19,
- 21: 18,
- 22: 17,
- 23: 16,
- 24: 31,
- 25: 30,
- 26: 29,
- 27: 28,
- 28: 27,
- 29: 26,
- 30: 25,
- 31: 24,
- },
- {
- 0: 8,
- 1: 9,
- 2: 10,
- 3: 11,
- 4: 12,
- 5: 13,
- 6: 14,
- 7: 15,
- 8: 0,
- 9: 1,
- 10: 2,
- 11: 3,
- 12: 4,
- 13: 5,
- 14: 6,
- 15: 7,
- 16: 24,
- 17: 25,
- 18: 26,
- 19: 27,
- 20: 28,
- 21: 29,
- 22: 30,
- 23: 31,
- 24: 16,
- 25: 17,
- 26: 18,
- 27: 19,
- 28: 20,
- 29: 21,
- 30: 22,
- 31: 23,
- },
- {
- 0: 9,
- 1: 8,
- 2: 11,
- 3: 10,
- 4: 13,
- 5: 12,
- 6: 15,
- 7: 14,
- 8: 1,
- 9: 0,
- 10: 3,
- 11: 2,
- 12: 5,
- 13: 4,
- 14: 7,
- 15: 6,
- 16: 25,
- 17: 24,
- 18: 27,
- 19: 26,
- 20: 29,
- 21: 28,
- 22: 31,
- 23: 30,
- 24: 17,
- 25: 16,
- 26: 19,
- 27: 18,
- 28: 21,
- 29: 20,
- 30: 23,
- 31: 22,
- },
- {
- 0: 10,
- 1: 11,
- 2: 8,
- 3: 9,
- 4: 14,
- 5: 15,
- 6: 12,
- 7: 13,
- 8: 2,
- 9: 3,
- 10: 0,
- 11: 1,
- 12: 6,
- 13: 7,
- 14: 4,
- 15: 5,
- 16: 26,
- 17: 27,
- 18: 24,
- 19: 25,
- 20: 30,
- 21: 31,
- 22: 28,
- 23: 29,
- 24: 18,
- 25: 19,
- 26: 16,
- 27: 17,
- 28: 22,
- 29: 23,
- 30: 20,
- 31: 21,
- },
- {
- 0: 11,
- 1: 10,
- 2: 9,
- 3: 8,
- 4: 15,
- 5: 14,
- 6: 13,
- 7: 12,
- 8: 3,
- 9: 2,
- 10: 1,
- 11: 0,
- 12: 7,
- 13: 6,
- 14: 5,
- 15: 4,
- 16: 27,
- 17: 26,
- 18: 25,
- 19: 24,
- 20: 31,
- 21: 30,
- 22: 29,
- 23: 28,
- 24: 19,
- 25: 18,
- 26: 17,
- 27: 16,
- 28: 23,
- 29: 22,
- 30: 21,
- 31: 20,
- },
- {
- 0: 12,
- 1: 13,
- 2: 14,
- 3: 15,
- 4: 8,
- 5: 9,
- 6: 10,
- 7: 11,
- 8: 4,
- 9: 5,
- 10: 6,
- 11: 7,
- 12: 0,
- 13: 1,
- 14: 2,
- 15: 3,
- 16: 28,
- 17: 29,
- 18: 30,
- 19: 31,
- 20: 24,
- 21: 25,
- 22: 26,
- 23: 27,
- 24: 20,
- 25: 21,
- 26: 22,
- 27: 23,
- 28: 16,
- 29: 17,
- 30: 18,
- 31: 19,
- },
- {
- 0: 13,
- 1: 12,
- 2: 15,
- 3: 14,
- 4: 9,
- 5: 8,
- 6: 11,
- 7: 10,
- 8: 5,
- 9: 4,
- 10: 7,
- 11: 6,
- 12: 1,
- 13: 0,
- 14: 3,
- 15: 2,
- 16: 29,
- 17: 28,
- 18: 31,
- 19: 30,
- 20: 25,
- 21: 24,
- 22: 27,
- 23: 26,
- 24: 21,
- 25: 20,
- 26: 23,
- 27: 22,
- 28: 17,
- 29: 16,
- 30: 19,
- 31: 18,
- },
- {
- 0: 14,
- 1: 15,
- 2: 12,
- 3: 13,
- 4: 10,
- 5: 11,
- 6: 8,
- 7: 9,
- 8: 6,
- 9: 7,
- 10: 4,
- 11: 5,
- 12: 2,
- 13: 3,
- 14: 0,
- 15: 1,
- 16: 30,
- 17: 31,
- 18: 28,
- 19: 29,
- 20: 26,
- 21: 27,
- 22: 24,
- 23: 25,
- 24: 22,
- 25: 23,
- 26: 20,
- 27: 21,
- 28: 18,
- 29: 19,
- 30: 16,
- 31: 17,
- },
- {
- 0: 15,
- 1: 14,
- 2: 13,
- 3: 12,
- 4: 11,
- 5: 10,
- 6: 9,
- 7: 8,
- 8: 7,
- 9: 6,
- 10: 5,
- 11: 4,
- 12: 3,
- 13: 2,
- 14: 1,
- 15: 0,
- 16: 31,
- 17: 30,
- 18: 29,
- 19: 28,
- 20: 27,
- 21: 26,
- 22: 25,
- 23: 24,
- 24: 23,
- 25: 22,
- 26: 21,
- 27: 20,
- 28: 19,
- 29: 18,
- 30: 17,
- 31: 16,
- },
- {
- 0: 16,
- 1: 17,
- 2: 18,
- 3: 19,
- 4: 20,
- 5: 21,
- 6: 22,
- 7: 23,
- 8: 24,
- 9: 25,
- 10: 26,
- 11: 27,
- 12: 28,
- 13: 29,
- 14: 30,
- 15: 31,
- 16: 0,
- 17: 1,
- 18: 2,
- 19: 3,
- 20: 4,
- 21: 5,
- 22: 6,
- 23: 7,
- 24: 8,
- 25: 9,
- 26: 10,
- 27: 11,
- 28: 12,
- 29: 13,
- 30: 14,
- 31: 15,
- },
- {
- 0: 17,
- 1: 16,
- 2: 19,
- 3: 18,
- 4: 21,
- 5: 20,
- 6: 23,
- 7: 22,
- 8: 25,
- 9: 24,
- 10: 27,
- 11: 26,
- 12: 29,
- 13: 28,
- 14: 31,
- 15: 30,
- 16: 1,
- 17: 0,
- 18: 3,
- 19: 2,
- 20: 5,
- 21: 4,
- 22: 7,
- 23: 6,
- 24: 9,
- 25: 8,
- 26: 11,
- 27: 10,
- 28: 13,
- 29: 12,
- 30: 15,
- 31: 14,
- },
- {
- 0: 18,
- 1: 19,
- 2: 16,
- 3: 17,
- 4: 22,
- 5: 23,
- 6: 20,
- 7: 21,
- 8: 26,
- 9: 27,
- 10: 24,
- 11: 25,
- 12: 30,
- 13: 31,
- 14: 28,
- 15: 29,
- 16: 2,
- 17: 3,
- 18: 0,
- 19: 1,
- 20: 6,
- 21: 7,
- 22: 4,
- 23: 5,
- 24: 10,
- 25: 11,
- 26: 8,
- 27: 9,
- 28: 14,
- 29: 15,
- 30: 12,
- 31: 13,
- },
- {
- 0: 19,
- 1: 18,
- 2: 17,
- 3: 16,
- 4: 23,
- 5: 22,
- 6: 21,
- 7: 20,
- 8: 27,
- 9: 26,
- 10: 25,
- 11: 24,
- 12: 31,
- 13: 30,
- 14: 29,
- 15: 28,
- 16: 3,
- 17: 2,
- 18: 1,
- 19: 0,
- 20: 7,
- 21: 6,
- 22: 5,
- 23: 4,
- 24: 11,
- 25: 10,
- 26: 9,
- 27: 8,
- 28: 15,
- 29: 14,
- 30: 13,
- 31: 12,
- },
- {
- 0: 20,
- 1: 21,
- 2: 22,
- 3: 23,
- 4: 16,
- 5: 17,
- 6: 18,
- 7: 19,
- 8: 28,
- 9: 29,
- 10: 30,
- 11: 31,
- 12: 24,
- 13: 25,
- 14: 26,
- 15: 27,
- 16: 4,
- 17: 5,
- 18: 6,
- 19: 7,
- 20: 0,
- 21: 1,
- 22: 2,
- 23: 3,
- 24: 12,
- 25: 13,
- 26: 14,
- 27: 15,
- 28: 8,
- 29: 9,
- 30: 10,
- 31: 11,
- },
- {
- 0: 21,
- 1: 20,
- 2: 23,
- 3: 22,
- 4: 17,
- 5: 16,
- 6: 19,
- 7: 18,
- 8: 29,
- 9: 28,
- 10: 31,
- 11: 30,
- 12: 25,
- 13: 24,
- 14: 27,
- 15: 26,
- 16: 5,
- 17: 4,
- 18: 7,
- 19: 6,
- 20: 1,
- 21: 0,
- 22: 3,
- 23: 2,
- 24: 13,
- 25: 12,
- 26: 15,
- 27: 14,
- 28: 9,
- 29: 8,
- 30: 11,
- 31: 10,
- },
- {
- 0: 22,
- 1: 23,
- 2: 20,
- 3: 21,
- 4: 18,
- 5: 19,
- 6: 16,
- 7: 17,
- 8: 30,
- 9: 31,
- 10: 28,
- 11: 29,
- 12: 26,
- 13: 27,
- 14: 24,
- 15: 25,
- 16: 6,
- 17: 7,
- 18: 4,
- 19: 5,
- 20: 2,
- 21: 3,
- 22: 0,
- 23: 1,
- 24: 14,
- 25: 15,
- 26: 12,
- 27: 13,
- 28: 10,
- 29: 11,
- 30: 8,
- 31: 9,
- },
- {
- 0: 23,
- 1: 22,
- 2: 21,
- 3: 20,
- 4: 19,
- 5: 18,
- 6: 17,
- 7: 16,
- 8: 31,
- 9: 30,
- 10: 29,
- 11: 28,
- 12: 27,
- 13: 26,
- 14: 25,
- 15: 24,
- 16: 7,
- 17: 6,
- 18: 5,
- 19: 4,
- 20: 3,
- 21: 2,
- 22: 1,
- 23: 0,
- 24: 15,
- 25: 14,
- 26: 13,
- 27: 12,
- 28: 11,
- 29: 10,
- 30: 9,
- 31: 8,
- },
- {
- 0: 24,
- 1: 25,
- 2: 26,
- 3: 27,
- 4: 28,
- 5: 29,
- 6: 30,
- 7: 31,
- 8: 16,
- 9: 17,
- 10: 18,
- 11: 19,
- 12: 20,
- 13: 21,
- 14: 22,
- 15: 23,
- 16: 8,
- 17: 9,
- 18: 10,
- 19: 11,
- 20: 12,
- 21: 13,
- 22: 14,
- 23: 15,
- 24: 0,
- 25: 1,
- 26: 2,
- 27: 3,
- 28: 4,
- 29: 5,
- 30: 6,
- 31: 7,
- },
- {
- 0: 25,
- 1: 24,
- 2: 27,
- 3: 26,
- 4: 29,
- 5: 28,
- 6: 31,
- 7: 30,
- 8: 17,
- 9: 16,
- 10: 19,
- 11: 18,
- 12: 21,
- 13: 20,
- 14: 23,
- 15: 22,
- 16: 9,
- 17: 8,
- 18: 11,
- 19: 10,
- 20: 13,
- 21: 12,
- 22: 15,
- 23: 14,
- 24: 1,
- 25: 0,
- 26: 3,
- 27: 2,
- 28: 5,
- 29: 4,
- 30: 7,
- 31: 6,
- },
- {
- 0: 26,
- 1: 27,
- 2: 24,
- 3: 25,
- 4: 30,
- 5: 31,
- 6: 28,
- 7: 29,
- 8: 18,
- 9: 19,
- 10: 16,
- 11: 17,
- 12: 22,
- 13: 23,
- 14: 20,
- 15: 21,
- 16: 10,
- 17: 11,
- 18: 8,
- 19: 9,
- 20: 14,
- 21: 15,
- 22: 12,
- 23: 13,
- 24: 2,
- 25: 3,
- 26: 0,
- 27: 1,
- 28: 6,
- 29: 7,
- 30: 4,
- 31: 5,
- },
- {
- 0: 27,
- 1: 26,
- 2: 25,
- 3: 24,
- 4: 31,
- 5: 30,
- 6: 29,
- 7: 28,
- 8: 19,
- 9: 18,
- 10: 17,
- 11: 16,
- 12: 23,
- 13: 22,
- 14: 21,
- 15: 20,
- 16: 11,
- 17: 10,
- 18: 9,
- 19: 8,
- 20: 15,
- 21: 14,
- 22: 13,
- 23: 12,
- 24: 3,
- 25: 2,
- 26: 1,
- 27: 0,
- 28: 7,
- 29: 6,
- 30: 5,
- 31: 4,
- },
- {
- 0: 28,
- 1: 29,
- 2: 30,
- 3: 31,
- 4: 24,
- 5: 25,
- 6: 26,
- 7: 27,
- 8: 20,
- 9: 21,
- 10: 22,
- 11: 23,
- 12: 16,
- 13: 17,
- 14: 18,
- 15: 19,
- 16: 12,
- 17: 13,
- 18: 14,
- 19: 15,
- 20: 8,
- 21: 9,
- 22: 10,
- 23: 11,
- 24: 4,
- 25: 5,
- 26: 6,
- 27: 7,
- 28: 0,
- 29: 1,
- 30: 2,
- 31: 3,
- },
- {
- 0: 29,
- 1: 28,
- 2: 31,
- 3: 30,
- 4: 25,
- 5: 24,
- 6: 27,
- 7: 26,
- 8: 21,
- 9: 20,
- 10: 23,
- 11: 22,
- 12: 17,
- 13: 16,
- 14: 19,
- 15: 18,
- 16: 13,
- 17: 12,
- 18: 15,
- 19: 14,
- 20: 9,
- 21: 8,
- 22: 11,
- 23: 10,
- 24: 5,
- 25: 4,
- 26: 7,
- 27: 6,
- 28: 1,
- 29: 0,
- 30: 3,
- 31: 2,
- },
- {
- 0: 30,
- 1: 31,
- 2: 28,
- 3: 29,
- 4: 26,
- 5: 27,
- 6: 24,
- 7: 25,
- 8: 22,
- 9: 23,
- 10: 20,
- 11: 21,
- 12: 18,
- 13: 19,
- 14: 16,
- 15: 17,
- 16: 14,
- 17: 15,
- 18: 12,
- 19: 13,
- 20: 10,
- 21: 11,
- 22: 8,
- 23: 9,
- 24: 6,
- 25: 7,
- 26: 4,
- 27: 5,
- 28: 2,
- 29: 3,
- 30: 0,
- 31: 1,
- },
- {
- 0: 31,
- 1: 30,
- 2: 29,
- 3: 28,
- 4: 27,
- 5: 26,
- 6: 25,
- 7: 24,
- 8: 23,
- 9: 22,
- 10: 21,
- 11: 20,
- 12: 19,
- 13: 18,
- 14: 17,
- 15: 16,
- 16: 15,
- 17: 14,
- 18: 13,
- 19: 12,
- 20: 11,
- 21: 10,
- 22: 9,
- 23: 8,
- 24: 7,
- 25: 6,
- 26: 5,
- 27: 4,
- 28: 3,
- 29: 2,
- 30: 1,
- 31: 0,
- },
- ],
- 34: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- 26: 27,
- 27: 26,
- 28: 29,
- 29: 28,
- 30: 31,
- 31: 30,
- 32: 33,
- 33: 32,
- },
- {
- 0: 2,
- 1: 32,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 10,
- 9: 7,
- 10: 8,
- 11: 13,
- 12: 14,
- 13: 11,
- 14: 12,
- 15: 17,
- 16: 18,
- 17: 15,
- 18: 16,
- 19: 21,
- 20: 22,
- 21: 19,
- 22: 20,
- 23: 25,
- 24: 26,
- 25: 23,
- 26: 24,
- 27: 29,
- 28: 30,
- 29: 27,
- 30: 28,
- 31: 33,
- 32: 1,
- 33: 31,
- },
- {
- 0: 3,
- 1: 5,
- 2: 32,
- 3: 0,
- 4: 7,
- 5: 1,
- 6: 9,
- 7: 4,
- 8: 11,
- 9: 6,
- 10: 13,
- 11: 8,
- 12: 15,
- 13: 10,
- 14: 17,
- 15: 12,
- 16: 19,
- 17: 14,
- 18: 21,
- 19: 16,
- 20: 23,
- 21: 18,
- 22: 25,
- 23: 20,
- 24: 27,
- 25: 22,
- 26: 29,
- 27: 24,
- 28: 31,
- 29: 26,
- 30: 33,
- 31: 28,
- 32: 2,
- 33: 30,
- },
- {
- 0: 4,
- 1: 30,
- 2: 31,
- 3: 32,
- 4: 0,
- 5: 9,
- 6: 10,
- 7: 11,
- 8: 12,
- 9: 5,
- 10: 6,
- 11: 7,
- 12: 8,
- 13: 17,
- 14: 18,
- 15: 19,
- 16: 20,
- 17: 13,
- 18: 14,
- 19: 15,
- 20: 16,
- 21: 25,
- 22: 26,
- 23: 27,
- 24: 28,
- 25: 21,
- 26: 22,
- 27: 23,
- 28: 24,
- 29: 33,
- 30: 1,
- 31: 2,
- 32: 3,
- 33: 29,
- },
- {
- 0: 5,
- 1: 26,
- 2: 4,
- 3: 31,
- 4: 2,
- 5: 0,
- 6: 8,
- 7: 32,
- 8: 6,
- 9: 11,
- 10: 18,
- 11: 9,
- 12: 17,
- 13: 14,
- 14: 13,
- 15: 23,
- 16: 21,
- 17: 12,
- 18: 10,
- 19: 20,
- 20: 19,
- 21: 16,
- 22: 24,
- 23: 15,
- 24: 22,
- 25: 27,
- 26: 1,
- 27: 25,
- 28: 33,
- 29: 30,
- 30: 29,
- 31: 3,
- 32: 7,
- 33: 28,
- },
- {
- 0: 6,
- 1: 3,
- 2: 30,
- 3: 1,
- 4: 9,
- 5: 32,
- 6: 0,
- 7: 17,
- 8: 31,
- 9: 4,
- 10: 21,
- 11: 12,
- 12: 11,
- 13: 15,
- 14: 19,
- 15: 13,
- 16: 22,
- 17: 7,
- 18: 20,
- 19: 14,
- 20: 18,
- 21: 10,
- 22: 16,
- 23: 26,
- 24: 29,
- 25: 33,
- 26: 23,
- 27: 28,
- 28: 27,
- 29: 24,
- 30: 2,
- 31: 8,
- 32: 5,
- 33: 25,
- },
- {
- 0: 7,
- 1: 28,
- 2: 27,
- 3: 14,
- 4: 26,
- 5: 10,
- 6: 11,
- 7: 0,
- 8: 13,
- 9: 20,
- 10: 5,
- 11: 6,
- 12: 19,
- 13: 8,
- 14: 3,
- 15: 22,
- 16: 23,
- 17: 18,
- 18: 17,
- 19: 12,
- 20: 9,
- 21: 33,
- 22: 15,
- 23: 16,
- 24: 30,
- 25: 29,
- 26: 4,
- 27: 2,
- 28: 1,
- 29: 25,
- 30: 24,
- 31: 32,
- 32: 31,
- 33: 21,
- },
- {
- 0: 8,
- 1: 33,
- 2: 6,
- 3: 30,
- 4: 10,
- 5: 22,
- 6: 2,
- 7: 13,
- 8: 0,
- 9: 17,
- 10: 4,
- 11: 26,
- 12: 18,
- 13: 7,
- 14: 16,
- 15: 20,
- 16: 14,
- 17: 9,
- 18: 12,
- 19: 27,
- 20: 15,
- 21: 23,
- 22: 5,
- 23: 21,
- 24: 32,
- 25: 28,
- 26: 11,
- 27: 19,
- 28: 25,
- 29: 31,
- 30: 3,
- 31: 29,
- 32: 24,
- 33: 1,
- },
- {
- 0: 9,
- 1: 31,
- 2: 7,
- 3: 21,
- 4: 28,
- 5: 27,
- 6: 13,
- 7: 2,
- 8: 22,
- 9: 0,
- 10: 12,
- 11: 17,
- 12: 10,
- 13: 6,
- 14: 26,
- 15: 25,
- 16: 24,
- 17: 11,
- 18: 30,
- 19: 23,
- 20: 33,
- 21: 3,
- 22: 8,
- 23: 19,
- 24: 16,
- 25: 15,
- 26: 14,
- 27: 5,
- 28: 4,
- 29: 32,
- 30: 18,
- 31: 1,
- 32: 29,
- 33: 20,
- },
- {
- 0: 10,
- 1: 11,
- 2: 25,
- 3: 33,
- 4: 8,
- 5: 12,
- 6: 27,
- 7: 23,
- 8: 4,
- 9: 13,
- 10: 0,
- 11: 1,
- 12: 5,
- 13: 9,
- 14: 20,
- 15: 18,
- 16: 29,
- 17: 19,
- 18: 15,
- 19: 17,
- 20: 14,
- 21: 26,
- 22: 28,
- 23: 7,
- 24: 31,
- 25: 2,
- 26: 21,
- 27: 6,
- 28: 22,
- 29: 16,
- 30: 32,
- 31: 24,
- 32: 30,
- 33: 3,
- },
- {
- 0: 11,
- 1: 25,
- 2: 5,
- 3: 29,
- 4: 30,
- 5: 2,
- 6: 17,
- 7: 19,
- 8: 24,
- 9: 32,
- 10: 20,
- 11: 0,
- 12: 31,
- 13: 18,
- 14: 21,
- 15: 16,
- 16: 15,
- 17: 6,
- 18: 13,
- 19: 7,
- 20: 10,
- 21: 14,
- 22: 27,
- 23: 28,
- 24: 8,
- 25: 1,
- 26: 33,
- 27: 22,
- 28: 23,
- 29: 3,
- 30: 4,
- 31: 12,
- 32: 9,
- 33: 26,
- },
- {
- 0: 12,
- 1: 2,
- 2: 1,
- 3: 28,
- 4: 11,
- 5: 19,
- 6: 20,
- 7: 8,
- 8: 7,
- 9: 10,
- 10: 9,
- 11: 4,
- 12: 0,
- 13: 32,
- 14: 23,
- 15: 21,
- 16: 25,
- 17: 22,
- 18: 29,
- 19: 5,
- 20: 6,
- 21: 15,
- 22: 17,
- 23: 14,
- 24: 33,
- 25: 16,
- 26: 30,
- 27: 31,
- 28: 3,
- 29: 18,
- 30: 26,
- 31: 27,
- 32: 13,
- 33: 24,
- },
- {
- 0: 13,
- 1: 24,
- 2: 28,
- 3: 10,
- 4: 22,
- 5: 31,
- 6: 21,
- 7: 14,
- 8: 19,
- 9: 12,
- 10: 3,
- 11: 15,
- 12: 9,
- 13: 0,
- 14: 7,
- 15: 11,
- 16: 26,
- 17: 25,
- 18: 33,
- 19: 8,
- 20: 32,
- 21: 6,
- 22: 4,
- 23: 29,
- 24: 1,
- 25: 17,
- 26: 16,
- 27: 30,
- 28: 2,
- 29: 23,
- 30: 27,
- 31: 5,
- 32: 20,
- 33: 18,
- },
- {
- 0: 14,
- 1: 6,
- 2: 21,
- 3: 24,
- 4: 17,
- 5: 8,
- 6: 1,
- 7: 25,
- 8: 5,
- 9: 19,
- 10: 30,
- 11: 16,
- 12: 33,
- 13: 23,
- 14: 0,
- 15: 31,
- 16: 11,
- 17: 4,
- 18: 26,
- 19: 9,
- 20: 27,
- 21: 2,
- 22: 29,
- 23: 13,
- 24: 3,
- 25: 7,
- 26: 18,
- 27: 20,
- 28: 32,
- 29: 22,
- 30: 10,
- 31: 15,
- 32: 28,
- 33: 12,
- },
- {
- 0: 15,
- 1: 8,
- 2: 24,
- 3: 22,
- 4: 27,
- 5: 21,
- 6: 19,
- 7: 28,
- 8: 1,
- 9: 18,
- 10: 14,
- 11: 20,
- 12: 30,
- 13: 25,
- 14: 10,
- 15: 0,
- 16: 32,
- 17: 29,
- 18: 9,
- 19: 6,
- 20: 11,
- 21: 5,
- 22: 3,
- 23: 33,
- 24: 2,
- 25: 13,
- 26: 31,
- 27: 4,
- 28: 7,
- 29: 17,
- 30: 12,
- 31: 26,
- 32: 16,
- 33: 23,
- },
- {
- 0: 16,
- 1: 15,
- 2: 29,
- 3: 8,
- 4: 13,
- 5: 20,
- 6: 23,
- 7: 10,
- 8: 3,
- 9: 22,
- 10: 7,
- 11: 28,
- 12: 21,
- 13: 4,
- 14: 31,
- 15: 1,
- 16: 0,
- 17: 26,
- 18: 32,
- 19: 24,
- 20: 5,
- 21: 12,
- 22: 9,
- 23: 6,
- 24: 19,
- 25: 30,
- 26: 17,
- 27: 33,
- 28: 11,
- 29: 2,
- 30: 25,
- 31: 14,
- 32: 18,
- 33: 27,
- },
- {
- 0: 17,
- 1: 16,
- 2: 14,
- 3: 4,
- 4: 3,
- 5: 13,
- 6: 15,
- 7: 31,
- 8: 30,
- 9: 27,
- 10: 32,
- 11: 19,
- 12: 29,
- 13: 5,
- 14: 2,
- 15: 6,
- 16: 1,
- 17: 0,
- 18: 23,
- 19: 11,
- 20: 24,
- 21: 28,
- 22: 33,
- 23: 18,
- 24: 20,
- 25: 26,
- 26: 25,
- 27: 9,
- 28: 21,
- 29: 12,
- 30: 8,
- 31: 7,
- 32: 10,
- 33: 22,
- },
- {
- 0: 18,
- 1: 21,
- 2: 17,
- 3: 13,
- 4: 14,
- 5: 24,
- 6: 25,
- 7: 12,
- 8: 20,
- 9: 33,
- 10: 15,
- 11: 32,
- 12: 7,
- 13: 3,
- 14: 4,
- 15: 10,
- 16: 27,
- 17: 2,
- 18: 0,
- 19: 29,
- 20: 8,
- 21: 1,
- 22: 31,
- 23: 30,
- 24: 5,
- 25: 6,
- 26: 28,
- 27: 16,
- 28: 26,
- 29: 19,
- 30: 23,
- 31: 22,
- 32: 11,
- 33: 9,
- },
- {
- 0: 19,
- 1: 18,
- 2: 20,
- 3: 12,
- 4: 25,
- 5: 26,
- 6: 16,
- 7: 29,
- 8: 17,
- 9: 24,
- 10: 23,
- 11: 31,
- 12: 3,
- 13: 21,
- 14: 28,
- 15: 33,
- 16: 6,
- 17: 8,
- 18: 1,
- 19: 0,
- 20: 2,
- 21: 13,
- 22: 30,
- 23: 10,
- 24: 9,
- 25: 4,
- 26: 5,
- 27: 32,
- 28: 14,
- 29: 7,
- 30: 22,
- 31: 11,
- 32: 27,
- 33: 15,
- },
- {
- 0: 20,
- 1: 4,
- 2: 16,
- 3: 9,
- 4: 1,
- 5: 11,
- 6: 33,
- 7: 24,
- 8: 18,
- 9: 3,
- 10: 28,
- 11: 5,
- 12: 32,
- 13: 22,
- 14: 30,
- 15: 27,
- 16: 2,
- 17: 23,
- 18: 8,
- 19: 26,
- 20: 0,
- 21: 29,
- 22: 13,
- 23: 17,
- 24: 7,
- 25: 31,
- 26: 19,
- 27: 15,
- 28: 10,
- 29: 21,
- 30: 14,
- 31: 25,
- 32: 12,
- 33: 6,
- },
- {
- 0: 21,
- 1: 12,
- 2: 33,
- 3: 25,
- 4: 19,
- 5: 15,
- 6: 24,
- 7: 20,
- 8: 26,
- 9: 28,
- 10: 17,
- 11: 18,
- 12: 1,
- 13: 29,
- 14: 27,
- 15: 5,
- 16: 30,
- 17: 10,
- 18: 11,
- 19: 4,
- 20: 7,
- 21: 0,
- 22: 32,
- 23: 31,
- 24: 6,
- 25: 3,
- 26: 8,
- 27: 14,
- 28: 9,
- 29: 13,
- 30: 16,
- 31: 23,
- 32: 22,
- 33: 2,
- },
- {
- 0: 22,
- 1: 7,
- 2: 18,
- 3: 19,
- 4: 21,
- 5: 33,
- 6: 31,
- 7: 1,
- 8: 29,
- 9: 25,
- 10: 27,
- 11: 14,
- 12: 16,
- 13: 26,
- 14: 11,
- 15: 24,
- 16: 12,
- 17: 30,
- 18: 2,
- 19: 3,
- 20: 28,
- 21: 4,
- 22: 0,
- 23: 32,
- 24: 15,
- 25: 9,
- 26: 13,
- 27: 10,
- 28: 20,
- 29: 8,
- 30: 17,
- 31: 6,
- 32: 23,
- 33: 5,
- },
- {
- 0: 23,
- 1: 19,
- 2: 12,
- 3: 7,
- 4: 24,
- 5: 30,
- 6: 32,
- 7: 3,
- 8: 16,
- 9: 21,
- 10: 25,
- 11: 22,
- 12: 2,
- 13: 31,
- 14: 33,
- 15: 26,
- 16: 8,
- 17: 28,
- 18: 27,
- 19: 1,
- 20: 29,
- 21: 9,
- 22: 11,
- 23: 0,
- 24: 4,
- 25: 10,
- 26: 15,
- 27: 18,
- 28: 17,
- 29: 20,
- 30: 5,
- 31: 13,
- 32: 6,
- 33: 14,
- },
- {
- 0: 24,
- 1: 23,
- 2: 9,
- 3: 27,
- 4: 16,
- 5: 17,
- 6: 12,
- 7: 21,
- 8: 28,
- 9: 2,
- 10: 26,
- 11: 29,
- 12: 6,
- 13: 30,
- 14: 22,
- 15: 32,
- 16: 4,
- 17: 5,
- 18: 25,
- 19: 33,
- 20: 31,
- 21: 7,
- 22: 14,
- 23: 1,
- 24: 0,
- 25: 18,
- 26: 10,
- 27: 3,
- 28: 8,
- 29: 11,
- 30: 13,
- 31: 20,
- 32: 15,
- 33: 19,
- },
- {
- 0: 25,
- 1: 20,
- 2: 10,
- 3: 17,
- 4: 23,
- 5: 14,
- 6: 29,
- 7: 18,
- 8: 32,
- 9: 26,
- 10: 2,
- 11: 24,
- 12: 27,
- 13: 33,
- 14: 5,
- 15: 30,
- 16: 28,
- 17: 3,
- 18: 7,
- 19: 22,
- 20: 1,
- 21: 31,
- 22: 19,
- 23: 4,
- 24: 11,
- 25: 0,
- 26: 9,
- 27: 12,
- 28: 16,
- 29: 6,
- 30: 15,
- 31: 21,
- 32: 8,
- 33: 13,
- },
- {
- 0: 26,
- 1: 29,
- 2: 13,
- 3: 6,
- 4: 32,
- 5: 28,
- 6: 3,
- 7: 30,
- 8: 33,
- 9: 15,
- 10: 19,
- 11: 21,
- 12: 20,
- 13: 2,
- 14: 25,
- 15: 9,
- 16: 31,
- 17: 27,
- 18: 22,
- 19: 10,
- 20: 12,
- 21: 11,
- 22: 18,
- 23: 24,
- 24: 23,
- 25: 14,
- 26: 0,
- 27: 17,
- 28: 5,
- 29: 1,
- 30: 7,
- 31: 16,
- 32: 4,
- 33: 8,
- },
- {
- 0: 27,
- 1: 13,
- 2: 15,
- 3: 11,
- 4: 33,
- 5: 29,
- 6: 30,
- 7: 16,
- 8: 23,
- 9: 14,
- 10: 22,
- 11: 3,
- 12: 25,
- 13: 1,
- 14: 9,
- 15: 2,
- 16: 7,
- 17: 32,
- 18: 31,
- 19: 28,
- 20: 26,
- 21: 24,
- 22: 10,
- 23: 8,
- 24: 21,
- 25: 12,
- 26: 20,
- 27: 0,
- 28: 19,
- 29: 5,
- 30: 6,
- 31: 18,
- 32: 17,
- 33: 4,
- },
- {
- 0: 28,
- 1: 14,
- 2: 22,
- 3: 15,
- 4: 29,
- 5: 7,
- 6: 18,
- 7: 5,
- 8: 21,
- 9: 23,
- 10: 31,
- 11: 27,
- 12: 26,
- 13: 20,
- 14: 1,
- 15: 3,
- 16: 33,
- 17: 24,
- 18: 6,
- 19: 30,
- 20: 13,
- 21: 8,
- 22: 2,
- 23: 9,
- 24: 17,
- 25: 32,
- 26: 12,
- 27: 11,
- 28: 0,
- 29: 4,
- 30: 19,
- 31: 10,
- 32: 25,
- 33: 16,
- },
- {
- 0: 29,
- 1: 22,
- 2: 26,
- 3: 16,
- 4: 31,
- 5: 6,
- 6: 5,
- 7: 15,
- 8: 14,
- 9: 30,
- 10: 33,
- 11: 25,
- 12: 23,
- 13: 24,
- 14: 8,
- 15: 7,
- 16: 3,
- 17: 20,
- 18: 28,
- 19: 32,
- 20: 17,
- 21: 27,
- 22: 1,
- 23: 12,
- 24: 13,
- 25: 11,
- 26: 2,
- 27: 21,
- 28: 18,
- 29: 0,
- 30: 9,
- 31: 4,
- 32: 19,
- 33: 10,
- },
- {
- 0: 30,
- 1: 27,
- 2: 23,
- 3: 20,
- 4: 18,
- 5: 25,
- 6: 14,
- 7: 22,
- 8: 15,
- 9: 16,
- 10: 29,
- 11: 33,
- 12: 24,
- 13: 28,
- 14: 6,
- 15: 8,
- 16: 9,
- 17: 21,
- 18: 4,
- 19: 31,
- 20: 3,
- 21: 17,
- 22: 7,
- 23: 2,
- 24: 12,
- 25: 5,
- 26: 32,
- 27: 1,
- 28: 13,
- 29: 10,
- 30: 0,
- 31: 19,
- 32: 26,
- 33: 11,
- },
- {
- 0: 31,
- 1: 9,
- 2: 8,
- 3: 18,
- 4: 20,
- 5: 23,
- 6: 22,
- 7: 26,
- 8: 2,
- 9: 1,
- 10: 16,
- 11: 30,
- 12: 28,
- 13: 27,
- 14: 24,
- 15: 29,
- 16: 10,
- 17: 33,
- 18: 3,
- 19: 25,
- 20: 4,
- 21: 32,
- 22: 6,
- 23: 5,
- 24: 14,
- 25: 19,
- 26: 7,
- 27: 13,
- 28: 12,
- 29: 15,
- 30: 11,
- 31: 0,
- 32: 21,
- 33: 17,
- },
- {
- 0: 32,
- 1: 17,
- 2: 19,
- 3: 26,
- 4: 15,
- 5: 18,
- 6: 28,
- 7: 33,
- 8: 27,
- 9: 31,
- 10: 24,
- 11: 23,
- 12: 22,
- 13: 16,
- 14: 29,
- 15: 4,
- 16: 13,
- 17: 1,
- 18: 5,
- 19: 2,
- 20: 25,
- 21: 30,
- 22: 12,
- 23: 11,
- 24: 10,
- 25: 20,
- 26: 3,
- 27: 8,
- 28: 6,
- 29: 14,
- 30: 21,
- 31: 9,
- 32: 0,
- 33: 7,
- },
- {
- 0: 33,
- 1: 10,
- 2: 11,
- 3: 23,
- 4: 12,
- 5: 16,
- 6: 26,
- 7: 27,
- 8: 25,
- 9: 29,
- 10: 1,
- 11: 2,
- 12: 4,
- 13: 19,
- 14: 32,
- 15: 28,
- 16: 5,
- 17: 31,
- 18: 24,
- 19: 13,
- 20: 30,
- 21: 22,
- 22: 21,
- 23: 3,
- 24: 18,
- 25: 8,
- 26: 6,
- 27: 7,
- 28: 15,
- 29: 9,
- 30: 20,
- 31: 17,
- 32: 14,
- 33: 0,
- },
- ],
- 36: false,
- 38: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- 26: 27,
- 27: 26,
- 28: 29,
- 29: 28,
- 30: 31,
- 31: 30,
- 32: 33,
- 33: 32,
- 34: 35,
- 35: 34,
- 36: 37,
- 37: 36,
- },
- {
- 0: 2,
- 1: 36,
- 2: 0,
- 3: 5,
- 4: 6,
- 5: 3,
- 6: 4,
- 7: 9,
- 8: 10,
- 9: 7,
- 10: 8,
- 11: 13,
- 12: 14,
- 13: 11,
- 14: 12,
- 15: 17,
- 16: 18,
- 17: 15,
- 18: 16,
- 19: 21,
- 20: 22,
- 21: 19,
- 22: 20,
- 23: 25,
- 24: 26,
- 25: 23,
- 26: 24,
- 27: 29,
- 28: 30,
- 29: 27,
- 30: 28,
- 31: 33,
- 32: 34,
- 33: 31,
- 34: 32,
- 35: 37,
- 36: 1,
- 37: 35,
- },
- {
- 0: 3,
- 1: 5,
- 2: 36,
- 3: 0,
- 4: 7,
- 5: 1,
- 6: 9,
- 7: 4,
- 8: 11,
- 9: 6,
- 10: 13,
- 11: 8,
- 12: 15,
- 13: 10,
- 14: 17,
- 15: 12,
- 16: 19,
- 17: 14,
- 18: 21,
- 19: 16,
- 20: 23,
- 21: 18,
- 22: 25,
- 23: 20,
- 24: 27,
- 25: 22,
- 26: 29,
- 27: 24,
- 28: 31,
- 29: 26,
- 30: 33,
- 31: 28,
- 32: 35,
- 33: 30,
- 34: 37,
- 35: 32,
- 36: 2,
- 37: 34,
- },
- {
- 0: 4,
- 1: 34,
- 2: 5,
- 3: 6,
- 4: 0,
- 5: 2,
- 6: 3,
- 7: 11,
- 8: 12,
- 9: 13,
- 10: 14,
- 11: 7,
- 12: 8,
- 13: 9,
- 14: 10,
- 15: 19,
- 16: 20,
- 17: 21,
- 18: 22,
- 19: 15,
- 20: 16,
- 21: 17,
- 22: 18,
- 23: 27,
- 24: 28,
- 25: 29,
- 26: 30,
- 27: 23,
- 28: 24,
- 29: 25,
- 30: 26,
- 31: 35,
- 32: 36,
- 33: 37,
- 34: 1,
- 35: 31,
- 36: 32,
- 37: 33,
- },
- {
- 0: 5,
- 1: 2,
- 2: 1,
- 3: 4,
- 4: 3,
- 5: 0,
- 6: 8,
- 7: 15,
- 8: 6,
- 9: 11,
- 10: 18,
- 11: 9,
- 12: 17,
- 13: 14,
- 14: 13,
- 15: 7,
- 16: 21,
- 17: 12,
- 18: 10,
- 19: 20,
- 20: 19,
- 21: 16,
- 22: 24,
- 23: 31,
- 24: 22,
- 25: 27,
- 26: 34,
- 27: 25,
- 28: 33,
- 29: 30,
- 30: 29,
- 31: 23,
- 32: 37,
- 33: 28,
- 34: 26,
- 35: 36,
- 36: 35,
- 37: 32,
- },
- {
- 0: 6,
- 1: 32,
- 2: 9,
- 3: 37,
- 4: 15,
- 5: 31,
- 6: 0,
- 7: 19,
- 8: 13,
- 9: 2,
- 10: 12,
- 11: 27,
- 12: 10,
- 13: 8,
- 14: 21,
- 15: 4,
- 16: 22,
- 17: 18,
- 18: 17,
- 19: 7,
- 20: 24,
- 21: 14,
- 22: 16,
- 23: 35,
- 24: 20,
- 25: 30,
- 26: 28,
- 27: 11,
- 28: 26,
- 29: 33,
- 30: 25,
- 31: 5,
- 32: 1,
- 33: 29,
- 34: 36,
- 35: 23,
- 36: 34,
- 37: 3,
- },
- {
- 0: 7,
- 1: 10,
- 2: 32,
- 3: 34,
- 4: 31,
- 5: 35,
- 6: 13,
- 7: 0,
- 8: 14,
- 9: 17,
- 10: 1,
- 11: 12,
- 12: 11,
- 13: 6,
- 14: 8,
- 15: 21,
- 16: 23,
- 17: 9,
- 18: 30,
- 19: 36,
- 20: 25,
- 21: 15,
- 22: 27,
- 23: 16,
- 24: 29,
- 25: 20,
- 26: 33,
- 27: 22,
- 28: 37,
- 29: 24,
- 30: 18,
- 31: 4,
- 32: 2,
- 33: 26,
- 34: 3,
- 35: 5,
- 36: 19,
- 37: 28,
- },
- {
- 0: 8,
- 1: 33,
- 2: 6,
- 3: 32,
- 4: 35,
- 5: 21,
- 6: 2,
- 7: 26,
- 8: 0,
- 9: 10,
- 10: 9,
- 11: 14,
- 12: 22,
- 13: 28,
- 14: 11,
- 15: 16,
- 16: 15,
- 17: 34,
- 18: 20,
- 19: 27,
- 20: 18,
- 21: 5,
- 22: 12,
- 23: 36,
- 24: 30,
- 25: 31,
- 26: 7,
- 27: 19,
- 28: 13,
- 29: 37,
- 30: 24,
- 31: 25,
- 32: 3,
- 33: 1,
- 34: 17,
- 35: 4,
- 36: 23,
- 37: 29,
- },
- {
- 0: 9,
- 1: 25,
- 2: 7,
- 3: 36,
- 4: 11,
- 5: 34,
- 6: 21,
- 7: 2,
- 8: 15,
- 9: 0,
- 10: 35,
- 11: 4,
- 12: 16,
- 13: 17,
- 14: 32,
- 15: 8,
- 16: 12,
- 17: 13,
- 18: 26,
- 19: 28,
- 20: 27,
- 21: 6,
- 22: 33,
- 23: 29,
- 24: 31,
- 25: 1,
- 26: 18,
- 27: 20,
- 28: 19,
- 29: 23,
- 30: 37,
- 31: 24,
- 32: 14,
- 33: 22,
- 34: 5,
- 35: 10,
- 36: 3,
- 37: 30,
- },
- {
- 0: 10,
- 1: 16,
- 2: 4,
- 3: 28,
- 4: 2,
- 5: 36,
- 6: 32,
- 7: 34,
- 8: 23,
- 9: 12,
- 10: 0,
- 11: 17,
- 12: 9,
- 13: 37,
- 14: 24,
- 15: 20,
- 16: 1,
- 17: 11,
- 18: 25,
- 19: 30,
- 20: 15,
- 21: 27,
- 22: 29,
- 23: 8,
- 24: 14,
- 25: 18,
- 26: 31,
- 27: 21,
- 28: 3,
- 29: 22,
- 30: 19,
- 31: 26,
- 32: 6,
- 33: 35,
- 34: 7,
- 35: 33,
- 36: 5,
- 37: 13,
- },
- {
- 0: 11,
- 1: 3,
- 2: 12,
- 3: 1,
- 4: 21,
- 5: 32,
- 6: 25,
- 7: 8,
- 8: 7,
- 9: 28,
- 10: 16,
- 11: 0,
- 12: 2,
- 13: 33,
- 14: 27,
- 15: 18,
- 16: 10,
- 17: 20,
- 18: 15,
- 19: 34,
- 20: 17,
- 21: 4,
- 22: 36,
- 23: 24,
- 24: 23,
- 25: 6,
- 26: 37,
- 27: 14,
- 28: 9,
- 29: 31,
- 30: 35,
- 31: 29,
- 32: 5,
- 33: 13,
- 34: 19,
- 35: 30,
- 36: 22,
- 37: 26,
- },
- {
- 0: 12,
- 1: 30,
- 2: 21,
- 3: 22,
- 4: 27,
- 5: 9,
- 6: 36,
- 7: 20,
- 8: 17,
- 9: 5,
- 10: 24,
- 11: 37,
- 12: 0,
- 13: 34,
- 14: 29,
- 15: 33,
- 16: 31,
- 17: 8,
- 18: 23,
- 19: 25,
- 20: 7,
- 21: 2,
- 22: 3,
- 23: 18,
- 24: 10,
- 25: 19,
- 26: 35,
- 27: 4,
- 28: 32,
- 29: 14,
- 30: 1,
- 31: 16,
- 32: 28,
- 33: 15,
- 34: 13,
- 35: 26,
- 36: 6,
- 37: 11,
- },
- {
- 0: 13,
- 1: 4,
- 2: 10,
- 3: 18,
- 4: 1,
- 5: 27,
- 6: 20,
- 7: 12,
- 8: 16,
- 9: 14,
- 10: 2,
- 11: 25,
- 12: 7,
- 13: 0,
- 14: 9,
- 15: 22,
- 16: 8,
- 17: 30,
- 18: 3,
- 19: 23,
- 20: 6,
- 21: 24,
- 22: 15,
- 23: 19,
- 24: 21,
- 25: 11,
- 26: 32,
- 27: 5,
- 28: 34,
- 29: 35,
- 30: 17,
- 31: 37,
- 32: 26,
- 33: 36,
- 34: 28,
- 35: 29,
- 36: 33,
- 37: 31,
- },
- {
- 0: 14,
- 1: 7,
- 2: 17,
- 3: 24,
- 4: 28,
- 5: 8,
- 6: 23,
- 7: 1,
- 8: 5,
- 9: 29,
- 10: 37,
- 11: 15,
- 12: 21,
- 13: 18,
- 14: 0,
- 15: 11,
- 16: 25,
- 17: 2,
- 18: 13,
- 19: 22,
- 20: 33,
- 21: 12,
- 22: 19,
- 23: 6,
- 24: 3,
- 25: 16,
- 26: 36,
- 27: 35,
- 28: 4,
- 29: 9,
- 30: 34,
- 31: 32,
- 32: 31,
- 33: 20,
- 34: 30,
- 35: 27,
- 36: 26,
- 37: 10,
- },
- {
- 0: 15,
- 1: 9,
- 2: 16,
- 3: 29,
- 4: 17,
- 5: 7,
- 6: 11,
- 7: 5,
- 8: 31,
- 9: 1,
- 10: 19,
- 11: 6,
- 12: 36,
- 13: 22,
- 14: 35,
- 15: 0,
- 16: 2,
- 17: 4,
- 18: 24,
- 19: 10,
- 20: 30,
- 21: 37,
- 22: 13,
- 23: 26,
- 24: 18,
- 25: 32,
- 26: 23,
- 27: 28,
- 28: 27,
- 29: 3,
- 30: 20,
- 31: 8,
- 32: 25,
- 33: 34,
- 34: 33,
- 35: 14,
- 36: 12,
- 37: 21,
- },
- {
- 0: 16,
- 1: 17,
- 2: 11,
- 3: 10,
- 4: 9,
- 5: 14,
- 6: 29,
- 7: 30,
- 8: 37,
- 9: 4,
- 10: 3,
- 11: 2,
- 12: 34,
- 13: 21,
- 14: 5,
- 15: 25,
- 16: 0,
- 17: 1,
- 18: 27,
- 19: 33,
- 20: 35,
- 21: 13,
- 22: 26,
- 23: 28,
- 24: 32,
- 25: 15,
- 26: 22,
- 27: 18,
- 28: 23,
- 29: 6,
- 30: 7,
- 31: 36,
- 32: 24,
- 33: 19,
- 34: 12,
- 35: 20,
- 36: 31,
- 37: 8,
- },
- {
- 0: 17,
- 1: 37,
- 2: 31,
- 3: 7,
- 4: 10,
- 5: 12,
- 6: 35,
- 7: 3,
- 8: 26,
- 9: 21,
- 10: 4,
- 11: 22,
- 12: 5,
- 13: 32,
- 14: 20,
- 15: 29,
- 16: 27,
- 17: 0,
- 18: 28,
- 19: 24,
- 20: 14,
- 21: 9,
- 22: 11,
- 23: 34,
- 24: 19,
- 25: 33,
- 26: 8,
- 27: 16,
- 28: 18,
- 29: 15,
- 30: 36,
- 31: 2,
- 32: 13,
- 33: 25,
- 34: 23,
- 35: 6,
- 36: 30,
- 37: 1,
- },
- {
- 0: 18,
- 1: 20,
- 2: 35,
- 3: 25,
- 4: 8,
- 5: 33,
- 6: 17,
- 7: 36,
- 8: 4,
- 9: 30,
- 10: 23,
- 11: 26,
- 12: 19,
- 13: 16,
- 14: 28,
- 15: 27,
- 16: 13,
- 17: 6,
- 18: 0,
- 19: 12,
- 20: 1,
- 21: 31,
- 22: 34,
- 23: 10,
- 24: 37,
- 25: 3,
- 26: 11,
- 27: 15,
- 28: 14,
- 29: 32,
- 30: 9,
- 31: 21,
- 32: 29,
- 33: 5,
- 34: 22,
- 35: 2,
- 36: 7,
- 37: 24,
- },
- {
- 0: 19,
- 1: 26,
- 2: 37,
- 3: 30,
- 4: 32,
- 5: 15,
- 6: 14,
- 7: 35,
- 8: 24,
- 9: 27,
- 10: 17,
- 11: 34,
- 12: 20,
- 13: 23,
- 14: 6,
- 15: 5,
- 16: 29,
- 17: 10,
- 18: 33,
- 19: 0,
- 20: 12,
- 21: 25,
- 22: 31,
- 23: 13,
- 24: 8,
- 25: 21,
- 26: 1,
- 27: 9,
- 28: 36,
- 29: 16,
- 30: 3,
- 31: 22,
- 32: 4,
- 33: 18,
- 34: 11,
- 35: 7,
- 36: 28,
- 37: 2,
- },
- {
- 0: 20,
- 1: 35,
- 2: 26,
- 3: 31,
- 4: 29,
- 5: 22,
- 6: 24,
- 7: 16,
- 8: 34,
- 9: 15,
- 10: 36,
- 11: 19,
- 12: 23,
- 13: 25,
- 14: 30,
- 15: 9,
- 16: 7,
- 17: 33,
- 18: 32,
- 19: 11,
- 20: 0,
- 21: 28,
- 22: 5,
- 23: 12,
- 24: 6,
- 25: 13,
- 26: 2,
- 27: 37,
- 28: 21,
- 29: 4,
- 30: 14,
- 31: 3,
- 32: 18,
- 33: 17,
- 34: 8,
- 35: 1,
- 36: 10,
- 37: 27,
- },
- {
- 0: 21,
- 1: 28,
- 2: 23,
- 3: 14,
- 4: 24,
- 5: 17,
- 6: 15,
- 7: 33,
- 8: 32,
- 9: 36,
- 10: 27,
- 11: 29,
- 12: 31,
- 13: 20,
- 14: 3,
- 15: 6,
- 16: 26,
- 17: 5,
- 18: 34,
- 19: 35,
- 20: 13,
- 21: 0,
- 22: 30,
- 23: 2,
- 24: 4,
- 25: 37,
- 26: 16,
- 27: 10,
- 28: 1,
- 29: 11,
- 30: 22,
- 31: 12,
- 32: 8,
- 33: 7,
- 34: 18,
- 35: 19,
- 36: 9,
- 37: 25,
- },
- {
- 0: 22,
- 1: 24,
- 2: 14,
- 3: 27,
- 4: 13,
- 5: 6,
- 6: 5,
- 7: 17,
- 8: 25,
- 9: 34,
- 10: 31,
- 11: 23,
- 12: 33,
- 13: 4,
- 14: 2,
- 15: 30,
- 16: 32,
- 17: 7,
- 18: 29,
- 19: 37,
- 20: 26,
- 21: 36,
- 22: 0,
- 23: 11,
- 24: 1,
- 25: 8,
- 26: 20,
- 27: 3,
- 28: 35,
- 29: 18,
- 30: 15,
- 31: 10,
- 32: 16,
- 33: 12,
- 34: 9,
- 35: 28,
- 36: 21,
- 37: 19,
- },
- {
- 0: 23,
- 1: 6,
- 2: 29,
- 3: 17,
- 4: 34,
- 5: 11,
- 6: 1,
- 7: 21,
- 8: 28,
- 9: 24,
- 10: 22,
- 11: 5,
- 12: 18,
- 13: 35,
- 14: 16,
- 15: 31,
- 16: 14,
- 17: 3,
- 18: 12,
- 19: 26,
- 20: 37,
- 21: 7,
- 22: 10,
- 23: 0,
- 24: 9,
- 25: 36,
- 26: 19,
- 27: 33,
- 28: 8,
- 29: 2,
- 30: 32,
- 31: 15,
- 32: 30,
- 33: 27,
- 34: 4,
- 35: 13,
- 36: 25,
- 37: 20,
- },
- {
- 0: 24,
- 1: 31,
- 2: 33,
- 3: 20,
- 4: 30,
- 5: 28,
- 6: 16,
- 7: 23,
- 8: 18,
- 9: 22,
- 10: 25,
- 11: 32,
- 12: 26,
- 13: 27,
- 14: 37,
- 15: 34,
- 16: 6,
- 17: 36,
- 18: 8,
- 19: 29,
- 20: 3,
- 21: 35,
- 22: 9,
- 23: 7,
- 24: 0,
- 25: 10,
- 26: 12,
- 27: 13,
- 28: 5,
- 29: 19,
- 30: 4,
- 31: 1,
- 32: 11,
- 33: 2,
- 34: 15,
- 35: 21,
- 36: 17,
- 37: 14,
- },
- {
- 0: 25,
- 1: 12,
- 2: 30,
- 3: 16,
- 4: 26,
- 5: 37,
- 6: 28,
- 7: 22,
- 8: 20,
- 9: 23,
- 10: 21,
- 11: 35,
- 12: 1,
- 13: 19,
- 14: 33,
- 15: 24,
- 16: 3,
- 17: 31,
- 18: 36,
- 19: 13,
- 20: 8,
- 21: 10,
- 22: 7,
- 23: 9,
- 24: 15,
- 25: 0,
- 26: 4,
- 27: 32,
- 28: 6,
- 29: 34,
- 30: 2,
- 31: 17,
- 32: 27,
- 33: 14,
- 34: 29,
- 35: 11,
- 36: 18,
- 37: 5,
- },
- {
- 0: 26,
- 1: 15,
- 2: 22,
- 3: 9,
- 4: 25,
- 5: 24,
- 6: 37,
- 7: 18,
- 8: 35,
- 9: 3,
- 10: 29,
- 11: 16,
- 12: 28,
- 13: 36,
- 14: 31,
- 15: 1,
- 16: 11,
- 17: 19,
- 18: 7,
- 19: 17,
- 20: 32,
- 21: 33,
- 22: 2,
- 23: 30,
- 24: 5,
- 25: 4,
- 26: 0,
- 27: 34,
- 28: 12,
- 29: 10,
- 30: 23,
- 31: 14,
- 32: 20,
- 33: 21,
- 34: 27,
- 35: 8,
- 36: 13,
- 37: 6,
- },
- {
- 0: 27,
- 1: 21,
- 2: 28,
- 3: 11,
- 4: 19,
- 5: 13,
- 6: 30,
- 7: 31,
- 8: 36,
- 9: 35,
- 10: 20,
- 11: 3,
- 12: 29,
- 13: 5,
- 14: 22,
- 15: 26,
- 16: 24,
- 17: 32,
- 18: 37,
- 19: 4,
- 20: 10,
- 21: 1,
- 22: 14,
- 23: 33,
- 24: 16,
- 25: 34,
- 26: 15,
- 27: 0,
- 28: 2,
- 29: 12,
- 30: 6,
- 31: 7,
- 32: 17,
- 33: 23,
- 34: 25,
- 35: 9,
- 36: 8,
- 37: 18,
- },
- {
- 0: 28,
- 1: 8,
- 2: 20,
- 3: 12,
- 4: 14,
- 5: 16,
- 6: 27,
- 7: 10,
- 8: 1,
- 9: 19,
- 10: 7,
- 11: 18,
- 12: 3,
- 13: 30,
- 14: 4,
- 15: 32,
- 16: 5,
- 17: 23,
- 18: 11,
- 19: 9,
- 20: 2,
- 21: 26,
- 22: 37,
- 23: 17,
- 24: 33,
- 25: 35,
- 26: 21,
- 27: 6,
- 28: 0,
- 29: 36,
- 30: 13,
- 31: 34,
- 32: 15,
- 33: 24,
- 34: 31,
- 35: 25,
- 36: 29,
- 37: 22,
- },
- {
- 0: 29,
- 1: 13,
- 2: 19,
- 3: 15,
- 4: 36,
- 5: 23,
- 6: 26,
- 7: 14,
- 8: 27,
- 9: 25,
- 10: 32,
- 11: 33,
- 12: 35,
- 13: 1,
- 14: 7,
- 15: 3,
- 16: 37,
- 17: 24,
- 18: 31,
- 19: 2,
- 20: 34,
- 21: 30,
- 22: 28,
- 23: 5,
- 24: 17,
- 25: 9,
- 26: 6,
- 27: 8,
- 28: 22,
- 29: 0,
- 30: 21,
- 31: 18,
- 32: 10,
- 33: 11,
- 34: 20,
- 35: 12,
- 36: 4,
- 37: 16,
- },
- {
- 0: 30,
- 1: 27,
- 2: 18,
- 3: 33,
- 4: 23,
- 5: 10,
- 6: 12,
- 7: 29,
- 8: 19,
- 9: 31,
- 10: 5,
- 11: 20,
- 12: 6,
- 13: 24,
- 14: 34,
- 15: 28,
- 16: 36,
- 17: 37,
- 18: 2,
- 19: 8,
- 20: 11,
- 21: 32,
- 22: 35,
- 23: 4,
- 24: 13,
- 25: 26,
- 26: 25,
- 27: 1,
- 28: 15,
- 29: 7,
- 30: 0,
- 31: 9,
- 32: 21,
- 33: 3,
- 34: 14,
- 35: 22,
- 36: 16,
- 37: 17,
- },
- {
- 0: 31,
- 1: 11,
- 2: 34,
- 3: 8,
- 4: 33,
- 5: 29,
- 6: 19,
- 7: 37,
- 8: 3,
- 9: 20,
- 10: 28,
- 11: 1,
- 12: 25,
- 13: 26,
- 14: 18,
- 15: 36,
- 16: 30,
- 17: 27,
- 18: 14,
- 19: 6,
- 20: 9,
- 21: 23,
- 22: 32,
- 23: 21,
- 24: 35,
- 25: 12,
- 26: 13,
- 27: 17,
- 28: 10,
- 29: 5,
- 30: 16,
- 31: 0,
- 32: 22,
- 33: 4,
- 34: 2,
- 35: 24,
- 36: 15,
- 37: 7,
- },
- {
- 0: 32,
- 1: 18,
- 2: 15,
- 3: 35,
- 4: 12,
- 5: 25,
- 6: 22,
- 7: 13,
- 8: 33,
- 9: 16,
- 10: 26,
- 11: 31,
- 12: 4,
- 13: 7,
- 14: 19,
- 15: 2,
- 16: 9,
- 17: 28,
- 18: 1,
- 19: 14,
- 20: 29,
- 21: 34,
- 22: 6,
- 23: 37,
- 24: 36,
- 25: 5,
- 26: 10,
- 27: 30,
- 28: 17,
- 29: 20,
- 30: 27,
- 31: 11,
- 32: 0,
- 33: 8,
- 34: 21,
- 35: 3,
- 36: 24,
- 37: 23,
- },
- {
- 0: 33,
- 1: 22,
- 2: 24,
- 3: 13,
- 4: 18,
- 5: 20,
- 6: 10,
- 7: 27,
- 8: 30,
- 9: 37,
- 10: 6,
- 11: 36,
- 12: 32,
- 13: 3,
- 14: 23,
- 15: 35,
- 16: 34,
- 17: 26,
- 18: 4,
- 19: 31,
- 20: 5,
- 21: 29,
- 22: 1,
- 23: 14,
- 24: 2,
- 25: 28,
- 26: 17,
- 27: 7,
- 28: 25,
- 29: 21,
- 30: 8,
- 31: 19,
- 32: 12,
- 33: 0,
- 34: 16,
- 35: 15,
- 36: 11,
- 37: 9,
- },
- {
- 0: 34,
- 1: 29,
- 2: 13,
- 3: 19,
- 4: 37,
- 5: 26,
- 6: 18,
- 7: 28,
- 8: 21,
- 9: 33,
- 10: 15,
- 11: 24,
- 12: 30,
- 13: 2,
- 14: 25,
- 15: 10,
- 16: 35,
- 17: 22,
- 18: 6,
- 19: 3,
- 20: 31,
- 21: 8,
- 22: 17,
- 23: 32,
- 24: 11,
- 25: 14,
- 26: 5,
- 27: 36,
- 28: 7,
- 29: 1,
- 30: 12,
- 31: 20,
- 32: 23,
- 33: 9,
- 34: 0,
- 35: 16,
- 36: 27,
- 37: 4,
- },
- {
- 0: 35,
- 1: 23,
- 2: 8,
- 3: 21,
- 4: 22,
- 5: 18,
- 6: 31,
- 7: 24,
- 8: 2,
- 9: 26,
- 10: 34,
- 11: 30,
- 12: 27,
- 13: 29,
- 14: 36,
- 15: 37,
- 16: 33,
- 17: 25,
- 18: 5,
- 19: 32,
- 20: 28,
- 21: 3,
- 22: 4,
- 23: 1,
- 24: 7,
- 25: 17,
- 26: 9,
- 27: 12,
- 28: 20,
- 29: 13,
- 30: 11,
- 31: 6,
- 32: 19,
- 33: 16,
- 34: 10,
- 35: 0,
- 36: 14,
- 37: 15,
- },
- {
- 0: 36,
- 1: 14,
- 2: 27,
- 3: 26,
- 4: 20,
- 5: 19,
- 6: 33,
- 7: 25,
- 8: 22,
- 9: 32,
- 10: 30,
- 11: 21,
- 12: 37,
- 13: 31,
- 14: 1,
- 15: 23,
- 16: 28,
- 17: 29,
- 18: 35,
- 19: 5,
- 20: 4,
- 21: 11,
- 22: 8,
- 23: 15,
- 24: 34,
- 25: 7,
- 26: 3,
- 27: 2,
- 28: 16,
- 29: 17,
- 30: 10,
- 31: 13,
- 32: 9,
- 33: 6,
- 34: 24,
- 35: 18,
- 36: 0,
- 37: 12,
- },
- {
- 0: 37,
- 1: 19,
- 2: 25,
- 3: 23,
- 4: 16,
- 5: 30,
- 6: 34,
- 7: 32,
- 8: 29,
- 9: 18,
- 10: 33,
- 11: 28,
- 12: 24,
- 13: 15,
- 14: 26,
- 15: 13,
- 16: 4,
- 17: 35,
- 18: 9,
- 19: 1,
- 20: 36,
- 21: 22,
- 22: 21,
- 23: 3,
- 24: 12,
- 25: 2,
- 26: 14,
- 27: 31,
- 28: 11,
- 29: 8,
- 30: 5,
- 31: 27,
- 32: 7,
- 33: 10,
- 34: 6,
- 35: 17,
- 36: 20,
- 37: 0,
- },
- ],
- 40: [
- {
- 0: 1,
- 1: 0,
- 2: 3,
- 3: 2,
- 4: 5,
- 5: 4,
- 6: 7,
- 7: 6,
- 8: 9,
- 9: 8,
- 10: 11,
- 11: 10,
- 12: 13,
- 13: 12,
- 14: 15,
- 15: 14,
- 16: 17,
- 17: 16,
- 18: 19,
- 19: 18,
- 20: 21,
- 21: 20,
- 22: 23,
- 23: 22,
- 24: 25,
- 25: 24,
- 26: 27,
- 27: 26,
- 28: 29,
- 29: 28,
- 30: 31,
- 31: 30,
- 32: 33,
- 33: 32,
- 34: 35,
- 35: 34,
- 36: 37,
- 37: 36,
- 38: 39,
- 39: 38,
- },
- {
- 0: 2,
- 1: 3,
- 2: 0,
- 3: 1,
- 4: 6,
- 5: 7,
- 6: 4,
- 7: 5,
- 8: 10,
- 9: 11,
- 10: 8,
- 11: 9,
- 12: 14,
- 13: 15,
- 14: 12,
- 15: 13,
- 16: 18,
- 17: 19,
- 18: 16,
- 19: 17,
- 20: 22,
- 21: 23,
- 22: 20,
- 23: 21,
- 24: 26,
- 25: 27,
- 26: 24,
- 27: 25,
- 28: 30,
- 29: 31,
- 30: 28,
- 31: 29,
- 32: 34,
- 33: 35,
- 34: 32,
- 35: 33,
- 36: 38,
- 37: 39,
- 38: 36,
- 39: 37,
- },
- {
- 0: 3,
- 1: 2,
- 2: 1,
- 3: 0,
- 4: 7,
- 5: 6,
- 6: 5,
- 7: 4,
- 8: 11,
- 9: 10,
- 10: 9,
- 11: 8,
- 12: 15,
- 13: 14,
- 14: 13,
- 15: 12,
- 16: 19,
- 17: 18,
- 18: 17,
- 19: 16,
- 20: 23,
- 21: 22,
- 22: 21,
- 23: 20,
- 24: 27,
- 25: 26,
- 26: 25,
- 27: 24,
- 28: 31,
- 29: 30,
- 30: 29,
- 31: 28,
- 32: 35,
- 33: 34,
- 34: 33,
- 35: 32,
- 36: 39,
- 37: 38,
- 38: 37,
- 39: 36,
- },
- {
- 0: 4,
- 1: 5,
- 2: 6,
- 3: 7,
- 4: 0,
- 5: 1,
- 6: 2,
- 7: 3,
- 8: 12,
- 9: 13,
- 10: 14,
- 11: 15,
- 12: 8,
- 13: 9,
- 14: 10,
- 15: 11,
- 16: 20,
- 17: 21,
- 18: 22,
- 19: 23,
- 20: 16,
- 21: 17,
- 22: 18,
- 23: 19,
- 24: 28,
- 25: 29,
- 26: 30,
- 27: 31,
- 28: 24,
- 29: 25,
- 30: 26,
- 31: 27,
- 32: 36,
- 33: 37,
- 34: 38,
- 35: 39,
- 36: 32,
- 37: 33,
- 38: 34,
- 39: 35,
- },
- {
- 0: 5,
- 1: 4,
- 2: 7,
- 3: 6,
- 4: 1,
- 5: 0,
- 6: 3,
- 7: 2,
- 8: 13,
- 9: 12,
- 10: 15,
- 11: 14,
- 12: 9,
- 13: 8,
- 14: 11,
- 15: 10,
- 16: 21,
- 17: 20,
- 18: 23,
- 19: 22,
- 20: 17,
- 21: 16,
- 22: 19,
- 23: 18,
- 24: 29,
- 25: 28,
- 26: 31,
- 27: 30,
- 28: 25,
- 29: 24,
- 30: 27,
- 31: 26,
- 32: 37,
- 33: 36,
- 34: 39,
- 35: 38,
- 36: 33,
- 37: 32,
- 38: 35,
- 39: 34,
- },
- {
- 0: 6,
- 1: 7,
- 2: 4,
- 3: 5,
- 4: 2,
- 5: 3,
- 6: 0,
- 7: 1,
- 8: 14,
- 9: 15,
- 10: 12,
- 11: 13,
- 12: 10,
- 13: 11,
- 14: 8,
- 15: 9,
- 16: 22,
- 17: 23,
- 18: 20,
- 19: 21,
- 20: 18,
- 21: 19,
- 22: 16,
- 23: 17,
- 24: 30,
- 25: 31,
- 26: 28,
- 27: 29,
- 28: 26,
- 29: 27,
- 30: 24,
- 31: 25,
- 32: 38,
- 33: 39,
- 34: 36,
- 35: 37,
- 36: 34,
- 37: 35,
- 38: 32,
- 39: 33,
- },
- {
- 0: 7,
- 1: 6,
- 2: 5,
- 3: 4,
- 4: 3,
- 5: 2,
- 6: 1,
- 7: 0,
- 8: 15,
- 9: 14,
- 10: 13,
- 11: 12,
- 12: 11,
- 13: 10,
- 14: 9,
- 15: 8,
- 16: 23,
- 17: 22,
- 18: 21,
- 19: 20,
- 20: 19,
- 21: 18,
- 22: 17,
- 23: 16,
- 24: 31,
- 25: 30,
- 26: 29,
- 27: 28,
- 28: 27,
- 29: 26,
- 30: 25,
- 31: 24,
- 32: 39,
- 33: 38,
- 34: 37,
- 35: 36,
- 36: 35,
- 37: 34,
- 38: 33,
- 39: 32,
- },
- {
- 0: 8,
- 1: 32,
- 2: 10,
- 3: 34,
- 4: 12,
- 5: 36,
- 6: 14,
- 7: 38,
- 8: 0,
- 9: 17,
- 10: 2,
- 11: 19,
- 12: 4,
- 13: 21,
- 14: 6,
- 15: 23,
- 16: 24,
- 17: 9,
- 18: 26,
- 19: 11,
- 20: 28,
- 21: 13,
- 22: 30,
- 23: 15,
- 24: 16,
- 25: 33,
- 26: 18,
- 27: 35,
- 28: 20,
- 29: 37,
- 30: 22,
- 31: 39,
- 32: 1,
- 33: 25,
- 34: 3,
- 35: 27,
- 36: 5,
- 37: 29,
- 38: 7,
- 39: 31,
- },
- {
- 0: 9,
- 1: 8,
- 2: 32,
- 3: 33,
- 4: 13,
- 5: 12,
- 6: 36,
- 7: 37,
- 8: 1,
- 9: 0,
- 10: 19,
- 11: 18,
- 12: 5,
- 13: 4,
- 14: 23,
- 15: 22,
- 16: 25,
- 17: 24,
- 18: 11,
- 19: 10,
- 20: 29,
- 21: 28,
- 22: 15,
- 23: 14,
- 24: 17,
- 25: 16,
- 26: 35,
- 27: 34,
- 28: 21,
- 29: 20,
- 30: 39,
- 31: 38,
- 32: 2,
- 33: 3,
- 34: 27,
- 35: 26,
- 36: 6,
- 37: 7,
- 38: 31,
- 39: 30,
- },
- {
- 0: 10,
- 1: 33,
- 2: 24,
- 3: 32,
- 4: 14,
- 5: 38,
- 6: 12,
- 7: 35,
- 8: 18,
- 9: 19,
- 10: 0,
- 11: 17,
- 12: 6,
- 13: 23,
- 14: 4,
- 15: 37,
- 16: 26,
- 17: 11,
- 18: 8,
- 19: 9,
- 20: 30,
- 21: 31,
- 22: 28,
- 23: 13,
- 24: 2,
- 25: 34,
- 26: 16,
- 27: 36,
- 28: 22,
- 29: 39,
- 30: 20,
- 31: 21,
- 32: 3,
- 33: 1,
- 34: 25,
- 35: 7,
- 36: 27,
- 37: 15,
- 38: 5,
- 39: 29,
- },
- {
- 0: 11,
- 1: 12,
- 2: 13,
- 3: 37,
- 4: 32,
- 5: 8,
- 6: 17,
- 7: 10,
- 8: 5,
- 9: 23,
- 10: 7,
- 11: 0,
- 12: 1,
- 13: 2,
- 14: 19,
- 15: 20,
- 16: 27,
- 17: 6,
- 18: 28,
- 19: 14,
- 20: 15,
- 21: 29,
- 22: 39,
- 23: 9,
- 24: 35,
- 25: 36,
- 26: 34,
- 27: 16,
- 28: 18,
- 29: 21,
- 30: 38,
- 31: 33,
- 32: 4,
- 33: 31,
- 34: 26,
- 35: 24,
- 36: 25,
- 37: 3,
- 38: 30,
- 39: 22,
- },
- {
- 0: 12,
- 1: 36,
- 2: 35,
- 3: 24,
- 4: 10,
- 5: 34,
- 6: 38,
- 7: 32,
- 8: 20,
- 9: 22,
- 10: 4,
- 11: 23,
- 12: 0,
- 13: 17,
- 14: 30,
- 15: 18,
- 16: 28,
- 17: 13,
- 18: 15,
- 19: 31,
- 20: 8,
- 21: 26,
- 22: 9,
- 23: 11,
- 24: 3,
- 25: 37,
- 26: 21,
- 27: 39,
- 28: 16,
- 29: 33,
- 30: 14,
- 31: 19,
- 32: 7,
- 33: 29,
- 34: 5,
- 35: 2,
- 36: 1,
- 37: 25,
- 38: 6,
- 39: 27,
- },
- {
- 0: 13,
- 1: 22,
- 2: 21,
- 3: 17,
- 4: 24,
- 5: 32,
- 6: 9,
- 7: 34,
- 8: 33,
- 9: 6,
- 10: 25,
- 11: 39,
- 12: 23,
- 13: 0,
- 14: 18,
- 15: 38,
- 16: 29,
- 17: 3,
- 18: 14,
- 19: 28,
- 20: 27,
- 21: 2,
- 22: 1,
- 23: 12,
- 24: 4,
- 25: 10,
- 26: 37,
- 27: 20,
- 28: 19,
- 29: 16,
- 30: 36,
- 31: 35,
- 32: 5,
- 33: 8,
- 34: 7,
- 35: 31,
- 36: 30,
- 37: 26,
- 38: 15,
- 39: 11,
- },
- {
- 0: 14,
- 1: 28,
- 2: 29,
- 3: 10,
- 4: 23,
- 5: 21,
- 6: 22,
- 7: 27,
- 8: 36,
- 9: 39,
- 10: 3,
- 11: 35,
- 12: 18,
- 13: 19,
- 14: 0,
- 15: 32,
- 16: 31,
- 17: 34,
- 18: 12,
- 19: 13,
- 20: 25,
- 21: 5,
- 22: 6,
- 23: 4,
- 24: 37,
- 25: 20,
- 26: 38,
- 27: 7,
- 28: 1,
- 29: 2,
- 30: 33,
- 31: 16,
- 32: 15,
- 33: 30,
- 34: 17,
- 35: 11,
- 36: 8,
- 37: 24,
- 38: 26,
- 39: 9,
- },
- {
- 0: 15,
- 1: 34,
- 2: 36,
- 3: 18,
- 4: 21,
- 5: 28,
- 6: 8,
- 7: 24,
- 8: 6,
- 9: 29,
- 10: 32,
- 11: 33,
- 12: 20,
- 13: 38,
- 14: 22,
- 15: 0,
- 16: 30,
- 17: 26,
- 18: 3,
- 19: 35,
- 20: 12,
- 21: 4,
- 22: 14,
- 23: 27,
- 24: 7,
- 25: 39,
- 26: 17,
- 27: 23,
- 28: 5,
- 29: 9,
- 30: 16,
- 31: 37,
- 32: 10,
- 33: 11,
- 34: 1,
- 35: 19,
- 36: 2,
- 37: 31,
- 38: 13,
- 39: 25,
- },
- {
- 0: 16,
- 1: 9,
- 2: 12,
- 3: 14,
- 4: 8,
- 5: 23,
- 6: 32,
- 7: 33,
- 8: 4,
- 9: 1,
- 10: 21,
- 11: 20,
- 12: 2,
- 13: 31,
- 14: 3,
- 15: 19,
- 16: 0,
- 17: 28,
- 18: 36,
- 19: 15,
- 20: 11,
- 21: 10,
- 22: 25,
- 23: 5,
- 24: 34,
- 25: 22,
- 26: 39,
- 27: 38,
- 28: 17,
- 29: 35,
- 30: 37,
- 31: 13,
- 32: 6,
- 33: 7,
- 34: 24,
- 35: 29,
- 36: 18,
- 37: 30,
- 38: 27,
- 39: 26,
- },
- {
- 0: 17,
- 1: 38,
- 2: 27,
- 3: 11,
- 4: 9,
- 5: 35,
- 6: 33,
- 7: 23,
- 8: 19,
- 9: 4,
- 10: 18,
- 11: 3,
- 12: 30,
- 13: 20,
- 14: 26,
- 15: 16,
- 16: 15,
- 17: 0,
- 18: 10,
- 19: 8,
- 20: 13,
- 21: 37,
- 22: 29,
- 23: 7,
- 24: 39,
- 25: 32,
- 26: 14,
- 27: 2,
- 28: 34,
- 29: 22,
- 30: 12,
- 31: 36,
- 32: 25,
- 33: 6,
- 34: 28,
- 35: 5,
- 36: 31,
- 37: 21,
- 38: 1,
- 39: 24,
- },
- {
- 0: 18,
- 1: 37,
- 2: 16,
- 3: 29,
- 4: 30,
- 5: 31,
- 6: 19,
- 7: 15,
- 8: 25,
- 9: 20,
- 10: 17,
- 11: 34,
- 12: 38,
- 13: 36,
- 14: 33,
- 15: 7,
- 16: 2,
- 17: 10,
- 18: 0,
- 19: 6,
- 20: 9,
- 21: 27,
- 22: 35,
- 23: 26,
- 24: 32,
- 25: 8,
- 26: 23,
- 27: 21,
- 28: 39,
- 29: 3,
- 30: 4,
- 31: 5,
- 32: 24,
- 33: 14,
- 34: 11,
- 35: 22,
- 36: 13,
- 37: 1,
- 38: 12,
- 39: 28,
- },
- {
- 0: 19,
- 1: 23,
- 2: 34,
- 3: 13,
- 4: 27,
- 5: 20,
- 6: 25,
- 7: 29,
- 8: 17,
- 9: 32,
- 10: 26,
- 11: 37,
- 12: 16,
- 13: 3,
- 14: 31,
- 15: 21,
- 16: 12,
- 17: 8,
- 18: 39,
- 19: 0,
- 20: 5,
- 21: 15,
- 22: 36,
- 23: 1,
- 24: 33,
- 25: 6,
- 26: 10,
- 27: 4,
- 28: 38,
- 29: 7,
- 30: 35,
- 31: 14,
- 32: 9,
- 33: 24,
- 34: 2,
- 35: 30,
- 36: 22,
- 37: 11,
- 38: 28,
- 39: 18,
- },
- {
- 0: 20,
- 1: 35,
- 2: 9,
- 3: 8,
- 4: 31,
- 5: 33,
- 6: 34,
- 7: 30,
- 8: 3,
- 9: 2,
- 10: 23,
- 11: 25,
- 12: 17,
- 13: 22,
- 14: 21,
- 15: 28,
- 16: 39,
- 17: 12,
- 18: 32,
- 19: 26,
- 20: 0,
- 21: 14,
- 22: 13,
- 23: 10,
- 24: 36,
- 25: 11,
- 26: 19,
- 27: 37,
- 28: 15,
- 29: 38,
- 30: 7,
- 31: 4,
- 32: 18,
- 33: 5,
- 34: 6,
- 35: 1,
- 36: 24,
- 37: 27,
- 38: 29,
- 39: 16,
- },
- {
- 0: 21,
- 1: 29,
- 2: 31,
- 3: 26,
- 4: 15,
- 5: 14,
- 6: 10,
- 7: 36,
- 8: 22,
- 9: 34,
- 10: 6,
- 11: 32,
- 12: 28,
- 13: 27,
- 14: 5,
- 15: 4,
- 16: 35,
- 17: 39,
- 18: 37,
- 19: 25,
- 20: 33,
- 21: 0,
- 22: 8,
- 23: 30,
- 24: 38,
- 25: 19,
- 26: 3,
- 27: 13,
- 28: 12,
- 29: 1,
- 30: 23,
- 31: 2,
- 32: 11,
- 33: 20,
- 34: 9,
- 35: 16,
- 36: 7,
- 37: 18,
- 38: 24,
- 39: 17,
- },
- {
- 0: 22,
- 1: 11,
- 2: 37,
- 3: 39,
- 4: 28,
- 5: 24,
- 6: 30,
- 7: 21,
- 8: 32,
- 9: 33,
- 10: 27,
- 11: 1,
- 12: 19,
- 13: 16,
- 14: 17,
- 15: 26,
- 16: 13,
- 17: 14,
- 18: 31,
- 19: 12,
- 20: 36,
- 21: 7,
- 22: 0,
- 23: 35,
- 24: 5,
- 25: 38,
- 26: 15,
- 27: 10,
- 28: 4,
- 29: 34,
- 30: 6,
- 31: 18,
- 32: 8,
- 33: 9,
- 34: 29,
- 35: 23,
- 36: 20,
- 37: 2,
- 38: 25,
- 39: 3,
- },
- {
- 0: 23,
- 1: 21,
- 2: 26,
- 3: 25,
- 4: 11,
- 5: 17,
- 6: 24,
- 7: 16,
- 8: 29,
- 9: 36,
- 10: 31,
- 11: 4,
- 12: 34,
- 13: 32,
- 14: 35,
- 15: 30,
- 16: 7,
- 17: 5,
- 18: 27,
- 19: 33,
- 20: 39,
- 21: 1,
- 22: 38,
- 23: 0,
- 24: 6,
- 25: 3,
- 26: 2,
- 27: 18,
- 28: 37,
- 29: 8,
- 30: 15,
- 31: 10,
- 32: 13,
- 33: 19,
- 34: 12,
- 35: 14,
- 36: 9,
- 37: 28,
- 38: 22,
- 39: 20,
- },
- {
- 0: 24,
- 1: 10,
- 2: 39,
- 3: 15,
- 4: 37,
- 5: 26,
- 6: 28,
- 7: 9,
- 8: 21,
- 9: 7,
- 10: 1,
- 11: 30,
- 12: 33,
- 13: 18,
- 14: 20,
- 15: 3,
- 16: 34,
- 17: 32,
- 18: 13,
- 19: 38,
- 20: 14,
- 21: 8,
- 22: 27,
- 23: 31,
- 24: 0,
- 25: 35,
- 26: 5,
- 27: 22,
- 28: 6,
- 29: 36,
- 30: 11,
- 31: 23,
- 32: 17,
- 33: 12,
- 34: 16,
- 35: 25,
- 36: 29,
- 37: 4,
- 38: 19,
- 39: 2,
- },
- {
- 0: 25,
- 1: 13,
- 2: 22,
- 3: 9,
- 4: 35,
- 5: 29,
- 6: 11,
- 7: 26,
- 8: 27,
- 9: 3,
- 10: 30,
- 11: 6,
- 12: 39,
- 13: 1,
- 14: 24,
- 15: 31,
- 16: 36,
- 17: 37,
- 18: 33,
- 19: 32,
- 20: 34,
- 21: 38,
- 22: 2,
- 23: 28,
- 24: 14,
- 25: 0,
- 26: 7,
- 27: 8,
- 28: 23,
- 29: 5,
- 30: 10,
- 31: 15,
- 32: 19,
- 33: 18,
- 34: 20,
- 35: 4,
- 36: 16,
- 37: 17,
- 38: 21,
- 39: 12,
- },
- {
- 0: 26,
- 1: 27,
- 2: 33,
- 3: 20,
- 4: 18,
- 5: 30,
- 6: 16,
- 7: 11,
- 8: 35,
- 9: 28,
- 10: 37,
- 11: 7,
- 12: 32,
- 13: 39,
- 14: 34,
- 15: 29,
- 16: 6,
- 17: 25,
- 18: 4,
- 19: 24,
- 20: 3,
- 21: 36,
- 22: 31,
- 23: 38,
- 24: 19,
- 25: 17,
- 26: 0,
- 27: 1,
- 28: 9,
- 29: 15,
- 30: 5,
- 31: 22,
- 32: 12,
- 33: 2,
- 34: 14,
- 35: 8,
- 36: 21,
- 37: 10,
- 38: 23,
- 39: 13,
- },
- {
- 0: 27,
- 1: 19,
- 2: 8,
- 3: 16,
- 4: 22,
- 5: 18,
- 6: 23,
- 7: 31,
- 8: 2,
- 9: 24,
- 10: 36,
- 11: 38,
- 12: 26,
- 13: 37,
- 14: 32,
- 15: 39,
- 16: 3,
- 17: 29,
- 18: 5,
- 19: 1,
- 20: 35,
- 21: 25,
- 22: 4,
- 23: 6,
- 24: 9,
- 25: 21,
- 26: 12,
- 27: 0,
- 28: 33,
- 29: 17,
- 30: 34,
- 31: 7,
- 32: 14,
- 33: 28,
- 34: 30,
- 35: 20,
- 36: 10,
- 37: 13,
- 38: 11,
- 39: 15,
- },
- {
- 0: 28,
- 1: 39,
- 2: 23,
- 3: 31,
- 4: 25,
- 5: 37,
- 6: 13,
- 7: 14,
- 8: 16,
- 9: 38,
- 10: 35,
- 11: 24,
- 12: 22,
- 13: 6,
- 14: 7,
- 15: 33,
- 16: 8,
- 17: 36,
- 18: 30,
- 19: 27,
- 20: 26,
- 21: 34,
- 22: 12,
- 23: 2,
- 24: 11,
- 25: 4,
- 26: 20,
- 27: 19,
- 28: 0,
- 29: 32,
- 30: 18,
- 31: 3,
- 32: 29,
- 33: 15,
- 34: 21,
- 35: 10,
- 36: 17,
- 37: 5,
- 38: 9,
- 39: 1,
- },
- {
- 0: 29,
- 1: 30,
- 2: 15,
- 3: 28,
- 4: 19,
- 5: 39,
- 6: 27,
- 7: 12,
- 8: 26,
- 9: 31,
- 10: 34,
- 11: 22,
- 12: 7,
- 13: 33,
- 14: 36,
- 15: 2,
- 16: 38,
- 17: 35,
- 18: 25,
- 19: 4,
- 20: 24,
- 21: 32,
- 22: 11,
- 23: 37,
- 24: 20,
- 25: 18,
- 26: 8,
- 27: 6,
- 28: 3,
- 29: 0,
- 30: 1,
- 31: 9,
- 32: 21,
- 33: 13,
- 34: 10,
- 35: 17,
- 36: 14,
- 37: 23,
- 38: 16,
- 39: 5,
- },
- {
- 0: 30,
- 1: 18,
- 2: 20,
- 3: 19,
- 4: 36,
- 5: 25,
- 6: 29,
- 7: 28,
- 8: 34,
- 9: 35,
- 10: 22,
- 11: 16,
- 12: 21,
- 13: 24,
- 14: 37,
- 15: 27,
- 16: 11,
- 17: 38,
- 18: 1,
- 19: 3,
- 20: 2,
- 21: 12,
- 22: 10,
- 23: 39,
- 24: 13,
- 25: 5,
- 26: 33,
- 27: 15,
- 28: 7,
- 29: 6,
- 30: 0,
- 31: 32,
- 32: 31,
- 33: 26,
- 34: 8,
- 35: 9,
- 36: 4,
- 37: 14,
- 38: 17,
- 39: 23,
- },
- {
- 0: 31,
- 1: 15,
- 2: 30,
- 3: 23,
- 4: 34,
- 5: 16,
- 6: 18,
- 7: 39,
- 8: 37,
- 9: 21,
- 10: 20,
- 11: 28,
- 12: 25,
- 13: 35,
- 14: 38,
- 15: 1,
- 16: 5,
- 17: 33,
- 18: 6,
- 19: 29,
- 20: 10,
- 21: 9,
- 22: 24,
- 23: 3,
- 24: 22,
- 25: 12,
- 26: 36,
- 27: 32,
- 28: 11,
- 29: 19,
- 30: 2,
- 31: 0,
- 32: 27,
- 33: 17,
- 34: 4,
- 35: 13,
- 36: 26,
- 37: 8,
- 38: 14,
- 39: 7,
- },
- {
- 0: 32,
- 1: 26,
- 2: 18,
- 3: 27,
- 4: 20,
- 5: 9,
- 6: 31,
- 7: 17,
- 8: 39,
- 9: 5,
- 10: 38,
- 11: 29,
- 12: 36,
- 13: 34,
- 14: 28,
- 15: 25,
- 16: 33,
- 17: 7,
- 18: 2,
- 19: 30,
- 20: 4,
- 21: 35,
- 22: 37,
- 23: 24,
- 24: 23,
- 25: 15,
- 26: 1,
- 27: 3,
- 28: 14,
- 29: 11,
- 30: 19,
- 31: 6,
- 32: 0,
- 33: 16,
- 34: 13,
- 35: 21,
- 36: 12,
- 37: 22,
- 38: 10,
- 39: 8,
- },
- {
- 0: 33,
- 1: 24,
- 2: 19,
- 3: 21,
- 4: 38,
- 5: 27,
- 6: 37,
- 7: 8,
- 8: 7,
- 9: 25,
- 10: 39,
- 11: 36,
- 12: 35,
- 13: 28,
- 14: 16,
- 15: 17,
- 16: 14,
- 17: 15,
- 18: 29,
- 19: 2,
- 20: 31,
- 21: 3,
- 22: 26,
- 23: 34,
- 24: 1,
- 25: 9,
- 26: 22,
- 27: 5,
- 28: 13,
- 29: 18,
- 30: 32,
- 31: 20,
- 32: 30,
- 33: 0,
- 34: 23,
- 35: 12,
- 36: 11,
- 37: 6,
- 38: 4,
- 39: 10,
- },
- {
- 0: 34,
- 1: 16,
- 2: 28,
- 3: 36,
- 4: 26,
- 5: 19,
- 6: 39,
- 7: 22,
- 8: 31,
- 9: 27,
- 10: 33,
- 11: 21,
- 12: 37,
- 13: 29,
- 14: 25,
- 15: 35,
- 16: 1,
- 17: 30,
- 18: 24,
- 19: 5,
- 20: 38,
- 21: 11,
- 22: 7,
- 23: 32,
- 24: 18,
- 25: 14,
- 26: 4,
- 27: 9,
- 28: 2,
- 29: 13,
- 30: 17,
- 31: 8,
- 32: 23,
- 33: 10,
- 34: 0,
- 35: 15,
- 36: 3,
- 37: 12,
- 38: 20,
- 39: 6,
- },
- {
- 0: 35,
- 1: 14,
- 2: 25,
- 3: 38,
- 4: 17,
- 5: 15,
- 6: 20,
- 7: 18,
- 8: 23,
- 9: 26,
- 10: 29,
- 11: 27,
- 12: 24,
- 13: 30,
- 14: 1,
- 15: 5,
- 16: 37,
- 17: 4,
- 18: 7,
- 19: 36,
- 20: 6,
- 21: 39,
- 22: 33,
- 23: 8,
- 24: 12,
- 25: 2,
- 26: 9,
- 27: 11,
- 28: 32,
- 29: 10,
- 30: 13,
- 31: 34,
- 32: 28,
- 33: 22,
- 34: 31,
- 35: 0,
- 36: 19,
- 37: 16,
- 38: 3,
- 39: 21,
- },
- {
- 0: 36,
- 1: 25,
- 2: 38,
- 3: 30,
- 4: 29,
- 5: 10,
- 6: 15,
- 7: 13,
- 8: 28,
- 9: 16,
- 10: 5,
- 11: 26,
- 12: 27,
- 13: 7,
- 14: 39,
- 15: 6,
- 16: 9,
- 17: 31,
- 18: 35,
- 19: 34,
- 20: 37,
- 21: 24,
- 22: 32,
- 23: 33,
- 24: 21,
- 25: 1,
- 26: 11,
- 27: 12,
- 28: 8,
- 29: 4,
- 30: 3,
- 31: 17,
- 32: 22,
- 33: 23,
- 34: 19,
- 35: 18,
- 36: 0,
- 37: 20,
- 38: 2,
- 39: 14,
- },
- {
- 0: 37,
- 1: 17,
- 2: 11,
- 3: 35,
- 4: 33,
- 5: 13,
- 6: 26,
- 7: 25,
- 8: 38,
- 9: 18,
- 10: 16,
- 11: 2,
- 12: 31,
- 13: 5,
- 14: 27,
- 15: 24,
- 16: 10,
- 17: 1,
- 18: 9,
- 19: 39,
- 20: 32,
- 21: 30,
- 22: 34,
- 23: 29,
- 24: 15,
- 25: 7,
- 26: 6,
- 27: 14,
- 28: 36,
- 29: 23,
- 30: 21,
- 31: 12,
- 32: 20,
- 33: 4,
- 34: 22,
- 35: 3,
- 36: 28,
- 37: 0,
- 38: 8,
- 39: 19,
- },
- {
- 0: 38,
- 1: 20,
- 2: 17,
- 3: 12,
- 4: 39,
- 5: 22,
- 6: 21,
- 7: 19,
- 8: 30,
- 9: 37,
- 10: 24,
- 11: 31,
- 12: 3,
- 13: 26,
- 14: 29,
- 15: 36,
- 16: 32,
- 17: 2,
- 18: 34,
- 19: 7,
- 20: 1,
- 21: 6,
- 22: 5,
- 23: 25,
- 24: 10,
- 25: 23,
- 26: 13,
- 27: 33,
- 28: 35,
- 29: 14,
- 30: 8,
- 31: 11,
- 32: 16,
- 33: 27,
- 34: 18,
- 35: 28,
- 36: 15,
- 37: 9,
- 38: 0,
- 39: 4,
- },
- {
- 0: 39,
- 1: 31,
- 2: 14,
- 3: 22,
- 4: 16,
- 5: 11,
- 6: 35,
- 7: 20,
- 8: 24,
- 9: 30,
- 10: 28,
- 11: 5,
- 12: 29,
- 13: 25,
- 14: 2,
- 15: 34,
- 16: 4,
- 17: 27,
- 18: 38,
- 19: 37,
- 20: 7,
- 21: 33,
- 22: 3,
- 23: 36,
- 24: 8,
- 25: 13,
- 26: 32,
- 27: 17,
- 28: 10,
- 29: 12,
- 30: 9,
- 31: 1,
- 32: 26,
- 33: 21,
- 34: 15,
- 35: 6,
- 36: 23,
- 37: 19,
- 38: 18,
- 39: 0,
- },
- ],
- };
-
- calculatePartnerTableFor(numberIds: number) {
- const ids: string[] = [];
- for (let i = 0; i < numberIds; i++) {
- ids.push(String(i));
- }
- return this.calculatePartnerTable(ids);
- }
-
- calculatePartnerTable(memberIds: string[]) {
- if (memberIds.length === 0) {
- return [];
- }
-
- memberIds = memberIds.slice();
- if (memberIds.length % 2 === 1) {
- memberIds.push('JOKER');
- }
-
- const table: Record[] = [];
-
- // prepareTable
- for (let i = 0; i < memberIds.length - 1; i++) {
- const column: Record = {};
- memberIds.forEach((memberId) => (column[memberId] = ''));
- table.push(column);
- }
-
- // initialize possible partners
- const possiblePartners: Record = {};
- memberIds.forEach((memberId) => (possiblePartners[memberId] = memberIds.filter((id) => id !== memberId)));
-
- return this.solveTable(table, memberIds, 0, possiblePartners);
- }
-
- solveTable(
- table: Record[],
- memberIds: string[],
- columnIndex: number,
- possiblePartners: Record
- ): Record[] | false {
- const column = table[columnIndex];
- const newPossiblePartners = JsonHelper.deepCopy(possiblePartners);
- const res = this.solveColumn(column, newPossiblePartners);
- if (res === false) {
- return false;
- }
-
- table[columnIndex] = res.column;
- // check solved
- if (columnIndex === table.length - 1) {
- return table;
- }
- possiblePartners = res.possiblePartners;
- return this.solveTable(table, memberIds, columnIndex + 1, possiblePartners);
- }
-
- static generateTables() {
- const tables: Record = {};
- for (let i = 2; i <= 40; i += 2) {
- tables[i] = PrayerCircleCalculator.generateTable(i);
- }
- console.log('TABLES', JSON.stringify(tables));
- }
-
- static generateTableFor(memberIds: string[]) {
- if (memberIds.length === 0) {
- return [];
- }
-
- memberIds = memberIds.slice();
- if (memberIds.length % 2 === 1) {
- memberIds.push('JOKER');
- }
-
- const numberTable = PrayerCircleCalculator.generateTable(memberIds.length);
-
- if (numberTable === false) {
- return false;
- }
- return numberTable.map((column) => {
- const idColumn: Record = {};
- Object.keys(column).forEach((index) => {
- idColumn[memberIds[Number(index)]] = memberIds[column[Number(index)]];
- });
- return idColumn;
- });
- }
-
- static generateTable(numPrayers: number): Record[] | false {
- if (numPrayers % 2 !== 0) {
- return false;
- }
-
- // if (PrayerCircleCalculator.tables[numPrayers]) {
- // return PrayerCircleCalculator.tables[numPrayers];
- // }
-
- // prepare possible partners
- const possiblePartnersBaseArray: number[] = [];
- for (let i = 0; i < numPrayers; i++) {
- possiblePartnersBaseArray.push(i);
- }
- const possiblePartners: Record = {};
- for (let i = 0; i < numPrayers; i++) {
- possiblePartners[i] = possiblePartnersBaseArray.filter((id) => id !== i);
- }
-
- const table: Record[] = [];
-
- for (let i = 0; i < numPrayers - 1; i++) {
- table.push({});
- }
-
- return PrayerCircleCalculator.generatePair(
- table,
- 0,
- possiblePartners,
- Object.keys(possiblePartners).map((id) => Number(id))
- );
- }
-
- // static generateColumn(possiblePartners: Record) {
- // const column: Record = {};
- // const partnerBase: number[] = Object.keys(possiblePartners).map((id) => Number(id));
- //
- // return PrayerCircleCalculator.generatePair(column, possiblePartners, partnerBase);
- // }
-
- static generatePair(
- table: Column[],
- columnIndex: number,
- possiblePartners: Record,
- openPrayers: number[]
- ): false | Column[] {
- const newTable = JsonHelper.deepCopy(table);
- const newPossiblePartners = JsonHelper.deepCopy(possiblePartners);
- const column = newTable[columnIndex];
- // openPrayers = Object.keys(possiblePartners)
- // .map((id) => Number(id))
- // .filter((id) => (column[id] ?? -1) === -1);
-
- // if (columnIndex === 19 && openPrayers.length === Object.keys(possiblePartners).length) {
- // debugger;
- // }
-
- if (openPrayers.length === 2) {
- const [firstPartner, secondPartner] = openPrayers;
- PrayerCircleCalculator.setPartners(column, newPossiblePartners, firstPartner, secondPartner);
- if (Object.keys(newPossiblePartners).length === columnIndex + 2) {
- return newTable;
- }
- return PrayerCircleCalculator.generatePair(
- newTable,
- columnIndex + 1,
- newPossiblePartners,
- Object.keys(newPossiblePartners).map((id) => Number(id))
- );
- }
-
- const realPossiblePartnersMap: Record = {};
- const [firstPartner] = openPrayers.reduce(
- ([prevId, prevVal]: [number, number], id) => {
- const realPossiblePartners = newPossiblePartners[id].filter(
- (otherId) => (column[otherId] ?? -1) === -1
- );
- realPossiblePartnersMap[id] = realPossiblePartners;
-
- return prevVal > realPossiblePartners.length ? [id, realPossiblePartners.length] : [prevId, prevVal];
- },
- [-1, Infinity]
- );
-
- let res;
- do {
- const [secondPartner] = realPossiblePartnersMap[firstPartner].reduce(
- ([prevId, prevVal], id) =>
- prevVal > realPossiblePartnersMap[id].length
- ? [id, realPossiblePartnersMap[id].length]
- : [prevId, prevVal],
- [-1, Infinity]
- );
-
- if (secondPartner === -1) {
- return false;
- }
-
- PrayerCircleCalculator.setPartners(column, newPossiblePartners, firstPartner, secondPartner);
- const newOpenPrayers = openPrayers.filter((id) => id !== firstPartner && id !== secondPartner);
- res = PrayerCircleCalculator.generatePair(newTable, columnIndex, newPossiblePartners, newOpenPrayers);
- if (res === false) {
- realPossiblePartnersMap[firstPartner].splice(
- realPossiblePartnersMap[firstPartner].indexOf(secondPartner),
- 1
- );
- } else {
- return res;
- }
- } while (!res);
- return false;
- }
-
- solveColumn(
- column: Record,
- possiblePartners: Record
- ): { column: Record; possiblePartners: Record } | false {
- const memberWithoutPartner = Object.keys(column).find((id) => column[id] === '');
- if (!memberWithoutPartner) {
- return { column, possiblePartners };
- }
-
- let newColumn: Record = {};
- let newPossiblePartners: Record = {};
- const foundSolution = possiblePartners[memberWithoutPartner].some((partnerId, partnerIndex) => {
- if (column[partnerId] !== '') {
- return false;
- }
- const tmpColumn = JsonHelper.deepCopy(column);
- tmpColumn[memberWithoutPartner] = partnerId;
- tmpColumn[partnerId] = memberWithoutPartner;
-
- const tmpPossiblePartners = JsonHelper.deepCopy(possiblePartners);
- tmpPossiblePartners[memberWithoutPartner].splice(partnerIndex, 1);
- const otherIndex = tmpPossiblePartners[partnerId].findIndex((id) => id === memberWithoutPartner);
- tmpPossiblePartners[partnerId].splice(otherIndex, 1);
-
- const res = this.solveColumn(tmpColumn, tmpPossiblePartners);
- if (res === false) {
- return res;
- }
-
- newColumn = res.column;
- newPossiblePartners = res.possiblePartners;
- return true;
- });
-
- if (foundSolution) {
- return { column: newColumn, possiblePartners: newPossiblePartners };
- }
- return false;
- }
-
- static setPartners(column: Column, possiblePartners: PossiblePartners, partner1: number, partner2: number) {
- column[partner1] = partner2;
- column[partner2] = partner1;
- possiblePartners[partner1].splice(possiblePartners[partner1].indexOf(partner2), 1);
- possiblePartners[partner2].splice(possiblePartners[partner2].indexOf(partner1), 1);
-
- return [column, possiblePartners] as [Column, PossiblePartners];
- }
-}
diff --git a/src/client/ts/PrayerCircle/PrayercircleSettings.tsx b/src/client/ts/PrayerCircle/PrayercircleSettings.tsx
index 7a32879..622952f 100644
--- a/src/client/ts/PrayerCircle/PrayercircleSettings.tsx
+++ b/src/client/ts/PrayerCircle/PrayercircleSettings.tsx
@@ -3,6 +3,7 @@ import { Checkbox, Switch } from 'react-bootstrap-mobile';
import { useCallback } from 'react';
import { useAppDispatch, useAppSelector } from '../Store/reduxHooks';
import { setUsePartners, setUseWeekdays } from './prayerCircleSlice';
+import { setDesign } from '../Settings/settingsSlice';
export type PrayerCircleSettingsProps = {};
@@ -11,6 +12,7 @@ function PrayerCircleSettings({}: PrayerCircleSettingsProps) {
const dispatch = useAppDispatch();
const useWeekdays = useAppSelector((store) => store.prayerCircle.useWeekdays ?? false);
const usePartners = useAppSelector((store) => store.prayerCircle.usePartners ?? true);
+ const design = useAppSelector((state) => state.settings.design);
// States
@@ -19,6 +21,13 @@ function PrayerCircleSettings({}: PrayerCircleSettingsProps) {
// Callbacks
const onChangeUseWeekdays = useCallback(({ target: { checked } }) => dispatch(setUseWeekdays(checked)), [dispatch]);
const onChangeUsePartners = useCallback(({ target: { checked } }) => dispatch(setUsePartners(checked)), [dispatch]);
+ const toggleThemeCallback = useCallback(() => {
+ if (design === 'material') {
+ dispatch(setDesign('flat'));
+ } else {
+ dispatch(setDesign('material'));
+ }
+ }, [dispatch, design]);
// Effects
@@ -33,6 +42,16 @@ function PrayerCircleSettings({}: PrayerCircleSettingsProps) {
+
+
+ ios
+
>
);
}
diff --git a/src/client/ts/Settings/Settings.tsx b/src/client/ts/Settings/Settings.tsx
deleted file mode 100644
index 86520c9..0000000
--- a/src/client/ts/Settings/Settings.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import * as React from 'react';
-import { Sites, useTopBar } from 'cordova-sites';
-import { FunctionComponent, useCallback } from 'react';
-import { Button, Switch } from 'react-bootstrap-mobile';
-import { useAppDispatch, useAppSelector } from '../Store/reduxHooks';
-import { setDesign } from './settingsSlice';
-
-type Props = {};
-
-export const Settings: FunctionComponent = React.memo(({}) => {
- // Variables
- const design = useAppSelector((state) => state.settings.design);
- const isActive = design === 'flat';
- const dispatch = useAppDispatch();
-
- // States
-
- // Refs
-
- // Callbacks
- const toggleThemeCallback = useCallback(() => {
- if (design === 'material') {
- dispatch(setDesign('flat'));
- } else {
- dispatch(setDesign('material'));
- }
- }, [dispatch, design]);
-
- // Effects
- useTopBar({
- title: 'Settings',
- });
-
- // Other
-
- // Render Functions
-
- return (
- <>
-
-
-
- ios
-
-
- >
- );
-});
-Sites.addInitialization((app) => app.addDeepLink('/Settings', Settings));
diff --git a/src/client/ts/Tasks/TaskList.tsx b/src/client/ts/Tasks/TaskList.tsx
deleted file mode 100644
index f02876c..0000000
--- a/src/client/ts/Tasks/TaskList.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import * as React from 'react';
-import { Sites, useSites, useTopBar } from 'cordova-sites';
-import { FunctionComponent } from 'react';
-import { Settings } from '../Settings/Settings';
-import { Input, Switch } from 'react-bootstrap-mobile';
-
-type Props = {};
-
-export const TaskList: FunctionComponent = React.memo(({}) => {
- // Variables
- const sites = useSites();
-
- // States
-
- // Refs
-
- // Callbacks
-
- // Effects
- useTopBar({
- title: 'TaskList',
- rightButtons: [
- {
- title: 'Settings',
- action: () => {
- sites?.startSite(Settings);
- },
- },
- ],
- });
-
- // Other
-
- // Render Functions
- return (
- <>
-
-
-
- console.log(e.target.checked)}>
- ios
-
- >
- );
-});
-Sites.addInitialization((app) => app.addDeepLink('/TaskList', TaskList));
diff --git a/src/client/ts/Tasks/tasksSlice.ts b/src/client/ts/Tasks/tasksSlice.ts
deleted file mode 100644
index 9dda8ea..0000000
--- a/src/client/ts/Tasks/tasksSlice.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { createSlice } from '@reduxjs/toolkit';
-
-export const tasksSlice = createSlice({
- name: 'tasks',
- initialState: {
- value: 0,
- },
- reducers: {
- increment: (state) => {
- state.value += 1;
- },
- decrement: (state) => {
- state.value -= 1;
- },
- incrementByAmount: (state, action) => {
- state.value += action.payload;
- },
- },
-});
-
-export const { increment, decrement, incrementByAmount } = tasksSlice.actions;
-export default tasksSlice.reducer;