From 5be5a3cc8bafe6a590a031f9632c67a068945bd4 Mon Sep 17 00:00:00 2001 From: stertooy <5571903+stertooy@users.noreply.github.com> Date: Thu, 13 Aug 2026 14:48:46 +0200 Subject: [PATCH 1/3] Update classification and IdClassNr --- .github/actions/setup/action.yml | 5 + .github/actions/test-gap/action.yml | 3 - .github/gaplint-lib.yml | 1 + .github/workflows/CI.yml | 20 +- .github/workflows/docs.yml | 2 +- .github/workflows/lint.yml | 4 +- .github/workflows/pre-release.yml | 18 +- .github/workflows/release.yml | 2 +- .github/workflows/validate.yml | 2 +- CHANGELOG.md | 16 +- CITATION.cff | 4 +- PackageInfo.g | 14 +- README.md | 12 +- data/gens.g | 794 ++-- data/incomplete/read.g | 8 - data/{incomplete => unverified}/atlasname.g | 38 + data/{incomplete => unverified}/code.g | 38 + data/{incomplete => unverified}/gens.g | 38 + data/{incomplete => unverified}/idgroup.g | 38 + data/{incomplete => unverified}/perfgrp.g | 38 + data/{incomplete => unverified}/primgrp.g | 38 + data/unverified/read.g | 8 + data/{incomplete => unverified}/size.g | 38 + data/{incomplete => unverified}/transgrp.g | 38 + doc/bibliography.bib | 7 + doc/classification.autodoc | 17 +- doc/frontmatter.autodoc | 8 +- doc/otherlibraries.autodoc | 2 +- doc/package.autodoc | 15 +- examples/basic.g | 2 +- init.g | 3 +- lib/basic.g | 39 +- lib/basic.gd | 8 - lib/basic.gi | 82 - lib/idclassnr.g | 3876 +++++++++++++++++++ lib/idclassnr.gd | 11 + lib/idclassnr.gi | 23 + lib/incomplete.gd | 7 - lib/incomplete.gi | 10 - lib/select.g | 2 +- lib/select.gi | 2 +- lib/unverified.gd | 7 + lib/unverified.gi | 10 + makedoc.g | 4 +- read.g | 4 +- tst/atlasname.tst | 2 +- tst/basic.tst | 24 +- tst/idgroup.tst | 4 +- tst/pcgrp.tst | 17 +- tst/perfgrp.tst | 4 +- tst/permgrp.tst | 8 +- tst/primgrp.tst | 2 +- tst/testall.g | 2 +- tst/transgrp.tst | 2 +- 54 files changed, 4775 insertions(+), 646 deletions(-) delete mode 100644 data/incomplete/read.g rename data/{incomplete => unverified}/atlasname.g (95%) rename data/{incomplete => unverified}/code.g (87%) rename data/{incomplete => unverified}/gens.g (82%) rename data/{incomplete => unverified}/idgroup.g (96%) rename data/{incomplete => unverified}/perfgrp.g (95%) rename data/{incomplete => unverified}/primgrp.g (96%) create mode 100644 data/unverified/read.g rename data/{incomplete => unverified}/size.g (95%) rename data/{incomplete => unverified}/transgrp.g (97%) create mode 100644 lib/idclassnr.g create mode 100644 lib/idclassnr.gd create mode 100644 lib/idclassnr.gi delete mode 100644 lib/incomplete.gd delete mode 100644 lib/incomplete.gi create mode 100644 lib/unverified.gd create mode 100644 lib/unverified.gi diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 60e5a7e..e575315 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -5,6 +5,11 @@ runs: using: "composite" steps: + - name: "Install perfgrp" + uses: gap-actions/install-pkg@v1 + with: + packages: gap-packages/perfgrp@1.0.0 + - name: "Add custom GAP root" shell: bash run: ln -f -s $PWD /tmp/gaproot/pkg/ diff --git a/.github/actions/test-gap/action.yml b/.github/actions/test-gap/action.yml index 73f7883..f969a48 100644 --- a/.github/actions/test-gap/action.yml +++ b/.github/actions/test-gap/action.yml @@ -3,13 +3,10 @@ description: "Test GAP" inputs: mode: default: 'default' - type: string warnings-as-errors: default: true - type: boolean complete: default: false - type: boolean runs: using: "composite" diff --git a/.github/gaplint-lib.yml b/.github/gaplint-lib.yml index c5359ab..1c57bfb 100644 --- a/.github/gaplint-lib.yml +++ b/.github/gaplint-lib.yml @@ -6,3 +6,4 @@ disable: - W012 - W013 - W014 +- W047 diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 6767dc2..c9c0030 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -8,41 +8,45 @@ on: jobs: test-pkg: - name: "Test package (version: ${{ matrix.gap-version }})" + name: "Test package (version: ${{ matrix.gap-version }}, mode: ${{ matrix.mode }})" container: image: ghcr.io/stertooy/gda-image:${{ matrix.gap-version }}-slim runs-on: ubuntu-latest strategy: fail-fast: false matrix: - gap-version: [ "4.14.0", "4.15.0", "4.15.1", "4.16.0", "devel" ] + gap-version: [ "4.15.0", "4.16.0", "devel" ] + mode: [ "default" ] steps: - + - name: "Checkout" uses: actions/checkout@v7 - + - name: "Test package" uses: ./.github/actions/test-pkg with: + mode: ${{ matrix.mode }} warnings-as-errors: true coverage: ${{ matrix.gap-version == 'devel' }} codecov-token: ${{ secrets.CODECOV_TOKEN }} test-gap: - name: "Test GAP (version: ${{ matrix.gap-version }})" + name: "Test GAP (version: ${{ matrix.gap-version }}, mode: ${{ matrix.mode }})" container: image: ghcr.io/stertooy/gda-image:${{ matrix.gap-version }}-slim runs-on: ubuntu-latest strategy: fail-fast: false matrix: - gap-version: [ "4.14.0", "4.15.0", "4.15.1", "4.16.0", "devel" ] + gap-version: [ "4.15.0", "4.16.0", "devel" ] + mode: [ "default" ] steps: - + - name: "Checkout" uses: actions/checkout@v7 - + - name: "Test GAP" uses: ./.github/actions/test-gap with: + mode: ${{ matrix.mode }} warnings-as-errors: true diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 36523b5..406cb99 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,7 +29,7 @@ jobs: - name: "Validate PackageInfo.g" shell: bash - run: gap -c 'QuitGap(ValidatePackageInfo("PackageInfo.g"));' + run: gap -c 'QuitGap( ValidatePackageInfo( "PackageInfo.g" ) );' - name: "Upload manual" uses: actions/upload-artifact@v7 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index eb20d4d..44179a0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -22,7 +22,7 @@ jobs: rules: "data" steps: - + - name: "Checkout" uses: actions/checkout@v7 @@ -40,4 +40,4 @@ jobs: run: | shopt -s globstar extglob FILES="${{ matrix.files }}" - gaplint $FILES --config-file=.github/gaplint-${{matrix.rules}}.yml + gaplint $FILES --config-file=.github/gaplint-${{ matrix.rules }}.yml diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 8085e00..dbe0240 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -16,13 +16,13 @@ jobs: strategy: fail-fast: false matrix: - gap-version: [ "4.14.0", "4.15.0", "4.15.1", "4.16.0", "devel" ] + gap-version: [ "4.15.0", "4.15.1", "4.16.0", "devel" ] mode: [ "onlyneeded", "default", "loadall" ] steps: - + - name: "Checkout" uses: actions/checkout@v7 - + - name: "Test package" uses: ./.github/actions/test-pkg with: @@ -38,14 +38,14 @@ jobs: strategy: fail-fast: false matrix: - gap-version: [ "4.14.0", "4.15.0", "4.15.1", "4.16.0", "devel" ] + gap-version: [ "4.15.0", "4.15.1", "4.16.0", "devel" ] mode: [ "onlyneeded", "default", "loadall" ] steps: - + - name: "Checkout" uses: actions/checkout@v7 - - - name: "Test package" + + - name: "Test GAP" uses: ./.github/actions/test-gap with: mode: ${{ matrix.mode }} @@ -69,9 +69,9 @@ jobs: - name: "Setup" uses: ./.github/actions/setup - - name: "Verify that tests do not depend on GAPDoc/PrimGrp/TransGrp" + - name: "Verify that tests do not depend on GAPDoc/PrimGrp/SmallGrp/TransGrp" shell: bash - run: gap --bare -c 'TestPackage("SmallClassNr");' + run: gap --bare -c 'LoadPackage("SmallClassNr":OnlyNeeded);TestPackage("SmallClassNr");' lint: name: "Run gaplint" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91763ee..b6dbc68 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,7 +60,7 @@ jobs: uses: gap-actions/release-pkg@v1 with: dry-run: ${{ inputs.dry-run }} - body-text: ${{ steps.changes.outputs.RELEASE_NOTES }} + body-text: ${{ steps.changes.outputs.RELEASE_NOTES }} force: ${{ inputs.force }} - name: "Update GitHub Pages" diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 0a902ba..4122638 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -13,7 +13,7 @@ jobs: image: ghcr.io/stertooy/gda-image:devel-slim steps: - + - name: "Checkout" uses: actions/checkout@v7 diff --git a/CHANGELOG.md b/CHANGELOG.md index f335f14..3d10cf9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # CHANGELOG - GAP package SmallClassNr +## 1.7.0 (2026-08-14) + +### Added +- A complete, but as of yet **unverified** classification of the groups of + class numbers 15 to 20 (by T. Breuer) can now be loaded using + `LoadUnverifiedSmallClassNrGroups()`. The old command + `LoadIncompleteSmallClassNrGroups()` has been disabled accordingly. + +### Changed +- `IdClassNr` is now even faster for most groups, and no longer relies on + `IdGroup`. +- Updated installation instructions. +- Janitorial changes. + ## 1.6.0 (2026-07-29) ### Added @@ -35,7 +49,7 @@ used to more efficiently determine `IdClassNr` for a given group. ### Changed -- Improvemed the documentation. +- Improved the documentation. - Expanded the test suite. - Renamed `CHANGES.md` to `CHANGELOG.md`. - Janitorial changes. diff --git a/CITATION.cff b/CITATION.cff index f405b2d..4aaef24 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,8 +3,8 @@ message: If you use this GAP package, please cite it using the metadata from thi type: software title: SmallClassNr abstract: Library of finite groups with small class number -version: 1.6.1 -date-released: 2026-08-08 +version: 1.7.0 +date-released: 2026-08-14 license: GPL-2.0-or-later doi: 10.5281/zenodo.14283157 authors: diff --git a/PackageInfo.g b/PackageInfo.g index 1e22b95..4e87c5e 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -2,8 +2,8 @@ SetPackageInfo( rec( PackageName := "SmallClassNr", Subtitle := "Library of finite groups with small class number", -Version := "1.6.0", -Date := "29/07/2026", +Version := "1.7.0", +Date := "14/08/2026", License := "GPL-2.0-or-later", Persons := [ @@ -53,7 +53,7 @@ ArchiveFormats := ".tar.gz", AbstractHTML := """ The SmallClassNr package provides access to finite groups with small class number. Currently, the package contains all finite groups of class number - at most 14, and most finite groups with class numbers 15 to 20. + at most 20. """, PackageDoc := rec( @@ -66,13 +66,15 @@ PackageDoc := rec( ), Dependencies := rec( - GAP := ">= 4.14", + GAP := ">= 4.15", NeededOtherPackages := [], - SuggestedOtherPackages := [ [ "smallgrp", "1.5.4" ] ], + SuggestedOtherPackages := [], TestPackages := [ + [ "atlasrep", "2.1.9" ], + [ "perfgrp", "1.0.0" ], [ "primgrp", "3.4.4" ], + [ "smallgrp", "1.5.4" ], [ "transgrp", "3.6.5" ], - [ "atlasrep", "2.1.9" ], ] ), diff --git a/README.md b/README.md index 3e1a946..b4cd084 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -[![Build Status](https://custom-icon-badges.demolab.com/github/actions/workflow/status/stertooy/SmallClassNr/CI.yml?branch=main&logo=bug&logoColor=white&label=tests&?)](https://github.com/stertooy/SmallClassNr/actions/workflows/CI.yml?query=branch%3Amain) -[![Code Coverage](https://custom-icon-badges.demolab.com/codecov/c/github/stertooy/SmallClassNr?logo=code&logoColor=white&?)](https://codecov.io/gh/sTertooy/SmallClassNr) +[![Build Status](https://custom-icon-badges.demolab.com/github/actions/workflow/status/stertooy/SmallClassNr/CI.yml?branch=main&logo=bug&logoColor=white&label=tests)](https://github.com/stertooy/SmallClassNr/actions/workflows/CI.yml?query=branch%3Amain) +[![Code Coverage](https://custom-icon-badges.demolab.com/codecov/c/github/stertooy/SmallClassNr?logo=code&logoColor=white)](https://codecov.io/gh/sTertooy/SmallClassNr) [![License](https://custom-icon-badges.demolab.com/badge/license-GPLv2%2B-blue.svg?logo=law&logoColor=white)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) [![Manual](https://custom-icon-badges.demolab.com/badge/manual-html-blue?logo=browser&logoColor=white)](https://stertooy.github.io/SmallClassNr/doc/chap0_mj.html) [![Manual](https://custom-icon-badges.demolab.com/badge/manual-pdf-blue?logo=book&logoColor=white)](https://github.com/stertooy/SmallClassNr/releases/latest/download/manual.pdf) -[![Release](https://custom-icon-badges.demolab.com/github/release/stertooy/smallclassnr.svg?logo=tag&logoColor=white?)](https://github.com/stertooy/smallclassnr/releases/latest) +[![Release](https://custom-icon-badges.demolab.com/github/release/stertooy/smallclassnr.svg?logo=tag&logoColor=white)](https://github.com/stertooy/smallclassnr/releases/latest) [![DOI](https://custom-icon-badges.demolab.com/badge/DOI-10/nvzr-blue?logo=doi&logoColor=white)](https://doi.org/10/nvzr) The GAP package SmallClassNr @@ -18,9 +18,9 @@ About The SmallClassNr package provides access to finite groups with small class number. Currently, the package contains all finite groups of class number at -most 14, and most finite groups with class numbers 15 to 20. +most 20. -This package requires GAP version 4.14 or later. +This package requires GAP version 4.15 or later. @@ -28,7 +28,7 @@ Support ------- Please report any problems you may encounter using SmallClassNr at - + diff --git a/data/gens.g b/data/gens.g index 65cbeee..1d39532 100644 --- a/data/gens.g +++ b/data/gens.g @@ -1,397 +1,397 @@ -SCN.Data.Gens := []; - -# MinimalGeneratingSet - -SCN.Data.Gens[ 1 ] := [ - [], -]; - -SCN.Data.Gens[ 2 ] := [ - [ (1,2) ], -]; - -SCN.Data.Gens[ 3 ] := [ - [ (1,2,3) ], - [ (1,2), (1,3) ], -]; - -SCN.Data.Gens[ 4 ] := [ - [ (1,2,3,4) ], - [ (1,2), (3,4) ], - [ (1,2)(3,4), (1,4)(2,5) ], - [ (1,2,3), (1,4,2) ], -]; - -SCN.Data.Gens[ 5 ] := [ - [ (1,2,3,4,5) ], - [ (1,2), (1,3)(2,4) ], - [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6) ], - [ (1,2)(3,4)(5,6), (1,5)(2,4)(6,7) ], - [ (1,2)(3,4), (1,3,5,2) ], - [ (1,2,3)(4,5,6), (1,5,7)(2,4,6) ], - [ (1,2,3), (1,4) ], - [ (1,2,3), (1,4,5) ], -]; - -SCN.Data.Gens[ 6 ] := [ - [ (1,2)(3,4,5) ], - [ (1,2,3), (2,3)(4,5,6,7) ], - [ (1,2), (1,3)(4,5) ], - [ (1,2)(3,4)(5,6)(7,8), (1,3)(2,8)(4,6)(7,9) ], - [ (1,2)(3,4), (1,2,5), (3,4,6) ], - [ (1,2)(3,4,5,6), (1,3,5) ], - [ (1,2,3,4)(5,6,7,8), (1,9,7,2)(3,5,6,8) ], - [ (1,2,3)(4,5,6), (1,4)(2,7) ], -]; - -SCN.Data.Gens[ 7 ] := [ - [ (1,2,3,4,5,6,7) ], - [ (1,2)(3,4)(5,6), (1,7)(2,4)(3,6)(5,8) ], - [ (1,2)(3,4)(5,6), (1,7,6,8)(2,4,5,3) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,9,3,11)(2,16,4,14)(5,15,7,13)(6,12,8,10) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,3)(2,7)(4,5)(6,11)(8,9) ], - [ (1,2,3)(4,5,6), (2,6,7)(3,8,5) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,4)(2,9,10)(3,11,5)(6,8,7) ], - [ (1,2)(3,4)(5,6), (2,7,6)(3,4,5) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12), (1,13)(2,12)(3,5)(4,9)(6,10)(7,8) ], - [ (1,2,3,4,5)(6,7,8,9,10), (1,3,11,7,6)(2,5,8,4,9) ], - [ (1,2,3,4), (1,5) ], - [ (1,2,3,4,5), (1,2,6) ], -]; - -SCN.Data.Gens[ 8 ] := [ - [ (1,2,3,4,5,6,7,8) ], - [ (1,2), (3,4,5,6) ], - [ (1,2), (3,4), (5,6) ], - [ (1,2,3,4,5), (2,5)(3,4)(6,7,8,9) ], - [ (1,2)(3,4), (1,4)(2,5)(6,7) ], - [ (1,2), (1,3,4)(2,5,6) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3)(2,6)(4,7)(5,9)(8,12)(10,13) ], - [ (1,2,3,4)(5,6,7,8), (1,5,9)(2,8,10)(3,7,11)(4,6,12) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,8,3,13,5,12,4,14)(2,10,15,7,6,9,16,11) ], - [ (1,2,3)(4,5,6), (2,4)(3,7)(5,8) ], - [ (1,2)(3,4), (2,4,3)(5,6,7), (5,7)(6,8) ], - [ (1,2,3,4,5,6,7), (1,5,4,2,8,3,6) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,15,3,10)(2,17,7,5)(4,8,9,13)(6,16,11,12) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,7)(2,10,4)(3,8,12)(5,9,6) ], - [ (1,2)(3,4), (1,5,3,6,7)(2,8,4,9,10) ], - [ (1,2,3)(4,5,6), (1,7,5)(2,8,3) ], - [ (1,2,3,4)(5,6,7,8), (1,5,4,6)(2,8)(3,7,9,10) ], - [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14), (1,13,9,7)(2,6,12,15)(3,10,4,14)(5,8) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24), (1,15,20)(2,23,18)(3,25,9)(4,5,12)(6,21,7)(8,17,11)(10,24,22)(13,14,19) ], - [ (1,2,3)(4,5,6)(7,8,9), (1,4)(2,7)(3,10)(5,11) ], - [ (1,2,3,4)(5,6,7,8), (1,2,3,5)(4,9,7,10) ], -]; - -SCN.Data.Gens[ 9 ] := [ - [ (1,2,3,4,5,6,7,8,9) ], - [ (1,2,3), (4,5,6) ], - [ (1,2), (1,3)(4,5,6) ], - [ (1,2,3,4)(5,6,7,8)(9,10), (1,5,3,7)(2,8,4,6)(9,11) ], - [ (1,2)(3,4), (1,5)(3,6)(4,7) ], - [ (1,2)(3,4), (1,5)(3,6,4,7) ], - [ (1,2)(3,4)(5,6), (1,7)(3,6)(4,8) ], - [ (1,2)(3,4), (1,5)(3,4,6) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,18,4)(2,12,13)(3,9,17)(5,8,11)(6,19,10)(7,15,14) ], - [ (1,2)(3,4,5,6), (2,7)(4,6,8,5) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,4,11,3,2,7,5,6,8)(9,12,13) ], - [ (1,2)(3,4)(5,6)(7,8), (1,7,8,5,3,2,4,9) ], - [ (1,2), (1,3,2,4,5,6) ], - [ (1,2,3), (4,5,6), (2,3)(6,7) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18), (1,8,4)(2,14,5)(3,13,9)(6,17,15)(7,18,19)(10,11,12) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,9,14,16,21)(2,20,7,22,11)(4,15,23,8,18)(5,24,17,12,6) ], - [ (1,2)(3,4)(5,6), (1,7,4,8,9,5,6,3) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,7)(2,14,8)(3,15,6)(4,16,5)(9,10,11), (1,7,12)(2,6,9)(3,5,11)(4,8,10)(14,16,15) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24)(25,26)(27,28,29,30)(31,32,33,34)(35,36,37,38)(39,40), (1,41,5)(2,42,8)(3,43,7)(4,44,6)(9,17,40)(10,18,24)(11,15,39)(12,16,23)(13,33,29)(14,31,27)(19,35,45)(20,38,46)(21,37,47)(22,36,48)(25,32,28)(26,34,30), (1,17)(2,18)(3,15)(4,16)(5,21,7,19)(6,20,8,22)(9,32,11,34)(10,31,12,33)(13,44,14,42)(23,48,24,46)(25,41,26,43)(27,36)(28,37)(29,38)(30,35)(39,47,40,45) ], - [ (1,2,3,4,5,6), (1,2,5,6,7,8) ], - [ (1,2,3,4,5,6,7), (1,2,3,6,8,9,5) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15), (1,2,4,6,11)(3,7,12,9,13)(5,15,14,16,8) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12), (1,13,14,3,7,8)(2,4,9,5,12,6) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27), (1,10,25,24,19,7)(2,4,21)(3,26,5,9,11,28)(6,12,22,15,23,8)(13,27,20,14,18,17) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48), (1,42,29,41,22,45,23,25)(2,7,28,35,15,13,49,17)(3,8,14,12,36,40,38,21)(4,20,46,5,19,32,27,44)(6,43,48,11,10,39,16,9)(18,33,30,26,37,31,47,24) ], - [ (1,2,3,4,5), (1,6,7) ], -]; - -SCN.Data.Gens[ 10 ] := [ - [ (1,2)(3,4,5,6,7) ], - [ (1,2), (1,3,2,4)(5,6,7,8) ], - [ (1,2,3,4), (2,4)(5,6,7,8) ], - [ (1,2)(3,4), (1,5,3,6,2,7,4,8) ], - [ (1,2), (3,4), (1,5)(2,6) ], - [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6), (9,10) ], - [ (1,2)(3,4), (1,5)(2,6)(3,7)(4,8), (1,3,2,4)(5,7,6,8) ], - [ (1,2,3,4,5,6,7), (2,7)(3,6)(4,5)(8,9,10,11) ], - [ (1,2)(3,4)(5,6), (1,5)(2,4)(6,7)(8,9) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,3)(2,15)(4,12)(5,13)(6,11)(7,16)(8,10)(9,17) ], - [ (1,2,3,4,5), (2,3,5,4)(6,7,8,9,10,11,12,13) ], - [ (1,2,3,4), (1,2)(3,5)(6,7) ], - [ (1,2,3)(4,5,6), (1,5,7)(2,4,6)(8,9) ], - [ (1,2,3), (3,4)(5,6,7,8) ], - [ (1,2,3)(4,5), (1,6) ], - [ (1,2,3)(4,5,6,7,8,9), (1,5,8)(3,4,7) ], - [ (1,2)(3,4)(5,6)(7,8), (1,9,7,3,6,4)(5,8) ], - [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5), (4,7)(5,8)(6,9) ], - [ (1,2,3,4)(5,6,7,8)(9,10), (1,5,11)(2,9,8)(3,7,12)(4,10,6) ], - [ (1,2)(3,4), (1,5)(2,6,4,7,3,8) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15), (1,14,5,10,13,11)(2,4,16,8,7,15)(3,6,9) ], - [ (1,2,3,4)(5,6,7,8), (1,9,5,4,10,6)(2,11,8,3,12,7) ], - [ (1,2,3)(4,5,6), (1,3,7,2)(4,8) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,12,25,17)(2,15,5,10)(3,8,18,13)(4,16,7,21)(6,14,11,19)(9,24,23,20) ], - [ (1,2,3,4,5), (1,3,4,2)(6,7,8,9), (6,9,7,8,10) ], - [ (1,2,3,4,5), (1,6)(2,7,5,8)(3,9,4,10) ], - [ (1,2,3)(4,5), (1,6,7) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,9,2,7,16,4,5,6)(3,8,17,14,11,10,15,12) ], - [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,7,12,5,10,13)(3,8,14,4,9,15) ], - [ (1,2)(3,4,5,6)(7,8), (1,6,7,4)(2,9)(8,10) ], - [ (1,2,3)(4,5,6), (1,7,8,3)(2,4,9,5) ], - [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28)(29,30,31,32)(33,34)(35,36)(37,38,39,40)(41,42)(43,44)(45,46)(47,48)(49,50,51,52), (1,5,27,29,34,53,22)(2,38,44,19,33,15,51)(3,7,9,31,48,54,24)(4,40,45,17,47,16,49)(6,43,18,35,55,23,13)(8,46,20,25,56,21,11)(10,32,36,41,52,14,37)(12,39,28,30,26,42,50) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,8)(2,13,5,9)(3,11,14,12)(4,10,6,7) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48), (1,47,11,48)(2,24,4,13)(3,27,19,42)(5,16,12,40)(6,26,32,29)(7,20,39,33)(8,46,31,17)(9,22,43,10)(14,36,44,30)(15,45,38,28)(18,21,37,41)(25,49,34,35) ], - [ (1,2,3,4)(5,6,7,8), (1,2,4,5)(6,9,10,11) ], - [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48,49,50)(51,52,53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68,69,70)(71,72,73,74,75,76,77,78,79,80)(81,82,83,84,85,86,87,88,89,90)(91,92,93,94,95,96,97,98,99,100)(101,102,103,104,105,106,107,108,109,110)(111,112,113,114,115,116,117,118,119,120), (1,2,12,47,114,83,78,19,80,103)(3,28,112,48,13,44,20,108,65,62)(4,81,93,109,71,69,89,119,70,106)(5,56,15,57,96,76,33,75,53,40)(6,115,59,30,100,87,10,64,94,117)(7,29,86,22,35,111,8,61,50,82)(9,99,26,32,73,24,23,52,97,105)(11,63,104,67,34,25,21,91,116,17)(14,16,95,43,101,38,79,45,102,110)(18,39,42,58,92,41,54,84,27,107)(31,85,60,36,72,77,55,118,121,90)(37,46,49,66,98,88,120,51,74,68) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,2,6)(3,19,8)(4,20,11)(5,18,15)(7,12,13)(9,17,21) ], -]; - -SCN.Data.Gens[ 11 ] := [ - [ (1,2,3,4,5,6,7,8,9,10,11) ], - [ (1,2,3)(4,5,6), (1,4,7)(2,6,8)(3,5,9) ], - [ (1,2,3)(4,5,6), (1,4,7,3,5,8,2,6,9) ], - [ (1,2)(3,4), (1,5,6,3)(2,7,8,4) ], - [ (1,2)(3,4), (1,3,5,6,2,4,7,8) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,9,5,13)(2,14,6,10)(3,15,7,11)(4,12,8,16) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,15)(2,4)(3,13)(5,14)(6,7)(8,11)(9,16)(10,12) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,15,9,16)(2,11,10,3)(4,7,12,13)(5,14,6,8) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32), (1,17,3,19)(2,30,4,32)(5,23,7,21)(6,26,8,28)(9,29,11,31)(10,22,12,24)(13,25,15,27)(14,18,16,20) ], - [ (1,2)(3,4), (1,4)(2,3)(5,6), (1,7)(2,8)(3,6)(4,5) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,9,14)(2,5,10,6)(3,7,4,12)(8,15,11,16), (1,7)(2,11)(3,14)(4,13)(5,16)(6,15)(8,10)(9,12) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18), (1,3)(2,17)(4,11)(5,18)(6,9)(7,16)(8,19)(10,14)(12,15) ], - [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,10,12)(3,9,13)(4,8,14)(5,7,15) ], - [ (1,2)(3,4), (1,5,3)(2,6,4), (3,5,7)(4,6,8) ], - [ (1,2)(3,4)(5,6), (1,5)(2,7,6,8,4,9) ], - [ (1,2,3,4,5)(6,7,8,9,10), (1,5)(2,6)(3,8)(4,11)(7,9) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28), (1,16,25,14)(2,26,28,4)(3,17,23,9)(5,6,21,24)(7,27,19,29)(8,12,22,18)(10,11,20,15) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,12,18,2,8)(3,5,14,24,28)(4,9,19,29,31)(6,17,11,15,23)(7,13,10,21,27)(16,22,25,20,26) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,5,18,8,9,10,7,15,14)(2,17,12,4,13,19,11,3,6) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,31)(2,26)(3,29)(4,16)(5,15)(6,8)(7,10)(9,17)(11,12)(13,21)(14,25)(18,23)(19,30)(22,28)(24,27) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,6,7,10,2,13,8,11)(3,5,9,14,15,4,16,12) ], - [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14), (1,14,6,15,11,9)(2,13,4,16,12,7)(3,8,5) ], - [ (1,2)(3,4,5,6,7,8,9,10), (1,5,7,3,9) ], - [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28), (1,18,11,5,10,12,28)(2,7,3,27,17,21,25)(4,29,16,26,9,24,13)(6,20,19,8,15,23,14) ], - [ (1,2,3,4,5,6,7,8), (1,7,2,9,5,3,6,10) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,5,9)(4,12,7)(6,13,14)(8,15,16) ], - [ (1,2)(3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28), (1,24,7,27)(2,20,16,4)(3,5,17,11)(6,18,14,28)(8,23,12,26)(9,19,15,25)(10,21)(13,22) ], - [ (1,2,3)(4,5,6), (1,7,4,6,2,5,8,9) ], - [ (1,2,3,4,5), (1,6) ], - [ (1,2,3,4,5,6,7,8), (1,2,3,9,7,6,5,10) ], - [ (1,2,3,4)(5,6,7,8), (1,5,9,10,3,7,11,12)(2,13,4,14) ], - [ (1,2,3,4,5,6,7), (1,2)(4,8) ], - [ (1,2,3)(4,5,6), (1,4,7)(2,8,9) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,2,3,9,16,6,15,14)(4,12,5,17,18,7,11,8) ], - [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63), (1,2,3,38,6,9,50)(4,12,48,55,19,37,62)(5,56,32,14,61,49,22)(7,54,64,63,28,51,47)(8,59,15,30,18,25,36)(11,24,46,17,44,42,27)(16,45,41,65,21,35,34)(20,52,57,40,39,60,26)(23,31,53,29,58,33,43) ], -]; - -SCN.Data.Gens[ 12 ] := [ - [ (1,2,3)(4,5,6,7) ], - [ (1,2), (3,4)(5,6,7) ], - [ (1,2,3), (2,3)(4,5,6,7,8,9,10,11) ], - [ (1,2), (1,3)(4,5,6,7) ], - [ (1,2,3,4)(5,6), (5,7,6)(8,9) ], - [ (1,2), (3,4), (1,5)(6,7) ], - [ (1,2)(3,4), (1,4)(2,5)(6,7,8) ], - [ (1,2,3,4,5,6,7,8,9), (2,9)(3,8)(4,7)(5,6)(10,11,12,13) ], - [ (1,2)(3,4), (2,4,3)(5,6,7,8,9,10,11,12,13) ], - [ (1,2)(3,4)(5,6)(7,8), (1,4)(2,8)(3,6)(7,9)(10,11) ], - [ (1,2,3), (4,5,6), (2,3)(5,6)(7,8,9,10) ], - [ (1,2,3), (1,4,2)(5,6,7) ], - [ (1,2,3), (2,3)(4,5), (4,6,5)(7,8) ], - [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,7)(4,6)(8,10) ], - [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,6,8,10,7,5,4,11) ], - [ (1,2,3)(4,5)(6,7)(8,9), (1,3)(4,8,7,9)(5,10,6,11) ], - [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,6,4,10,7,5,8,11) ], - [ (1,2,3,4,5,6,7,8)(9,10)(11,12,13,14,15,16,17,18), (1,11,5,15)(2,18,6,14)(3,17,7,13)(4,16,8,12)(9,19) ], - [ (1,2)(3,4)(5,6), (1,7)(3,8,4,6,5) ], - [ (1,2,3), (1,4)(2,5,3,6)(7,8,9,10,11,12,13,14) ], - [ (1,2)(3,4,5), (1,6)(4,7,5) ], - [ (1,2)(3,4,5), (3,6)(4,7,5,8) ], - [ (1,2,3)(4,5,6)(7,8,9), (1,10,2)(4,8,11)(5,7,9) ], - [ (1,2,3,4)(5,6)(7,8)(9,10), (1,11,5)(2,10,6)(3,12,8)(4,9,7) ], - [ (1,2,3)(4,5,6)(7,8,9), (4,5,9,7)(6,10,8,11), (1,12)(2,3) ], - [ (1,2,3)(4,5,6), (2,3)(4,7)(5,8,6,9) ], - [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,10,8,5,7,4) ], - [ (1,2,3,4)(5,6,7,8), (1,4,7,9)(3,6,8,5)(10,11,12,13) ], - [ (1,2,3,4)(5,6,7,8), (1,4,7,9)(3,6,8,5), (10,11) ], - [ (1,2,3)(4,5,6)(7,8,9), (2,10,3)(4,5,11,6,7,9) ], - [ (1,2)(3,4,5,6)(7,8,9,10), (1,11)(3,5,9,6)(4,8,7,12) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,27,8)(2,12,35)(3,26,30)(4,32,16)(5,6,21)(7,13,37)(9,33,22)(10,18,24)(11,20,29)(14,15,19)(17,34,36)(23,25,28) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40), (1,6,2,25,41,14,19,35,20,12,42,22)(3,43,18,8,37,9,16,44,5,32,30,33)(4,11,36,45,26,23,17,24,29,46,38,15)(7,27,13,28,10,47,31,39,21,40,34,48) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38), (1,9,38)(2,25,21)(3,23,33)(4,37,12)(5,24,28)(6,36,20)(7,32,17)(8,13,26)(10,14,35)(11,29,16)(27,30,39)(31,40,34) ], - [ (1,2,3)(4,5,6)(7,8), (1,4)(2,9) ], - [ (1,2,3,4)(5,6), (1,7)(5,8) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18)(19,20), (1,5,21,3,7,22)(2,9,23,13,6,20)(4,11,24,15,8,19)(10,18,14)(12,17,16) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34)(35,36,37,38)(39,40,41,42)(43,44), (1,17,45)(2,29,37)(3,23,46)(4,31,38)(5,21,47)(6,25,35)(7,19,48)(8,27,36)(9,18,41)(10,30,44)(11,20,40)(12,28,33)(13,22,39)(14,26,43)(15,24,42)(16,32,34) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18)(19,20,21,22), (1,9,23)(2,21,10)(3,15,18)(4,22,12)(5,13,24)(6,19,14)(7,11,17)(8,20,16) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15), (1,6,12,16)(2,9,10,15)(3,7)(4,8,5,14) ], - [ (1,2,3,4,5,6)(7,8), (1,7,9)(4,8,10) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,17)(2,6,15,8)(3,7,18,5)(4,11,14,9)(10,16,12,13) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,28)(2,27)(3,26,13,24)(4,30,19,8)(5,22)(6,11,21,16)(7,20,29,15)(9,18)(10,12,25,17)(14,23) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3,2,13,9,8)(4,14,15,12,7,5)(6,11,16) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120), (1,10,67,84)(2,23,63,29)(3,31,37,115)(4,69,7,65)(5,58,99,56)(6,109,49,71)(8,45,98,76)(9,11,105,14)(12,30,117,96)(13,70,42,102)(15,80,91,44)(16,92,46,53)(17,33,82,43)(18,89,95,38)(19,107,112,55)(20,88,54,81)(21,97,83,75)(22,116,121,28)(24,61,78,59)(25,48,119,27)(26,87,113,108)(32,39,35,34)(36,51,41,50)(40,110,86,120)(47,106,79,100)(52,101,118,93)(57,85,74,68)(60,72,103,62)(64,77,104,94)(66,90,73,111) ], - [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44), (1,27,5,22)(2,17,7,3,24,19,25,45)(4,10,9,43,16,40,11,29)(6,12,23,41,13,20,21,35)(8,44,28,26,34,32,42,30)(14,38,39,31,15,18,37,33) ], - [ (1,2,3,4,5,6,7,8,9)(10,11,12,13,14,15,16,17,18), (1,2,3,19,10,8,5,16,20)(4,6,13,7,9,12,11,15,14) ], - [ (1,2)(3,4)(5,6)(7,8), (1,3,5,9,10,11)(2,12,8)(7,13) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,2,11,6,13)(3,4,14,8,12)(5,9,15,16,7) ], - [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48,49,50)(51,52,53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68,69,70)(71,72,73,74,75,76,77,78,79,80)(81,82,83,84,85,86,87,88,89,90)(91,92,93,94,95,96,97,98,99,100)(101,102,103,104,105,106,107,108,109,110)(111,112,113,114,115,116,117,118,119,120)(121,122,123,124,125,126,127,128,129,130)(131,132,133,134,135,136,137,138,139,140)(141,142,143,144,145,146,147,148,149,150)(151,152,153,154,155,156,157,158,159,160)(161,162,163,164,165,166,167,168,169,170)(171,172,173,174,175,176,177,178,179,180)(181,182,183,184,185,186,187,188,189,190)(191,192,193,194,195,196,197,198,199,200)(201,202,203,204,205,206,207,208,209,210)(211,212,213,214,215,216,217,218,219,220)(221,222,223,224,225,226,227,228,229,230)(231,232,233,234,235,236,237,238,239,240)(241,242,243,244,245,246,247,248,249,250)(251,252,253,254,255,256,257,258,259,260)(261,262,263,264,265,266,267,268,269,270)(271,272,273,274,275,276,277,278,279,280)(281,282,283,284,285,286,287,288,289,290)(291,292,293,294,295,296,297,298,299,300)(301,302,303,304,305,306,307,308,309,310)(311,312,313,314,315,316,317,318,319,320)(321,322,323,324,325,326,327,328,329,330)(331,332,333,334,335,336,337,338,339,340)(341,342,343,344,345,346,347,348,349,350)(351,352,353,354,355,356,357,358,359,360), (1,2,57,219,222,352,310,270,322,5)(3,50,335,199,242,282,28,296,40,163)(4,347,262,80,129,200,231,212,66,266)(6,295,272,65,91,253,156,150,32,327)(7,183,18,79,185,287,301,188,265,299)(8,343,313,356,56,74,33,141,34,350)(9,269,37,268,100,38,285,243,319,331)(10,202,59,194,68,127,104,146,180,158)(11,255,215,178,36,110,349,124,48,75)(12,240,211,53,207,264,88,220,241,177)(13,274,120,145,51,346,311,278,167,174)(14,130,326,62,125,27,216,276,263,328)(15,111,173,140,47,330,102,94,203,256)(16,117,26,83,137,157,221,338,90,297)(17,142,333,248,293,138,93,76,78,101)(19,149,45,61,239,182,95,41,232,161)(20,244,85,121,139,134,286,339,355,42)(21,81,128,267,291,289,147,162,97,135)(22,204,359,46,193,315,132,261,345,316)(23,277,235,82,306,170,77,181,144,245)(24,84,298,303,247,198,271,300,213,217)(25,31,184,218,153,206,323,115,71,205)(29,246,357,230,43,225,214,30,336,294)(35,131,318,103,112,123,99,307,332,223)(39,70,190,151,340,113,358,122,275,55)(44,337,344,292,334,133,64,229,234,189)(49,116,92,72,98,197,351,195,302,238)(52,314,329,279,87,312,89,305,260,105)(54,325,69,317,106,126,284,304,119,320)(58,341,154,176,257,168,280,237,259,107)(60,228,155,114,164,191,108,118,186,273)(63,258,67,143,252,321,96,109,209,166)(73,324,226,251,175,187,169,159,192,281)(86,196,224,360,249,152,160,233,254,283)(136,342,210,165,308,361,290,179,172,236)(148,171,309,250,201,208,288,354,353,348) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,2,4)(3,7,10)(5,19,20)(6,13,16)(8,21,15)(9,17,22) ], -]; - -SCN.Data.Gens[ 13 ] := [ - [ (1,2,3,4,5,6,7,8,9,10,11,12,13) ], - [ (1,2)(3,4,5,6)(7,8,9,10)(11,12), (1,13)(2,11)(3,9,5,7)(4,8,6,10) ], - [ (1,2)(3,4)(5,6), (1,7)(2,8)(3,6)(4,9) ], - [ (1,2)(3,4)(5,6), (1,7,2,8)(3,6)(4,9) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22), (1,3)(2,5)(4,21)(6,9)(7,13)(8,20)(10,17)(11,16)(12,18)(14,23)(19,22) ], - [ (1,2), (1,3,4,5)(2,6,7,8) ], - [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14), (1,15,11,16)(2,7,12,5)(3,10,13,9)(4,6,14,8) ], - [ (1,2,3,4), (1,5,4,6)(2,7,3,8) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,5,9,13)(2,8,10,16)(3,15,11,7)(4,6,12,14) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,5,7,13,9,6,11,14)(2,15,8,4,10,16,12,3) ], - [ (1,2,3,4)(5,6,7,8), (1,9,5,10,3,11,7,12)(2,13,8,14,4,15,6,16) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,29,17)(2,22,25)(3,6,11)(4,27,7)(5,13,28)(8,31,26)(9,24,14)(10,12,30)(15,20,18)(16,21,23) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,7,13,14,12)(2,10,6,15,16,4)(3,8)(5,11) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30,31,32), (1,21,19,29,3,27,13,23)(2,24,16,32,4,30,10,26)(5,15,31,11,7,9,25,17)(6,18,28,14,8,12,22,20) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,6,13,14,12,2,10,7,15,16,4)(3,5,11,8) ], - [ (1,2)(3,4)(5,6,7,8), (1,9)(2,3)(6,8,10,7) ], - [ (1,2,3)(4,5,6,7,8), (1,9)(5,8)(6,7) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,19,20,35)(2,4,16,14)(3,31,22,23)(5,30,24,11)(6,28,12,9)(7,18,26,37)(8,33,10,21)(13,17,32,36)(15,29,34,25) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,3,8,5,12,6,9,4,13,15)(2,14)(7,10) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,6,2,4,9,10,13,7,3,5,8,11) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,6,31,29,20)(2,19,26,32,9)(3,5,24,10,13)(4,27,22,15,28)(7,14,23,8,17)(11,30,21,16,18) ], - [ (1,2,3), (1,4,5)(2,6,7,3,8,9) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,3,16,4,9,5)(2,10,12,23,7,20)(6,8,13,26,21,24)(11,22,17,14,19,27)(15,18) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11,26,21,9,6)(2,18,7,10,20,24)(3,15,4,17,5,8)(12,23,27,19,22,14)(13,25) ], - [ (1,2,3), (1,4)(2,5)(3,6)(7,8), (2,3)(4,9)(5,8)(6,7) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11)(2,17)(3,20)(4,8)(5,22)(6,23)(7,27)(9,15)(10,26)(12,21)(14,19)(16,18)(24,25), (1,13)(2,21)(3,17)(4,9)(5,18)(6,8)(7,22)(10,25)(12,20)(14,26)(15,23)(16,27)(19,24) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11)(2,18)(3,24)(4,13)(5,26)(6,7)(8,25)(9,27)(12,17)(14,23)(15,22)(16,20)(19,21), (1,10)(2,7)(3,18)(4,26)(5,21)(6,24)(8,9)(12,27)(13,19)(14,16)(15,20)(17,25)(22,23) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,3)(2,6)(4,24)(5,19)(7,17)(8,26)(9,11)(10,15)(12,22)(13,25)(14,20)(18,23)(21,27), (1,12)(2,26)(3,7)(4,10)(5,13)(6,11)(8,27)(9,19)(14,22)(15,25)(16,17)(18,24)(21,23) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,11,3,13)(2,6,14,4)(5,9,15,7)(8,12,16,10) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,14,8,6,15,16,10)(2,11,5,7,4,9,3,12) ], - [ (1,2)(3,4,5,6), (1,7,4)(2,8,6) ], - [ (1,2,3,4), (1,5,6)(3,7,8) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40), (1,9,30,21,10)(2,36,22,32,31)(3,27,14,12,26)(4,25,16,39,29)(5,41,20,11,35)(6,8,38,18,15)(7,19,23,13,33)(17,37,34,40,28) ], - [ (1,2)(3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18)(19,20,21,22,23,24,25,26), (1,14)(2,20)(3,22)(4,13)(5,12)(6,27)(7,23)(8,25)(9,15)(11,16)(17,21)(19,26) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,6,7,3,15,10)(2,5,8,14,11,13)(4,16,17,18,9,12) ], - [ (1,2,3,4,5,6,7,8,9,10,11)(12,13,14,15,16,17,18,19,20,21,22), (1,5,16,18,2,14,8,7,20,17,23)(3,10,4,13,9,12,15,21,19,6,22) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42), (1,19,41)(2,4,16)(3,31,27)(5,42,13)(6,28,11)(7,30,43)(8,40,25)(9,18,14)(10,33,39)(12,21,32)(15,17,29)(20,26,23)(22,38,37)(24,35,34) ], - [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42), (1,33,21,20,15,35,4)(2,16,9,28,39,24,19)(3,42,30,43,36,32,14)(5,38,27,23,11,41,31)(6,29,12,37,10,7,25)(8,13,18,34,26,17,40) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30), (1,24,11,14,8)(2,3,9,22,26)(4,31,28,20,5)(6,16,30,15,12)(7,29,25,18,17)(10,19,21,13,23) ], - [ (1,2)(3,4), (1,5,6,7,8,4,2,9,3) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34,35,36,37,38,39,40), (1,41)(2,24)(3,35)(4,15)(5,12)(6,16)(7,37)(8,19)(9,18)(10,31)(11,17)(13,25)(14,36)(20,22)(21,34)(23,28)(26,27)(29,39)(32,40)(33,38) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36), (1,7,28,9,33,20,18,21,13)(2,26,25,5,35,14,19,29,4)(3,8,34,32,30,12,31,22,23)(6,24,37,17,10,27,36,16,15) ], - [ (1,2)(3,4), (1,5,3,6,7,8,2,9)(4,10) ], - [ (1,2,3), (1,4,3,5,6,7,2,8) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24), (1,9,25)(2,21,12)(3,8,13)(4,6,22)(5,19,11)(7,14,15)(16,20,24)(17,23,18) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72), (1,4,73)(2,62,48)(3,70,58)(5,51,37)(6,17,10)(7,45,69)(8,18,23)(9,32,74)(11,68,34)(12,75,63)(13,55,61)(14,36,76)(15,29,54)(19,77,30)(20,35,42)(21,72,26)(22,25,78)(24,38,28)(27,47,33)(31,57,65)(40,44,59)(43,64,79)(49,80,60)(50,66,53) ], - [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14), (1,2,15,9)(3,5,8,14)(4,7,11,16)(6,10) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,8,41,42,18,20,31,27)(2,13,12,7)(3,28,9,19,16,14,43,44)(4,38,24,30,45,46,10,37)(5,22,47,48,26,33,25,40)(6,29)(11,36,49,50,32,39,17,34)(15,21,23,35) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24), (1,4,16)(2,15,25)(3,8,13)(5,26,7)(6,24,20)(9,23,14)(10,22,11)(12,27,18) ], - [ (1,2,3,4,5,6,7,8,9,10), (1,2,4,6,7,11,3,9,5,12) ], - [ (1,2,3,4,5,6,7,8), (1,3)(4,9)(8,10) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80), (1,73,2)(3,31,51)(4,32,56)(5,14,39)(6,23,38)(7,41,13)(8,26,49)(9,33,37)(10,67,63)(11,61,65)(12,76,22)(15,57,59)(16,43,74)(17,46,80)(18,28,69)(19,44,71)(20,53,68)(21,79,29)(24,35,81)(25,34,50)(27,55,72)(30,70,58)(36,75,66)(40,54,48)(42,64,60)(45,78,62) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80), (1,74,66)(2,29,34)(3,45,49)(4,64,46)(5,81,24)(6,78,23)(7,58,15)(8,26,51)(9,39,54)(10,79,75)(11,33,22)(12,43,41)(13,56,37)(14,73,35)(16,60,77)(18,68,72)(19,40,70)(20,69,53)(21,30,25)(28,32,50)(36,42,55)(38,76,59)(44,48,47)(52,61,57)(62,65,80)(63,67,71) ], -]; - -SCN.Data.Gens[ 14 ] := [ - [ (1,2)(3,4,5,6,7,8,9) ], - [ (1,2)(3,4)(5,6), (1,7,6,8)(2,4,5,3)(9,10,11,12) ], - [ (1,2,3,4)(5,6,7,8), (2,8)(4,6)(5,7)(9,10,11,12) ], - [ (1,2,3,4), (1,5,4,6,3,7,2,8) ], - [ (1,2,3,4,5,6,7,8), (2,4)(3,7)(6,8)(9,10,11,12) ], - [ (1,2,3,4,5,6,7,8), (2,8)(3,7)(4,6)(9,10,11,12) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,9,7,15,5,13,3,11)(2,16,4,10,6,12,8,14) ], - [ (1,2), (3,4)(5,6), (1,7,2,8)(3,5) ], - [ (1,2,3,4), (2,4)(5,6), (5,7)(6,8) ], - [ (1,2,3,4)(5,6,7,8), (9,10), (1,5,3,7)(2,8,4,6)(9,11)(10,12) ], - [ (1,2)(3,4), (1,5)(2,6)(3,7)(4,8)(9,10), (1,3,2,4)(5,8,6,7)(9,11)(10,12) ], - [ (1,2,3,4)(5,6,7,8), (2,4)(6,8)(9,10), (1,5,3,7)(2,6,4,8)(9,11,10,12) ], - [ (1,2,3,4)(5,6,7,8), (2,4)(6,8)(9,10,11,12)(13,14,15,16), (1,7,3,5)(2,8,4,6)(9,13,11,15)(10,16,12,14) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,8,14)(2,15,7,16)(3,5,10,6)(4,12,9,11), (1,5,2,11)(3,16,9,14)(4,13,10,15)(6,7,12,8) ], - [ (1,2)(3,4), (3,5,4,6), (1,7,2,8) ], - [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6)(9,10), (9,11,10,12) ], - [ (1,2), (3,4)(5,6)(7,8), (3,9)(4,5)(6,7)(8,10) ], - [ (1,2), (3,4)(5,6)(7,8), (3,5,4,9,8,6,7,10) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,16,3,14)(2,6,4,8)(5,9,7,11)(10,13,12,15), (17,18) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13)(2,3)(4,7)(5,14)(6,9)(8,15)(10,11)(12,16), (1,5,8,12)(2,6,7,11)(3,9,4,10)(13,14,15,16) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12,13,14), (1,5,9,3,8,7,4,10,6,2,15) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3)(2,6)(4,8)(5,9)(7,13) ], - [ (1,2,3)(4,5,6), (2,6,7)(3,8,5)(9,10) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,6)(2,13)(3,10)(4,9)(5,14)(7,12)(8,15)(11,16) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,13)(2,7)(3,19)(4,15)(5,23)(6,10)(8,12)(9,22)(11,16)(14,17)(18,24)(20,25) ], - [ (1,2,3,4,5), (1,2)(3,5)(6,7)(8,9), (6,8,9,7,10) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,6)(2,7,10)(3,11,4)(5,9,8)(14,15) ], - [ (1,2)(3,4)(5,6)(7,8), (1,2,9,6)(3,10,7,11,4,12,8,13) ], - [ (1,2)(3,4,5,6), (1,7,2,8)(3,4)(5,9) ], - [ (1,2,3,4,5)(6,7)(8,9), (1,2,4,3)(6,10,8,11,7,12,9,13) ], - [ (1,2)(3,4)(5,6), (1,7)(2,8)(3,5,9,4) ], - [ (1,2,3)(4,5,6), (1,2)(3,5)(4,7)(8,9,10,11) ], - [ (1,2)(3,4)(5,6), (1,2,4)(3,5,7)(8,9) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11), (1,8,3,6)(2,7,4,5)(9,12) ], - [ (1,2)(3,4), (1,5,2,6)(3,7,8) ], - [ (1,2)(3,4)(5,6), (1,7,8)(4,6) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16,17,18,19,20), (1,5,6,12,4,9,11,2,10,8,7,3,21) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12), (1,9)(2,3)(4,8)(5,12)(6,13)(7,11)(14,15) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,11,13,14,5,7,15,16,3,10,17,18)(2,8,4,12,6,9) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12), (1,8,5,9,3)(2,4,13,7,6) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,5,13,14)(2,10,4,12)(3,11,8,6)(7,9,15,16) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30), (1,31,19,32)(2,7,20,23)(3,10,21,12)(4,24,22,8)(5,27,25,18)(6,29,26,16)(9,28,11,15)(13,17,14,30) ], - [ (1,2)(3,4,5,6)(7,8,9,10)(11,12)(13,14,15,16), (1,3,11,13)(2,16)(4,10)(5,7,15,9)(6,12)(8,14) ], - [ (1,2,3,4)(5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28), (1,5,9,29,3,15,11,30)(2,28,17,14,4,26,19,13)(6,20,7,24,16,18,8,22)(10,31,23,27,12,32,21,25) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,25,4,28)(2,10,41,7)(3,38,6,35)(5,20,8,17)(9,15,12,18)(11,33,14,36)(13,30,16,27)(19,23,22,26)(21,40,24,37)(29,31,32,34) ], - [ (1,2)(3,4), (1,5,6,7,2,3)(4,8) ], - [ (1,2,3,4)(5,6,7,8), (1,3)(2,9,6,10,4,11,8,12) ], - [ (1,2,3,4)(5,6,7,8), (2,9,3,4)(5,10,8,6) ], - [ (1,2)(3,4), (1,5,3,6)(2,7,8,9)(4,10) ], - [ (1,2,3,4)(5,6), (5,6,7,8,9) ], - [ (1,2,3,4), (1,5)(6,7) ], - [ (1,2)(3,4,5,6), (2,7,8)(3,6)(5,9) ], - [ (1,2,3), (1,4,2,5)(3,6,7,8) ], - [ (1,2,3), (4,5,6), (2,7)(5,8) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48), (1,38,13)(2,35,47)(3,31,6)(4,34,14)(5,37,16)(7,24,45)(8,21,15)(9,44,28)(10,41,46)(11,20,33)(12,22,18)(17,26,39)(19,36,49)(23,48,40)(25,42,43)(27,29,30) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12), (7,11,12,9,8,10,13), (1,5,6,3,2,4,14) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,13)(2,5,6)(3,14,12)(4,7,8) ], - [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,8,12,3,10,13,5,9,14,4,7,15) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,4)(2,11,3,12,6,13,9,14,8,15)(5,7) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40)(41,42,43,44,45)(46,47,48,49,50)(51,52,53,54,55)(56,57,58,59,60), (1,30,47,31,17,53,12,56)(2,35,49,27,18,60,14,55)(3,26,16,40,19,54,5,24)(4,39,6,25,20,23,44,36)(7,22,50,59,45,38,15,34)(8,58,9,61,41,33,42,62)(10,32,11,21,43,57,46,37)(13,29,63,51,48,52,64,28) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28), (1,3,7,29,15)(2,25,27,23,30)(4,22,13,28,16)(5,20,24,9,17)(6,12,19,8,31)(11,26,18,21,32) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15), (1,7,13,11,6,16)(2,9,5)(3,15,8,10,14,4) ], - [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20)(21,22)(23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38)(39,40)(41,42,43,44), (1,45,14)(2,41,13)(3,46,27)(4,19,26)(5,47,10)(6,43,9)(7,48,23)(8,17,30)(11,31,18)(12,34,40)(15,35,20)(16,38,39)(21,25,36)(22,29,32)(24,33,42)(28,37,44) ], - [ (1,2,3,4,5,6,7,8)(9,10)(11,12)(13,14,15,16,17,18,19,20), (1,13,21)(2,16,10)(3,19,11)(4,18,22)(5,17,23)(6,20,9)(7,15,12)(8,14,24) ], - [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18)(19,20), (1,3,21)(2,4,18)(5,22,8)(6,17,7)(9,23,19)(10,15,20)(11,24,13)(12,16,14), (1,13,8,19)(2,20,7,14)(3,9)(4,12)(5,11)(6,10)(15,16)(23,24) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21), (1,9)(2,5)(3,18)(4,16)(6,8)(7,17)(13,14,19,20)(15,22,21,23), (1,11,16,24)(2,18,5,6)(3,17,8,7)(4,12,9,10) ], - [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18)(19,20), (1,21,3)(2,17,6)(4,15,18)(5,16,22)(7,23,9)(8,19,12)(10,14,20)(11,13,24), (1,13)(2,8)(3,9,5,11)(4,10,6,12)(7,16)(14,15)(17,18)(23,24) ], - [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21), (1,22,8,16)(2,23,14,18,7,24,9,21)(3,25,13,20,6,26,10,19)(4,27,12,15,5,28,11,17) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,41,7,24,21)(2,15,25,14,18)(3,8,39,11,40)(4,23,6,31,38)(5,16,10,34,20)(9,32,28,37,19)(12,26,29,30,36)(13,33,35,27,22) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,14,22,25)(2,19,7,8)(3,17,23,20)(4,15,26,18)(5,24,12,27)(6,16,9,21) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,4,5,13,11,12,3,14,2,15,16,9,8,6,7) ], - [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24), (1,10,3,25)(2,18,4,20)(5,9,11,8)(6,23,12,21)(7,13)(14,16)(15,17,19,22) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,16)(2,20)(3,19)(4,18)(5,17)(6,11)(7,15)(8,14)(9,13)(10,12), (1,6,21,16)(2,8,22,17)(3,10,23,18)(4,7,24,19)(5,9,25,20)(12,15)(13,14) ], - [ (1,2)(3,4,5,6), (2,7,4,8)(6,9) ], - [ (1,2,3,4,5), (1,2,6)(7,8) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,6,9,13,11)(2,5,4,14,8)(3,15,7,16,17)(10,18,12,19,20) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16)(17,18,19,20)(21,22)(23,24)(25,26)(27,28), (1,29,13,9,30)(2,31,24,20,16)(3,32,26,11,33)(4,34,28,18,15)(5,35,27,10,36)(6,37,14,19,21)(7,38,23,12,39)(8,40,25,17,22) ], - [ (1,2,3,4)(5,6)(7,8)(9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,7,11,15,37)(2,25,20,16,38)(3,28,13,30,39)(4,33,18,29,40)(5,23,26,19,31)(6,21,34,17,35)(8,12,36,10,24)(9,22,27,14,32) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,17,61)(2,62,24)(3,48,63)(4,54,51)(5,10,33)(6,41,29)(7,18,34)(8,15,55)(9,42,21)(13,14,53)(16,25,30)(19,43,46)(20,39,57)(22,28,40)(23,45,31)(26,60,32)(27,49,52)(35,56,38)(36,59,47)(37,64,50) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35), (1,2,5,9,15)(3,14,36,10,7)(4,8,11,6,12)(16,23,35,37,29)(17,33,26,22,38)(18,39,21,28,31)(19,30,40,34,25) ], - [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38,39), (1,4,10,7)(2,27,5,36)(3,24,12,15)(6,21,9,18)(8,30,11,33)(13,34,19,25)(14,20)(16,28,22,31)(26,38,29,39)(32,40,35,37) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,15,5,13)(2,17,21,18)(3,12,8,19)(4,16,10,22)(6,11)(7,14,9,20) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120), (1,85,32,38,76,86,41,11,70,59,94,2)(3,29,5,103,65,31,57,92,28,120,47,49)(4,75,67,115,48,46,78,7,102,96,55,22)(6,63,83,39,16,95,82,34,25,106,109,81)(8,87,52,53,71,79,33,24,62,72,61,18)(9,42,21,12,27,93,107,117,44,30,26,45)(10,98,105,66,84,40,58,20,17,43,36,97)(13,68,99,114,74,50,119,111,37,23,64,88)(14,77,108,104,19,54,89,118,91,112,60,73)(15,110,35,90,121,51,69,56,116,80,100,113) ], - [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,6,2,11,21,13)(3,5,16,15,14,20)(4,22,9,12,8,23)(7,10,19,24,25,17) ], - [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51), (1,4,8)(2,45,10,14,16,52)(3,18,15,47,42,35)(5,34,48,12,29,13)(6,17,28,21,50,37)(7,11,26,49,20,43)(9,39,27,44,24,30)(19,23,36,32,46,22)(25,33,41,40,31,38) ], - [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24), (1,2,12,7,25,26,5,21)(3,27,23,10,28,4,20,18)(6,17)(8,14,24,16,19,13,9,15) ], - [ (1,2,3,4,5,6,7,8,9,10,11)(12,13,14,15,16,17,18,19,20,21,22), (1,2,3,10,23,12,9,6,17,24,5)(4,19,8,20,7,21,11,13,18,22,16) ], - [ (1,2,3,4)(5,6,7,8,9,10,11,12)(13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28)(29,30,31,32,33,34,35,36)(37,38,39,40,41,42,43,44)(45,46,47,48,49,50,51,52)(53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68)(69,70,71,72,73,74,75,76)(77,78,79,80,81,82,83,84)(85,86,87,88,89,90,91,92)(93,94,95,96,97,98,99,100), (1,71,90,50,62,40,83,101)(2,78,27,96,89,8,67,63)(3,49,34,102,9,20,7,38)(4,80,84,60,94,6,29,21)(5,17,57,42,93,51,81,43)(11,70,55,48,22,37,28,16)(12,31,82,85,35,58,23,54)(13,53,69,64,19,95,72,32)(14,92,39,79,52,26,75,97)(15,99,73,86,18,88,44,36)(24,46,66,74,68,45,30,76)(25,65,56,91,33,87,61,98)(41,59,47,77) ], - [ (1,2,3,4,5), (1,2,6,7,8) ], - [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42), (1,5)(2,22)(3,13)(4,40)(6,10)(7,33)(8,14)(9,23)(11,37)(16,36)(17,25)(20,30)(26,42)(27,35)(28,38)(29,41) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,3,2,15,8,5,13,11)(4,9,16,17,18,19,6,20)(7,21,14,10) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32), (1,33,21,8,19,26,30,5)(2,34,10,25,35,13,36,18)(3,28,16,37,38,39,9,6)(4,23,40,27,11,14,29,32)(7,41,24,20)(12,17)(15,42,22,31) ], - [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,41,6,19,25)(2,23,36,5,22)(3,10,20,42,16)(4,30,37,43,7)(8,24,44,35,14)(9,18,12,34,45)(13,46,32,27,39)(15,47,26,33,40)(31,48,49,38,50) ], -]; +SCN.Data.Gens := []; + +# MinimalGeneratingSet + +SCN.Data.Gens[ 1 ] := [ + [], +]; + +SCN.Data.Gens[ 2 ] := [ + [ (1,2) ], +]; + +SCN.Data.Gens[ 3 ] := [ + [ (1,2,3) ], + [ (1,2), (1,3) ], +]; + +SCN.Data.Gens[ 4 ] := [ + [ (1,2,3,4) ], + [ (1,2), (3,4) ], + [ (1,2)(3,4), (1,4)(2,5) ], + [ (1,2,3), (1,4,2) ], +]; + +SCN.Data.Gens[ 5 ] := [ + [ (1,2,3,4,5) ], + [ (1,2), (1,3)(2,4) ], + [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6) ], + [ (1,2)(3,4)(5,6), (1,5)(2,4)(6,7) ], + [ (1,2)(3,4), (1,3,5,2) ], + [ (1,2,3)(4,5,6), (1,5,7)(2,4,6) ], + [ (1,2,3), (1,4) ], + [ (1,2,3), (1,4,5) ], +]; + +SCN.Data.Gens[ 6 ] := [ + [ (1,2)(3,4,5) ], + [ (1,2,3), (2,3)(4,5,6,7) ], + [ (1,2), (1,3)(4,5) ], + [ (1,2)(3,4)(5,6)(7,8), (1,3)(2,8)(4,6)(7,9) ], + [ (1,2)(3,4), (1,2,5), (3,4,6) ], + [ (1,2)(3,4,5,6), (1,3,5) ], + [ (1,2,3,4)(5,6,7,8), (1,9,7,2)(3,5,6,8) ], + [ (1,2,3)(4,5,6), (1,4)(2,7) ], +]; + +SCN.Data.Gens[ 7 ] := [ + [ (1,2,3,4,5,6,7) ], + [ (1,2)(3,4)(5,6), (1,7)(2,4)(3,6)(5,8) ], + [ (1,2)(3,4)(5,6), (1,7,6,8)(2,4,5,3) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,9,3,11)(2,16,4,14)(5,15,7,13)(6,12,8,10) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,3)(2,7)(4,5)(6,11)(8,9) ], + [ (1,2,3)(4,5,6), (2,6,7)(3,8,5) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,4)(2,9,10)(3,11,5)(6,8,7) ], + [ (1,2)(3,4)(5,6), (2,7,6)(3,4,5) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12), (1,13)(2,12)(3,5)(4,9)(6,10)(7,8) ], + [ (1,2,3,4,5)(6,7,8,9,10), (1,3,11,7,6)(2,5,8,4,9) ], + [ (1,2,3,4), (1,5) ], + [ (1,2,3,4,5), (1,2,6) ], +]; + +SCN.Data.Gens[ 8 ] := [ + [ (1,2,3,4,5,6,7,8) ], + [ (1,2), (3,4,5,6) ], + [ (1,2), (3,4), (5,6) ], + [ (1,2,3,4,5), (2,5)(3,4)(6,7,8,9) ], + [ (1,2)(3,4), (1,4)(2,5)(6,7) ], + [ (1,2), (1,3,4)(2,5,6) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3)(2,6)(4,7)(5,9)(8,12)(10,13) ], + [ (1,2,3,4)(5,6,7,8), (1,5,9)(2,8,10)(3,7,11)(4,6,12) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,8,3,13,5,12,4,14)(2,10,15,7,6,9,16,11) ], + [ (1,2,3)(4,5,6), (2,4)(3,7)(5,8) ], + [ (1,2)(3,4), (2,4,3)(5,6,7), (5,7)(6,8) ], + [ (1,2,3,4,5,6,7), (1,5,4,2,8,3,6) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,15,3,10)(2,17,7,5)(4,8,9,13)(6,16,11,12) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,7)(2,10,4)(3,8,12)(5,9,6) ], + [ (1,2)(3,4), (1,5,3,6,7)(2,8,4,9,10) ], + [ (1,2,3)(4,5,6), (1,7,5)(2,8,3) ], + [ (1,2,3,4)(5,6,7,8), (1,5,4,6)(2,8)(3,7,9,10) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14), (1,13,9,7)(2,6,12,15)(3,10,4,14)(5,8) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24), (1,15,20)(2,23,18)(3,25,9)(4,5,12)(6,21,7)(8,17,11)(10,24,22)(13,14,19) ], + [ (1,2,3)(4,5,6)(7,8,9), (1,4)(2,7)(3,10)(5,11) ], + [ (1,2,3,4)(5,6,7,8), (1,2,3,5)(4,9,7,10) ], +]; + +SCN.Data.Gens[ 9 ] := [ + [ (1,2,3,4,5,6,7,8,9) ], + [ (1,2,3), (4,5,6) ], + [ (1,2), (1,3)(4,5,6) ], + [ (1,2,3,4)(5,6,7,8)(9,10), (1,5,3,7)(2,8,4,6)(9,11) ], + [ (1,2)(3,4), (1,5)(3,6)(4,7) ], + [ (1,2)(3,4), (1,5)(3,6,4,7) ], + [ (1,2)(3,4)(5,6), (1,7)(3,6)(4,8) ], + [ (1,2)(3,4), (1,5)(3,4,6) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,18,4)(2,12,13)(3,9,17)(5,8,11)(6,19,10)(7,15,14) ], + [ (1,2)(3,4,5,6), (2,7)(4,6,8,5) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,4,11,3,2,7,5,6,8)(9,12,13) ], + [ (1,2)(3,4)(5,6)(7,8), (1,7,8,5,3,2,4,9) ], + [ (1,2), (1,3,2,4,5,6) ], + [ (1,2,3), (4,5,6), (2,3)(6,7) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18), (1,8,4)(2,14,5)(3,13,9)(6,17,15)(7,18,19)(10,11,12) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,9,14,16,21)(2,20,7,22,11)(4,15,23,8,18)(5,24,17,12,6) ], + [ (1,2)(3,4)(5,6), (1,7,4,8,9,5,6,3) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,7)(2,14,8)(3,15,6)(4,16,5)(9,10,11), (1,7,12)(2,6,9)(3,5,11)(4,8,10)(14,16,15) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24)(25,26)(27,28,29,30)(31,32,33,34)(35,36,37,38)(39,40), (1,41,5)(2,42,8)(3,43,7)(4,44,6)(9,17,40)(10,18,24)(11,15,39)(12,16,23)(13,33,29)(14,31,27)(19,35,45)(20,38,46)(21,37,47)(22,36,48)(25,32,28)(26,34,30), (1,17)(2,18)(3,15)(4,16)(5,21,7,19)(6,20,8,22)(9,32,11,34)(10,31,12,33)(13,44,14,42)(23,48,24,46)(25,41,26,43)(27,36)(28,37)(29,38)(30,35)(39,47,40,45) ], + [ (1,2,3,4,5,6), (1,2,5,6,7,8) ], + [ (1,2,3,4,5,6,7), (1,2,3,6,8,9,5) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15), (1,2,4,6,11)(3,7,12,9,13)(5,15,14,16,8) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12), (1,13,14,3,7,8)(2,4,9,5,12,6) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27), (1,10,25,24,19,7)(2,4,21)(3,26,5,9,11,28)(6,12,22,15,23,8)(13,27,20,14,18,17) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48), (1,42,29,41,22,45,23,25)(2,7,28,35,15,13,49,17)(3,8,14,12,36,40,38,21)(4,20,46,5,19,32,27,44)(6,43,48,11,10,39,16,9)(18,33,30,26,37,31,47,24) ], + [ (1,2,3,4,5), (1,6,7) ], +]; + +SCN.Data.Gens[ 10 ] := [ + [ (1,2)(3,4,5,6,7) ], + [ (1,2), (1,3,2,4)(5,6,7,8) ], + [ (1,2,3,4), (2,4)(5,6,7,8) ], + [ (1,2)(3,4), (1,5,3,6,2,7,4,8) ], + [ (1,2), (3,4), (1,5)(2,6) ], + [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6), (9,10) ], + [ (1,2)(3,4), (1,5)(2,6)(3,7)(4,8), (1,3,2,4)(5,7,6,8) ], + [ (1,2,3,4,5,6,7), (2,7)(3,6)(4,5)(8,9,10,11) ], + [ (1,2)(3,4)(5,6), (1,5)(2,4)(6,7)(8,9) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,3)(2,15)(4,12)(5,13)(6,11)(7,16)(8,10)(9,17) ], + [ (1,2,3,4,5), (2,3,5,4)(6,7,8,9,10,11,12,13) ], + [ (1,2,3,4), (1,2)(3,5)(6,7) ], + [ (1,2,3)(4,5,6), (1,5,7)(2,4,6)(8,9) ], + [ (1,2,3), (3,4)(5,6,7,8) ], + [ (1,2,3)(4,5), (1,6) ], + [ (1,2,3)(4,5,6,7,8,9), (1,5,8)(3,4,7) ], + [ (1,2)(3,4)(5,6)(7,8), (1,9,7,3,6,4)(5,8) ], + [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5), (4,7)(5,8)(6,9) ], + [ (1,2,3,4)(5,6,7,8)(9,10), (1,5,11)(2,9,8)(3,7,12)(4,10,6) ], + [ (1,2)(3,4), (1,5)(2,6,4,7,3,8) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15), (1,14,5,10,13,11)(2,4,16,8,7,15)(3,6,9) ], + [ (1,2,3,4)(5,6,7,8), (1,9,5,4,10,6)(2,11,8,3,12,7) ], + [ (1,2,3)(4,5,6), (1,3,7,2)(4,8) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,12,25,17)(2,15,5,10)(3,8,18,13)(4,16,7,21)(6,14,11,19)(9,24,23,20) ], + [ (1,2,3,4,5), (1,3,4,2)(6,7,8,9), (6,9,7,8,10) ], + [ (1,2,3,4,5), (1,6)(2,7,5,8)(3,9,4,10) ], + [ (1,2,3)(4,5), (1,6,7) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,9,2,7,16,4,5,6)(3,8,17,14,11,10,15,12) ], + [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,7,12,5,10,13)(3,8,14,4,9,15) ], + [ (1,2)(3,4,5,6)(7,8), (1,6,7,4)(2,9)(8,10) ], + [ (1,2,3)(4,5,6), (1,7,8,3)(2,4,9,5) ], + [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28)(29,30,31,32)(33,34)(35,36)(37,38,39,40)(41,42)(43,44)(45,46)(47,48)(49,50,51,52), (1,5,27,29,34,53,22)(2,38,44,19,33,15,51)(3,7,9,31,48,54,24)(4,40,45,17,47,16,49)(6,43,18,35,55,23,13)(8,46,20,25,56,21,11)(10,32,36,41,52,14,37)(12,39,28,30,26,42,50) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,8)(2,13,5,9)(3,11,14,12)(4,10,6,7) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48), (1,47,11,48)(2,24,4,13)(3,27,19,42)(5,16,12,40)(6,26,32,29)(7,20,39,33)(8,46,31,17)(9,22,43,10)(14,36,44,30)(15,45,38,28)(18,21,37,41)(25,49,34,35) ], + [ (1,2,3,4)(5,6,7,8), (1,2,4,5)(6,9,10,11) ], + [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48,49,50)(51,52,53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68,69,70)(71,72,73,74,75,76,77,78,79,80)(81,82,83,84,85,86,87,88,89,90)(91,92,93,94,95,96,97,98,99,100)(101,102,103,104,105,106,107,108,109,110)(111,112,113,114,115,116,117,118,119,120), (1,2,12,47,114,83,78,19,80,103)(3,28,112,48,13,44,20,108,65,62)(4,81,93,109,71,69,89,119,70,106)(5,56,15,57,96,76,33,75,53,40)(6,115,59,30,100,87,10,64,94,117)(7,29,86,22,35,111,8,61,50,82)(9,99,26,32,73,24,23,52,97,105)(11,63,104,67,34,25,21,91,116,17)(14,16,95,43,101,38,79,45,102,110)(18,39,42,58,92,41,54,84,27,107)(31,85,60,36,72,77,55,118,121,90)(37,46,49,66,98,88,120,51,74,68) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,2,6)(3,19,8)(4,20,11)(5,18,15)(7,12,13)(9,17,21) ], +]; + +SCN.Data.Gens[ 11 ] := [ + [ (1,2,3,4,5,6,7,8,9,10,11) ], + [ (1,2,3)(4,5,6), (1,4,7)(2,6,8)(3,5,9) ], + [ (1,2,3)(4,5,6), (1,4,7,3,5,8,2,6,9) ], + [ (1,2)(3,4), (1,5,6,3)(2,7,8,4) ], + [ (1,2)(3,4), (1,3,5,6,2,4,7,8) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,9,5,13)(2,14,6,10)(3,15,7,11)(4,12,8,16) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,15)(2,4)(3,13)(5,14)(6,7)(8,11)(9,16)(10,12) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,15,9,16)(2,11,10,3)(4,7,12,13)(5,14,6,8) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32), (1,17,3,19)(2,30,4,32)(5,23,7,21)(6,26,8,28)(9,29,11,31)(10,22,12,24)(13,25,15,27)(14,18,16,20) ], + [ (1,2)(3,4), (1,4)(2,3)(5,6), (1,7)(2,8)(3,6)(4,5) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,9,14)(2,5,10,6)(3,7,4,12)(8,15,11,16), (1,7)(2,11)(3,14)(4,13)(5,16)(6,15)(8,10)(9,12) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18), (1,3)(2,17)(4,11)(5,18)(6,9)(7,16)(8,19)(10,14)(12,15) ], + [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,10,12)(3,9,13)(4,8,14)(5,7,15) ], + [ (1,2)(3,4), (1,5,3)(2,6,4), (3,5,7)(4,6,8) ], + [ (1,2)(3,4)(5,6), (1,5)(2,7,6,8,4,9) ], + [ (1,2,3,4,5)(6,7,8,9,10), (1,5)(2,6)(3,8)(4,11)(7,9) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28), (1,16,25,14)(2,26,28,4)(3,17,23,9)(5,6,21,24)(7,27,19,29)(8,12,22,18)(10,11,20,15) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,12,18,2,8)(3,5,14,24,28)(4,9,19,29,31)(6,17,11,15,23)(7,13,10,21,27)(16,22,25,20,26) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,5,18,8,9,10,7,15,14)(2,17,12,4,13,19,11,3,6) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,31)(2,26)(3,29)(4,16)(5,15)(6,8)(7,10)(9,17)(11,12)(13,21)(14,25)(18,23)(19,30)(22,28)(24,27) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,6,7,10,2,13,8,11)(3,5,9,14,15,4,16,12) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14), (1,14,6,15,11,9)(2,13,4,16,12,7)(3,8,5) ], + [ (1,2)(3,4,5,6,7,8,9,10), (1,5,7,3,9) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28), (1,18,11,5,10,12,28)(2,7,3,27,17,21,25)(4,29,16,26,9,24,13)(6,20,19,8,15,23,14) ], + [ (1,2,3,4,5,6,7,8), (1,7,2,9,5,3,6,10) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,5,9)(4,12,7)(6,13,14)(8,15,16) ], + [ (1,2)(3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28), (1,24,7,27)(2,20,16,4)(3,5,17,11)(6,18,14,28)(8,23,12,26)(9,19,15,25)(10,21)(13,22) ], + [ (1,2,3)(4,5,6), (1,7,4,6,2,5,8,9) ], + [ (1,2,3,4,5), (1,6) ], + [ (1,2,3,4,5,6,7,8), (1,2,3,9,7,6,5,10) ], + [ (1,2,3,4)(5,6,7,8), (1,5,9,10,3,7,11,12)(2,13,4,14) ], + [ (1,2,3,4,5,6,7), (1,2)(4,8) ], + [ (1,2,3)(4,5,6), (1,4,7)(2,8,9) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,2,3,9,16,6,15,14)(4,12,5,17,18,7,11,8) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63), (1,2,3,38,6,9,50)(4,12,48,55,19,37,62)(5,56,32,14,61,49,22)(7,54,64,63,28,51,47)(8,59,15,30,18,25,36)(11,24,46,17,44,42,27)(16,45,41,65,21,35,34)(20,52,57,40,39,60,26)(23,31,53,29,58,33,43) ], +]; + +SCN.Data.Gens[ 12 ] := [ + [ (1,2,3)(4,5,6,7) ], + [ (1,2), (3,4)(5,6,7) ], + [ (1,2,3), (2,3)(4,5,6,7,8,9,10,11) ], + [ (1,2), (1,3)(4,5,6,7) ], + [ (1,2,3,4)(5,6), (5,7,6)(8,9) ], + [ (1,2), (3,4), (1,5)(6,7) ], + [ (1,2)(3,4), (1,4)(2,5)(6,7,8) ], + [ (1,2,3,4,5,6,7,8,9), (2,9)(3,8)(4,7)(5,6)(10,11,12,13) ], + [ (1,2)(3,4), (2,4,3)(5,6,7,8,9,10,11,12,13) ], + [ (1,2)(3,4)(5,6)(7,8), (1,4)(2,8)(3,6)(7,9)(10,11) ], + [ (1,2,3), (4,5,6), (2,3)(5,6)(7,8,9,10) ], + [ (1,2,3), (1,4,2)(5,6,7) ], + [ (1,2,3), (2,3)(4,5), (4,6,5)(7,8) ], + [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,7)(4,6)(8,10) ], + [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,6,8,10,7,5,4,11) ], + [ (1,2,3)(4,5)(6,7)(8,9), (1,3)(4,8,7,9)(5,10,6,11) ], + [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,6,4,10,7,5,8,11) ], + [ (1,2,3,4,5,6,7,8)(9,10)(11,12,13,14,15,16,17,18), (1,11,5,15)(2,18,6,14)(3,17,7,13)(4,16,8,12)(9,19) ], + [ (1,2)(3,4)(5,6), (1,7)(3,8,4,6,5) ], + [ (1,2,3), (1,4)(2,5,3,6)(7,8,9,10,11,12,13,14) ], + [ (1,2)(3,4,5), (1,6)(4,7,5) ], + [ (1,2)(3,4,5), (3,6)(4,7,5,8) ], + [ (1,2,3)(4,5,6)(7,8,9), (1,10,2)(4,8,11)(5,7,9) ], + [ (1,2,3,4)(5,6)(7,8)(9,10), (1,11,5)(2,10,6)(3,12,8)(4,9,7) ], + [ (1,2,3)(4,5,6)(7,8,9), (4,5,9,7)(6,10,8,11), (1,12)(2,3) ], + [ (1,2,3)(4,5,6), (2,3)(4,7)(5,8,6,9) ], + [ (1,2)(3,4)(5,6)(7,8), (1,9)(3,10,8,5,7,4) ], + [ (1,2,3,4)(5,6,7,8), (1,4,7,9)(3,6,8,5)(10,11,12,13) ], + [ (1,2,3,4)(5,6,7,8), (1,4,7,9)(3,6,8,5), (10,11) ], + [ (1,2,3)(4,5,6)(7,8,9), (2,10,3)(4,5,11,6,7,9) ], + [ (1,2)(3,4,5,6)(7,8,9,10), (1,11)(3,5,9,6)(4,8,7,12) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,27,8)(2,12,35)(3,26,30)(4,32,16)(5,6,21)(7,13,37)(9,33,22)(10,18,24)(11,20,29)(14,15,19)(17,34,36)(23,25,28) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40), (1,6,2,25,41,14,19,35,20,12,42,22)(3,43,18,8,37,9,16,44,5,32,30,33)(4,11,36,45,26,23,17,24,29,46,38,15)(7,27,13,28,10,47,31,39,21,40,34,48) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38), (1,9,38)(2,25,21)(3,23,33)(4,37,12)(5,24,28)(6,36,20)(7,32,17)(8,13,26)(10,14,35)(11,29,16)(27,30,39)(31,40,34) ], + [ (1,2,3)(4,5,6)(7,8), (1,4)(2,9) ], + [ (1,2,3,4)(5,6), (1,7)(5,8) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18)(19,20), (1,5,21,3,7,22)(2,9,23,13,6,20)(4,11,24,15,8,19)(10,18,14)(12,17,16) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34)(35,36,37,38)(39,40,41,42)(43,44), (1,17,45)(2,29,37)(3,23,46)(4,31,38)(5,21,47)(6,25,35)(7,19,48)(8,27,36)(9,18,41)(10,30,44)(11,20,40)(12,28,33)(13,22,39)(14,26,43)(15,24,42)(16,32,34) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18)(19,20,21,22), (1,9,23)(2,21,10)(3,15,18)(4,22,12)(5,13,24)(6,19,14)(7,11,17)(8,20,16) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15), (1,6,12,16)(2,9,10,15)(3,7)(4,8,5,14) ], + [ (1,2,3,4,5,6)(7,8), (1,7,9)(4,8,10) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,17)(2,6,15,8)(3,7,18,5)(4,11,14,9)(10,16,12,13) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,28)(2,27)(3,26,13,24)(4,30,19,8)(5,22)(6,11,21,16)(7,20,29,15)(9,18)(10,12,25,17)(14,23) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3,2,13,9,8)(4,14,15,12,7,5)(6,11,16) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120), (1,10,67,84)(2,23,63,29)(3,31,37,115)(4,69,7,65)(5,58,99,56)(6,109,49,71)(8,45,98,76)(9,11,105,14)(12,30,117,96)(13,70,42,102)(15,80,91,44)(16,92,46,53)(17,33,82,43)(18,89,95,38)(19,107,112,55)(20,88,54,81)(21,97,83,75)(22,116,121,28)(24,61,78,59)(25,48,119,27)(26,87,113,108)(32,39,35,34)(36,51,41,50)(40,110,86,120)(47,106,79,100)(52,101,118,93)(57,85,74,68)(60,72,103,62)(64,77,104,94)(66,90,73,111) ], + [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44), (1,27,5,22)(2,17,7,3,24,19,25,45)(4,10,9,43,16,40,11,29)(6,12,23,41,13,20,21,35)(8,44,28,26,34,32,42,30)(14,38,39,31,15,18,37,33) ], + [ (1,2,3,4,5,6,7,8,9)(10,11,12,13,14,15,16,17,18), (1,2,3,19,10,8,5,16,20)(4,6,13,7,9,12,11,15,14) ], + [ (1,2)(3,4)(5,6)(7,8), (1,3,5,9,10,11)(2,12,8)(7,13) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,2,11,6,13)(3,4,14,8,12)(5,9,15,16,7) ], + [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48,49,50)(51,52,53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68,69,70)(71,72,73,74,75,76,77,78,79,80)(81,82,83,84,85,86,87,88,89,90)(91,92,93,94,95,96,97,98,99,100)(101,102,103,104,105,106,107,108,109,110)(111,112,113,114,115,116,117,118,119,120)(121,122,123,124,125,126,127,128,129,130)(131,132,133,134,135,136,137,138,139,140)(141,142,143,144,145,146,147,148,149,150)(151,152,153,154,155,156,157,158,159,160)(161,162,163,164,165,166,167,168,169,170)(171,172,173,174,175,176,177,178,179,180)(181,182,183,184,185,186,187,188,189,190)(191,192,193,194,195,196,197,198,199,200)(201,202,203,204,205,206,207,208,209,210)(211,212,213,214,215,216,217,218,219,220)(221,222,223,224,225,226,227,228,229,230)(231,232,233,234,235,236,237,238,239,240)(241,242,243,244,245,246,247,248,249,250)(251,252,253,254,255,256,257,258,259,260)(261,262,263,264,265,266,267,268,269,270)(271,272,273,274,275,276,277,278,279,280)(281,282,283,284,285,286,287,288,289,290)(291,292,293,294,295,296,297,298,299,300)(301,302,303,304,305,306,307,308,309,310)(311,312,313,314,315,316,317,318,319,320)(321,322,323,324,325,326,327,328,329,330)(331,332,333,334,335,336,337,338,339,340)(341,342,343,344,345,346,347,348,349,350)(351,352,353,354,355,356,357,358,359,360), (1,2,57,219,222,352,310,270,322,5)(3,50,335,199,242,282,28,296,40,163)(4,347,262,80,129,200,231,212,66,266)(6,295,272,65,91,253,156,150,32,327)(7,183,18,79,185,287,301,188,265,299)(8,343,313,356,56,74,33,141,34,350)(9,269,37,268,100,38,285,243,319,331)(10,202,59,194,68,127,104,146,180,158)(11,255,215,178,36,110,349,124,48,75)(12,240,211,53,207,264,88,220,241,177)(13,274,120,145,51,346,311,278,167,174)(14,130,326,62,125,27,216,276,263,328)(15,111,173,140,47,330,102,94,203,256)(16,117,26,83,137,157,221,338,90,297)(17,142,333,248,293,138,93,76,78,101)(19,149,45,61,239,182,95,41,232,161)(20,244,85,121,139,134,286,339,355,42)(21,81,128,267,291,289,147,162,97,135)(22,204,359,46,193,315,132,261,345,316)(23,277,235,82,306,170,77,181,144,245)(24,84,298,303,247,198,271,300,213,217)(25,31,184,218,153,206,323,115,71,205)(29,246,357,230,43,225,214,30,336,294)(35,131,318,103,112,123,99,307,332,223)(39,70,190,151,340,113,358,122,275,55)(44,337,344,292,334,133,64,229,234,189)(49,116,92,72,98,197,351,195,302,238)(52,314,329,279,87,312,89,305,260,105)(54,325,69,317,106,126,284,304,119,320)(58,341,154,176,257,168,280,237,259,107)(60,228,155,114,164,191,108,118,186,273)(63,258,67,143,252,321,96,109,209,166)(73,324,226,251,175,187,169,159,192,281)(86,196,224,360,249,152,160,233,254,283)(136,342,210,165,308,361,290,179,172,236)(148,171,309,250,201,208,288,354,353,348) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,2,4)(3,7,10)(5,19,20)(6,13,16)(8,21,15)(9,17,22) ], +]; + +SCN.Data.Gens[ 13 ] := [ + [ (1,2,3,4,5,6,7,8,9,10,11,12,13) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12), (1,13)(2,11)(3,9,5,7)(4,8,6,10) ], + [ (1,2)(3,4)(5,6), (1,7)(2,8)(3,6)(4,9) ], + [ (1,2)(3,4)(5,6), (1,7,2,8)(3,6)(4,9) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22), (1,3)(2,5)(4,21)(6,9)(7,13)(8,20)(10,17)(11,16)(12,18)(14,23)(19,22) ], + [ (1,2), (1,3,4,5)(2,6,7,8) ], + [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14), (1,15,11,16)(2,7,12,5)(3,10,13,9)(4,6,14,8) ], + [ (1,2,3,4), (1,5,4,6)(2,7,3,8) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,5,9,13)(2,8,10,16)(3,15,11,7)(4,6,12,14) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,5,7,13,9,6,11,14)(2,15,8,4,10,16,12,3) ], + [ (1,2,3,4)(5,6,7,8), (1,9,5,10,3,11,7,12)(2,13,8,14,4,15,6,16) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,29,17)(2,22,25)(3,6,11)(4,27,7)(5,13,28)(8,31,26)(9,24,14)(10,12,30)(15,20,18)(16,21,23) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,7,13,14,12)(2,10,6,15,16,4)(3,8)(5,11) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30,31,32), (1,21,19,29,3,27,13,23)(2,24,16,32,4,30,10,26)(5,15,31,11,7,9,25,17)(6,18,28,14,8,12,22,20) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,6,13,14,12,2,10,7,15,16,4)(3,5,11,8) ], + [ (1,2)(3,4)(5,6,7,8), (1,9)(2,3)(6,8,10,7) ], + [ (1,2,3)(4,5,6,7,8), (1,9)(5,8)(6,7) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,19,20,35)(2,4,16,14)(3,31,22,23)(5,30,24,11)(6,28,12,9)(7,18,26,37)(8,33,10,21)(13,17,32,36)(15,29,34,25) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,3,8,5,12,6,9,4,13,15)(2,14)(7,10) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,6,2,4,9,10,13,7,3,5,8,11) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,6,31,29,20)(2,19,26,32,9)(3,5,24,10,13)(4,27,22,15,28)(7,14,23,8,17)(11,30,21,16,18) ], + [ (1,2,3), (1,4,5)(2,6,7,3,8,9) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,3,16,4,9,5)(2,10,12,23,7,20)(6,8,13,26,21,24)(11,22,17,14,19,27)(15,18) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11,26,21,9,6)(2,18,7,10,20,24)(3,15,4,17,5,8)(12,23,27,19,22,14)(13,25) ], + [ (1,2,3), (1,4)(2,5)(3,6)(7,8), (2,3)(4,9)(5,8)(6,7) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11)(2,17)(3,20)(4,8)(5,22)(6,23)(7,27)(9,15)(10,26)(12,21)(14,19)(16,18)(24,25), (1,13)(2,21)(3,17)(4,9)(5,18)(6,8)(7,22)(10,25)(12,20)(14,26)(15,23)(16,27)(19,24) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,11)(2,18)(3,24)(4,13)(5,26)(6,7)(8,25)(9,27)(12,17)(14,23)(15,22)(16,20)(19,21), (1,10)(2,7)(3,18)(4,26)(5,21)(6,24)(8,9)(12,27)(13,19)(14,16)(15,20)(17,25)(22,23) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26), (1,3)(2,6)(4,24)(5,19)(7,17)(8,26)(9,11)(10,15)(12,22)(13,25)(14,20)(18,23)(21,27), (1,12)(2,26)(3,7)(4,10)(5,13)(6,11)(8,27)(9,19)(14,22)(15,25)(16,17)(18,24)(21,23) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,11,3,13)(2,6,14,4)(5,9,15,7)(8,12,16,10) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,14,8,6,15,16,10)(2,11,5,7,4,9,3,12) ], + [ (1,2)(3,4,5,6), (1,7,4)(2,8,6) ], + [ (1,2,3,4), (1,5,6)(3,7,8) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40), (1,9,30,21,10)(2,36,22,32,31)(3,27,14,12,26)(4,25,16,39,29)(5,41,20,11,35)(6,8,38,18,15)(7,19,23,13,33)(17,37,34,40,28) ], + [ (1,2)(3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18)(19,20,21,22,23,24,25,26), (1,14)(2,20)(3,22)(4,13)(5,12)(6,27)(7,23)(8,25)(9,15)(11,16)(17,21)(19,26) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,6,7,3,15,10)(2,5,8,14,11,13)(4,16,17,18,9,12) ], + [ (1,2,3,4,5,6,7,8,9,10,11)(12,13,14,15,16,17,18,19,20,21,22), (1,5,16,18,2,14,8,7,20,17,23)(3,10,4,13,9,12,15,21,19,6,22) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42), (1,19,41)(2,4,16)(3,31,27)(5,42,13)(6,28,11)(7,30,43)(8,40,25)(9,18,14)(10,33,39)(12,21,32)(15,17,29)(20,26,23)(22,38,37)(24,35,34) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42), (1,33,21,20,15,35,4)(2,16,9,28,39,24,19)(3,42,30,43,36,32,14)(5,38,27,23,11,41,31)(6,29,12,37,10,7,25)(8,13,18,34,26,17,40) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30), (1,24,11,14,8)(2,3,9,22,26)(4,31,28,20,5)(6,16,30,15,12)(7,29,25,18,17)(10,19,21,13,23) ], + [ (1,2)(3,4), (1,5,6,7,8,4,2,9,3) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34,35,36,37,38,39,40), (1,41)(2,24)(3,35)(4,15)(5,12)(6,16)(7,37)(8,19)(9,18)(10,31)(11,17)(13,25)(14,36)(20,22)(21,34)(23,28)(26,27)(29,39)(32,40)(33,38) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36), (1,7,28,9,33,20,18,21,13)(2,26,25,5,35,14,19,29,4)(3,8,34,32,30,12,31,22,23)(6,24,37,17,10,27,36,16,15) ], + [ (1,2)(3,4), (1,5,3,6,7,8,2,9)(4,10) ], + [ (1,2,3), (1,4,3,5,6,7,2,8) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24), (1,9,25)(2,21,12)(3,8,13)(4,6,22)(5,19,11)(7,14,15)(16,20,24)(17,23,18) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72), (1,4,73)(2,62,48)(3,70,58)(5,51,37)(6,17,10)(7,45,69)(8,18,23)(9,32,74)(11,68,34)(12,75,63)(13,55,61)(14,36,76)(15,29,54)(19,77,30)(20,35,42)(21,72,26)(22,25,78)(24,38,28)(27,47,33)(31,57,65)(40,44,59)(43,64,79)(49,80,60)(50,66,53) ], + [ (1,2,3,4)(5,6,7,8)(9,10)(11,12,13,14), (1,2,15,9)(3,5,8,14)(4,7,11,16)(6,10) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,8,41,42,18,20,31,27)(2,13,12,7)(3,28,9,19,16,14,43,44)(4,38,24,30,45,46,10,37)(5,22,47,48,26,33,25,40)(6,29)(11,36,49,50,32,39,17,34)(15,21,23,35) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24), (1,4,16)(2,15,25)(3,8,13)(5,26,7)(6,24,20)(9,23,14)(10,22,11)(12,27,18) ], + [ (1,2,3,4,5,6,7,8,9,10), (1,2,4,6,7,11,3,9,5,12) ], + [ (1,2,3,4,5,6,7,8), (1,3)(4,9)(8,10) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80), (1,73,2)(3,31,51)(4,32,56)(5,14,39)(6,23,38)(7,41,13)(8,26,49)(9,33,37)(10,67,63)(11,61,65)(12,76,22)(15,57,59)(16,43,74)(17,46,80)(18,28,69)(19,44,71)(20,53,68)(21,79,29)(24,35,81)(25,34,50)(27,55,72)(30,70,58)(36,75,66)(40,54,48)(42,64,60)(45,78,62) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80), (1,74,66)(2,29,34)(3,45,49)(4,64,46)(5,81,24)(6,78,23)(7,58,15)(8,26,51)(9,39,54)(10,79,75)(11,33,22)(12,43,41)(13,56,37)(14,73,35)(16,60,77)(18,68,72)(19,40,70)(20,69,53)(21,30,25)(28,32,50)(36,42,55)(38,76,59)(44,48,47)(52,61,57)(62,65,80)(63,67,71) ], +]; + +SCN.Data.Gens[ 14 ] := [ + [ (1,2)(3,4,5,6,7,8,9) ], + [ (1,2)(3,4)(5,6), (1,7,6,8)(2,4,5,3)(9,10,11,12) ], + [ (1,2,3,4)(5,6,7,8), (2,8)(4,6)(5,7)(9,10,11,12) ], + [ (1,2,3,4), (1,5,4,6,3,7,2,8) ], + [ (1,2,3,4,5,6,7,8), (2,4)(3,7)(6,8)(9,10,11,12) ], + [ (1,2,3,4,5,6,7,8), (2,8)(3,7)(4,6)(9,10,11,12) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,9,7,15,5,13,3,11)(2,16,4,10,6,12,8,14) ], + [ (1,2), (3,4)(5,6), (1,7,2,8)(3,5) ], + [ (1,2,3,4), (2,4)(5,6), (5,7)(6,8) ], + [ (1,2,3,4)(5,6,7,8), (9,10), (1,5,3,7)(2,8,4,6)(9,11)(10,12) ], + [ (1,2)(3,4), (1,5)(2,6)(3,7)(4,8)(9,10), (1,3,2,4)(5,8,6,7)(9,11)(10,12) ], + [ (1,2,3,4)(5,6,7,8), (2,4)(6,8)(9,10), (1,5,3,7)(2,6,4,8)(9,11,10,12) ], + [ (1,2,3,4)(5,6,7,8), (2,4)(6,8)(9,10,11,12)(13,14,15,16), (1,7,3,5)(2,8,4,6)(9,13,11,15)(10,16,12,14) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13,8,14)(2,15,7,16)(3,5,10,6)(4,12,9,11), (1,5,2,11)(3,16,9,14)(4,13,10,15)(6,7,12,8) ], + [ (1,2)(3,4), (3,5,4,6), (1,7,2,8) ], + [ (1,2,3,4)(5,6,7,8), (1,5,3,7)(2,8,4,6)(9,10), (9,11,10,12) ], + [ (1,2), (3,4)(5,6)(7,8), (3,9)(4,5)(6,7)(8,10) ], + [ (1,2), (3,4)(5,6)(7,8), (3,5,4,9,8,6,7,10) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), (1,16,3,14)(2,6,4,8)(5,9,7,11)(10,13,12,15), (17,18) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,13)(2,3)(4,7)(5,14)(6,9)(8,15)(10,11)(12,16), (1,5,8,12)(2,6,7,11)(3,9,4,10)(13,14,15,16) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12,13,14), (1,5,9,3,8,7,4,10,6,2,15) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3)(2,6)(4,8)(5,9)(7,13) ], + [ (1,2,3)(4,5,6), (2,6,7)(3,8,5)(9,10) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,6)(2,13)(3,10)(4,9)(5,14)(7,12)(8,15)(11,16) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,13)(2,7)(3,19)(4,15)(5,23)(6,10)(8,12)(9,22)(11,16)(14,17)(18,24)(20,25) ], + [ (1,2,3,4,5), (1,2)(3,5)(6,7)(8,9), (6,8,9,7,10) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,13,6)(2,7,10)(3,11,4)(5,9,8)(14,15) ], + [ (1,2)(3,4)(5,6)(7,8), (1,2,9,6)(3,10,7,11,4,12,8,13) ], + [ (1,2)(3,4,5,6), (1,7,2,8)(3,4)(5,9) ], + [ (1,2,3,4,5)(6,7)(8,9), (1,2,4,3)(6,10,8,11,7,12,9,13) ], + [ (1,2)(3,4)(5,6), (1,7)(2,8)(3,5,9,4) ], + [ (1,2,3)(4,5,6), (1,2)(3,5)(4,7)(8,9,10,11) ], + [ (1,2)(3,4)(5,6), (1,2,4)(3,5,7)(8,9) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11), (1,8,3,6)(2,7,4,5)(9,12) ], + [ (1,2)(3,4), (1,5,2,6)(3,7,8) ], + [ (1,2)(3,4)(5,6), (1,7,8)(4,6) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16,17,18,19,20), (1,5,6,12,4,9,11,2,10,8,7,3,21) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12), (1,9)(2,3)(4,8)(5,12)(6,13)(7,11)(14,15) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,11,13,14,5,7,15,16,3,10,17,18)(2,8,4,12,6,9) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12), (1,8,5,9,3)(2,4,13,7,6) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,5,13,14)(2,10,4,12)(3,11,8,6)(7,9,15,16) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30), (1,31,19,32)(2,7,20,23)(3,10,21,12)(4,24,22,8)(5,27,25,18)(6,29,26,16)(9,28,11,15)(13,17,14,30) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12)(13,14,15,16), (1,3,11,13)(2,16)(4,10)(5,7,15,9)(6,12)(8,14) ], + [ (1,2,3,4)(5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28), (1,5,9,29,3,15,11,30)(2,28,17,14,4,26,19,13)(6,20,7,24,16,18,8,22)(10,31,23,27,12,32,21,25) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,25,4,28)(2,10,41,7)(3,38,6,35)(5,20,8,17)(9,15,12,18)(11,33,14,36)(13,30,16,27)(19,23,22,26)(21,40,24,37)(29,31,32,34) ], + [ (1,2)(3,4), (1,5,6,7,2,3)(4,8) ], + [ (1,2,3,4)(5,6,7,8), (1,3)(2,9,6,10,4,11,8,12) ], + [ (1,2,3,4)(5,6,7,8), (2,9,3,4)(5,10,8,6) ], + [ (1,2)(3,4), (1,5,3,6)(2,7,8,9)(4,10) ], + [ (1,2,3,4)(5,6), (5,6,7,8,9) ], + [ (1,2,3,4), (1,5)(6,7) ], + [ (1,2)(3,4,5,6), (2,7,8)(3,6)(5,9) ], + [ (1,2,3), (1,4,2,5)(3,6,7,8) ], + [ (1,2,3), (4,5,6), (2,7)(5,8) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48), (1,38,13)(2,35,47)(3,31,6)(4,34,14)(5,37,16)(7,24,45)(8,21,15)(9,44,28)(10,41,46)(11,20,33)(12,22,18)(17,26,39)(19,36,49)(23,48,40)(25,42,43)(27,29,30) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12), (7,11,12,9,8,10,13), (1,5,6,3,2,4,14) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,9,13)(2,5,6)(3,14,12)(4,7,8) ], + [ (1,2,3,4,5)(6,7,8,9,10), (1,6,11)(2,8,12,3,10,13,5,9,14,4,7,15) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10), (1,4)(2,11,3,12,6,13,9,14,8,15)(5,7) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40)(41,42,43,44,45)(46,47,48,49,50)(51,52,53,54,55)(56,57,58,59,60), (1,30,47,31,17,53,12,56)(2,35,49,27,18,60,14,55)(3,26,16,40,19,54,5,24)(4,39,6,25,20,23,44,36)(7,22,50,59,45,38,15,34)(8,58,9,61,41,33,42,62)(10,32,11,21,43,57,46,37)(13,29,63,51,48,52,64,28) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28), (1,3,7,29,15)(2,25,27,23,30)(4,22,13,28,16)(5,20,24,9,17)(6,12,19,8,31)(11,26,18,21,32) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15), (1,7,13,11,6,16)(2,9,5)(3,15,8,10,14,4) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20)(21,22)(23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38)(39,40)(41,42,43,44), (1,45,14)(2,41,13)(3,46,27)(4,19,26)(5,47,10)(6,43,9)(7,48,23)(8,17,30)(11,31,18)(12,34,40)(15,35,20)(16,38,39)(21,25,36)(22,29,32)(24,33,42)(28,37,44) ], + [ (1,2,3,4,5,6,7,8)(9,10)(11,12)(13,14,15,16,17,18,19,20), (1,13,21)(2,16,10)(3,19,11)(4,18,22)(5,17,23)(6,20,9)(7,15,12)(8,14,24) ], + [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18)(19,20), (1,3,21)(2,4,18)(5,22,8)(6,17,7)(9,23,19)(10,15,20)(11,24,13)(12,16,14), (1,13,8,19)(2,20,7,14)(3,9)(4,12)(5,11)(6,10)(15,16)(23,24) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21), (1,9)(2,5)(3,18)(4,16)(6,8)(7,17)(13,14,19,20)(15,22,21,23), (1,11,16,24)(2,18,5,6)(3,17,8,7)(4,12,9,10) ], + [ (1,2)(3,4,5,6)(7,8)(9,10,11,12)(13,14)(15,16)(17,18)(19,20), (1,21,3)(2,17,6)(4,15,18)(5,16,22)(7,23,9)(8,19,12)(10,14,20)(11,13,24), (1,13)(2,8)(3,9,5,11)(4,10,6,12)(7,16)(14,15)(17,18)(23,24) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21), (1,22,8,16)(2,23,14,18,7,24,9,21)(3,25,13,20,6,26,10,19)(4,27,12,15,5,28,11,17) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,41,7,24,21)(2,15,25,14,18)(3,8,39,11,40)(4,23,6,31,38)(5,16,10,34,20)(9,32,28,37,19)(12,26,29,30,36)(13,33,35,27,22) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,14,22,25)(2,19,7,8)(3,17,23,20)(4,15,26,18)(5,24,12,27)(6,16,9,21) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,4,5,13,11,12,3,14,2,15,16,9,8,6,7) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24), (1,10,3,25)(2,18,4,20)(5,9,11,8)(6,23,12,21)(7,13)(14,16)(15,17,19,22) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,16)(2,20)(3,19)(4,18)(5,17)(6,11)(7,15)(8,14)(9,13)(10,12), (1,6,21,16)(2,8,22,17)(3,10,23,18)(4,7,24,19)(5,9,25,20)(12,15)(13,14) ], + [ (1,2)(3,4,5,6), (2,7,4,8)(6,9) ], + [ (1,2,3,4,5), (1,2,6)(7,8) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,6,9,13,11)(2,5,4,14,8)(3,15,7,16,17)(10,18,12,19,20) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16)(17,18,19,20)(21,22)(23,24)(25,26)(27,28), (1,29,13,9,30)(2,31,24,20,16)(3,32,26,11,33)(4,34,28,18,15)(5,35,27,10,36)(6,37,14,19,21)(7,38,23,12,39)(8,40,25,17,22) ], + [ (1,2,3,4)(5,6)(7,8)(9,10)(11,12,13,14)(15,16)(17,18,19,20)(21,22,23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36), (1,7,11,15,37)(2,25,20,16,38)(3,28,13,30,39)(4,33,18,29,40)(5,23,26,19,31)(6,21,34,17,35)(8,12,36,10,24)(9,22,27,14,32) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,17,61)(2,62,24)(3,48,63)(4,54,51)(5,10,33)(6,41,29)(7,18,34)(8,15,55)(9,42,21)(13,14,53)(16,25,30)(19,43,46)(20,39,57)(22,28,40)(23,45,31)(26,60,32)(27,49,52)(35,56,38)(36,59,47)(37,64,50) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35), (1,2,5,9,15)(3,14,36,10,7)(4,8,11,6,12)(16,23,35,37,29)(17,33,26,22,38)(18,39,21,28,31)(19,30,40,34,25) ], + [ (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38,39), (1,4,10,7)(2,27,5,36)(3,24,12,15)(6,21,9,18)(8,30,11,33)(13,34,19,25)(14,20)(16,28,22,31)(26,38,29,39)(32,40,35,37) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,15,5,13)(2,17,21,18)(3,12,8,19)(4,16,10,22)(6,11)(7,14,9,20) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120), (1,85,32,38,76,86,41,11,70,59,94,2)(3,29,5,103,65,31,57,92,28,120,47,49)(4,75,67,115,48,46,78,7,102,96,55,22)(6,63,83,39,16,95,82,34,25,106,109,81)(8,87,52,53,71,79,33,24,62,72,61,18)(9,42,21,12,27,93,107,117,44,30,26,45)(10,98,105,66,84,40,58,20,17,43,36,97)(13,68,99,114,74,50,119,111,37,23,64,88)(14,77,108,104,19,54,89,118,91,112,60,73)(15,110,35,90,121,51,69,56,116,80,100,113) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20), (1,6,2,11,21,13)(3,5,16,15,14,20)(4,22,9,12,8,23)(7,10,19,24,25,17) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51), (1,4,8)(2,45,10,14,16,52)(3,18,15,47,42,35)(5,34,48,12,29,13)(6,17,28,21,50,37)(7,11,26,49,20,43)(9,39,27,44,24,30)(19,23,36,32,46,22)(25,33,41,40,31,38) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24), (1,2,12,7,25,26,5,21)(3,27,23,10,28,4,20,18)(6,17)(8,14,24,16,19,13,9,15) ], + [ (1,2,3,4,5,6,7,8,9,10,11)(12,13,14,15,16,17,18,19,20,21,22), (1,2,3,10,23,12,9,6,17,24,5)(4,19,8,20,7,21,11,13,18,22,16) ], + [ (1,2,3,4)(5,6,7,8,9,10,11,12)(13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28)(29,30,31,32,33,34,35,36)(37,38,39,40,41,42,43,44)(45,46,47,48,49,50,51,52)(53,54,55,56,57,58,59,60)(61,62,63,64,65,66,67,68)(69,70,71,72,73,74,75,76)(77,78,79,80,81,82,83,84)(85,86,87,88,89,90,91,92)(93,94,95,96,97,98,99,100), (1,71,90,50,62,40,83,101)(2,78,27,96,89,8,67,63)(3,49,34,102,9,20,7,38)(4,80,84,60,94,6,29,21)(5,17,57,42,93,51,81,43)(11,70,55,48,22,37,28,16)(12,31,82,85,35,58,23,54)(13,53,69,64,19,95,72,32)(14,92,39,79,52,26,75,97)(15,99,73,86,18,88,44,36)(24,46,66,74,68,45,30,76)(25,65,56,91,33,87,61,98)(41,59,47,77) ], + [ (1,2,3,4,5), (1,2,6,7,8) ], + [ (1,2,3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18,19,20)(21,22,23,24,25,26,27,28,29,30)(31,32,33,34,35,36,37,38,39,40)(41,42), (1,5)(2,22)(3,13)(4,40)(6,10)(7,33)(8,14)(9,23)(11,37)(16,36)(17,25)(20,30)(26,42)(27,35)(28,38)(29,41) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,3,2,15,8,5,13,11)(4,9,16,17,18,19,6,20)(7,21,14,10) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32), (1,33,21,8,19,26,30,5)(2,34,10,25,35,13,36,18)(3,28,16,37,38,39,9,6)(4,23,40,27,11,14,29,32)(7,41,24,20)(12,17)(15,42,22,31) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40), (1,41,6,19,25)(2,23,36,5,22)(3,10,20,42,16)(4,30,37,43,7)(8,24,44,35,14)(9,18,12,34,45)(13,46,32,27,39)(15,47,26,33,40)(31,48,49,38,50) ], +]; diff --git a/data/incomplete/read.g b/data/incomplete/read.g deleted file mode 100644 index 0c92d27..0000000 --- a/data/incomplete/read.g +++ /dev/null @@ -1,8 +0,0 @@ -ReadPackage( "SmallClassNr", "data/incomplete/atlasname.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/code.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/gens.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/idgroup.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/perfgrp.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/primgrp.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/size.g" ); -ReadPackage( "SmallClassNr", "data/incomplete/transgrp.g" ); diff --git a/data/incomplete/atlasname.g b/data/unverified/atlasname.g similarity index 95% rename from data/incomplete/atlasname.g rename to data/unverified/atlasname.g index 1806891..338afdb 100644 --- a/data/incomplete/atlasname.g +++ b/data/unverified/atlasname.g @@ -291,6 +291,16 @@ SCN.Data.AtlasName[ 17 ] := [ "2.L2(13)", , , + , + , + , + , + , + , + , + , + , + , "L2(16)", , "L2(29)", @@ -465,6 +475,7 @@ SCN.Data.AtlasName[ 18 ] := [ , , , + , "L2(31)", , "7^2:2.L2(7)", @@ -620,15 +631,29 @@ SCN.Data.AtlasName[ 19 ] := [ , , , + , + , + , + , + , "L2(17).2", , , , , , + , + , + , + , + , + , + , + , "2.Sz(8)", , , + , "U3(5).2", , ]; @@ -828,13 +853,26 @@ SCN.Data.AtlasName[ 20 ] := [ , , , + , + , + , + , + , + , + , + , + , + , "U4(2)", , , , , , + , + , "U3(4).2", , + , "U4(3)", ]; diff --git a/data/incomplete/code.g b/data/unverified/code.g similarity index 87% rename from data/incomplete/code.g rename to data/unverified/code.g index 882e3b1..44b0696 100644 --- a/data/incomplete/code.g +++ b/data/unverified/code.g @@ -289,6 +289,16 @@ SCN.Data.Code[ 17 ] := [ 18149844275036194682112023831696263229001760955645919295, 33187778302317166806315933306012844093381597, , + 847351974283089703167057700763628289533356032104573478260828111910195384920600735708615257092781808150342108401997312, + 564822668590854162158215349232906341290597064651566065262380237870666271078862320239451653542839695191646222907971072, + 282687099100144273957891798089062164465517511674720746593416809934557975785767175382264123328540194437309578721203712, + 932523084493867421030642168676682048468012868856301742732816589790532461800585077234822974133760, + 6140475264012298195552630389941463414536566664689500082369292310324751829270328810284261449582564612283904, + 20256088628319440643716183606213323586623385176199469163357641977606735535508324670976, + 565058941060880582026138283456047618685913181339488820020566526378664919685013494490752502924307724949656657873704448, + 8684640549161808266112153702584166066845274405901340775691090819831659284244312153600, + 12274103527573285337889531127239166694240798397692952025439671701193631601549649367269342005050233522066944, + 5791376188044401706578800345093727689231902557093430797187288665408612012778705182208, 75428245921659838257686697895911276072991492621354881556973055126472770184799619198991753157401426153058144802959, 659750251167502528920023497421972260488049515870345554173718847211257754654001591263535947620421151, , @@ -455,6 +465,7 @@ SCN.Data.Code[ 18 ] := [ 1328120992597310701893175670091958388440446311266501899867796794619246404168450241109403668646430782916533263, 197682236981178570871114075799863979664281512262658956534670806028115909199724077566408463750642933263, 209225241254991179891022817921014418395346465385094512794450896713533985833288533, + 6404653356928260217447108821847672825463935958173508474077108132391514652999809778570780508049461083386180941175156882224444370944, 367525374740808951497331239238392575836101014656579545516372228085894677132064839555, 367525457678973836295597515456447449194762805163758247555095536637461435910739974019, , @@ -609,21 +620,34 @@ SCN.Data.Code[ 19 ] := [ 14608410588425045904241813970719914835674060253163867886128896, 118551761890306276548244555475947621056620358294686812190810556708722853399122449177375, 2766713850770625657753810601863737363226586189741667022388367627732812575, + 14671794307987411158474725096984898120009348764216574581864817938059812996441433010525971853528265348477392581232951052930901760, 163921939668759904833053620463685222415470847, 163921939700133291622736150664888325913710847, 163954707700519010725113158147100168035258623, 82018323700519010725113158147100168035258623, + 303660631844584535434692046713000979126552695104207231242032704767626712156225687671820218973545323958108160, + 118617434314290803970828163875750818425916944628289797322396270675576125369897388825028822058621465264128, , , , 3590130127317547724996628952093759962750284327014721699967, , , + , + , 369782594681157078043335065278667993350454848303391, , 556588889441702760302284160483399638986571876648773424691933883368933207158950440878175, 3279316749921147173024506878318268563985551762677825805484287, 246273440578259718760038376981231280454723251144954726904168948294459120585342607549037261719860895634339, + 21797776496458196019962040626888482362613783480321273442574700992622537857441735841929871474664699651215770604451, + 585921049410078682447473369068797542909372016793585012975752970058556517657628608453637732447440600581579036419825999771843851172154434756344444203039791898698240, + 284462753929760782742184645710100013434965532347383689178739209879613106794293183628342699514280939206961514024658630835131893765572600320, + 471380196745921587598632568633910948686675819559253086076605059040399601537413709222416710145759009422881770574859575300188265542480088125039095349760, + 228853544431119007387534810236049087676065704806211668626511057428411063805625752051677359375199723081389730852208911379563008, + 381401291728773213725470710847757925539837893025096780642693169331595863818310354926938212555626302353579992989273915687404032, + 117916290059000112306771784201308126360767616226745428103823627172071248359702958575073674306514694421841555468664658312577847706777638902303546417664, + 76319984322177974595841734905989178574163381990694284124815063476480856579808983679855880977891443279127372922115071063851520, , 135495702889374728943208176227696154601062434995118597919355258993757027691397639278488255345637571, , @@ -631,6 +655,7 @@ SCN.Data.Code[ 19 ] := [ , , , + , ]; SCN.Data.Code[ 20 ] := [ @@ -817,7 +842,14 @@ SCN.Data.Code[ 20 ] := [ 38070561953869678295719619580044212018849893976437513938318619389301536565441057984, 271245143724215495517529839335460092195224071171848906542102336704, 343821767727030923019040517126774170082843647137585055157317386832731344942791127455835328, + 97445383541125318219338170978223244544359654871001582313059831711771366196263685380271417034564323660389946871412695754539983301120, + 10325684392836392531854647634106026177338457623693845782074433971962877440008612859623979541752469221771379010937195925178880, + 919310759687026629732059986656544758904999584812639721432033465601602230813987853892887078638887401729760608668731062373366387780796770816, + 97413673367715054233775129243725308276605887889056948163928439301203882824744834064396371224090178414747774669505681551990009653760, 5571859236605625215460813723023291183501403191136175297366040864064428854575875155497208518538663358169687265728, + 532896860570458310003488969698230807330847087181166382481376435622250495833207483542993109032448, + 251440470757677264793935886944259414478096379684813003315079714384117292544, + , , 2051497083538027724506228522459035133269549141947972119232710706664969435102482323478226664721530755826399110084586527, , @@ -826,7 +858,12 @@ SCN.Data.Code[ 20 ] := [ , , 1549900337673677610834522489907602490414923417037595251822849506706045093571199231, + 480019080486139151163660271821733951565615037673680919194047094304551068106727276960369432507752037132792499541, 204010611011021354975367844751940495880793926181647139475967, + 728311157262530872109701905447543779359198365169394315923845453006998048640072290405265757685924471438420224335119579874690219494874466990395698979242270879171855109267399168, + 13075202140497396565515496333802154255982951700252387954841295982628165095783311734669713504264470685994156836127601283977341904772913843149887, + , + , , , , @@ -835,6 +872,7 @@ SCN.Data.Code[ 20 ] := [ , , , + 2380913215803713792560364248204356724584533226049538433953015395546237956190910281521804098765419898981819428930432357944398827830171821785773542448440333724191882674325947724735153484066180150671424042984007767676692781412688511456620578102143152867893161411046238452668888881684807376861819008965267907902201271413251711044148664443041923103861790968999936, , , ]; diff --git a/data/incomplete/gens.g b/data/unverified/gens.g similarity index 82% rename from data/incomplete/gens.g rename to data/unverified/gens.g index 477d162..8e91f1f 100644 --- a/data/incomplete/gens.g +++ b/data/unverified/gens.g @@ -289,6 +289,16 @@ SCN.Data.Gens[ 17 ] := [ [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40), (1,26,31,41,10,27,35,28)(2,42,15,6,29,23,30,5)(3,38,4,17,36,37,14,43)(7,13,21,33,44,34,22,11)(8,45,24,46)(9,47,32,20,16,39,12,19)(18,48,40,49)(25,50) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24), (1,12,4,3,18,22,21,6,25,15,17,5,20,10,11,26,14,23,19,9,24,16,2,8,7,27) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48), (1,19,24)(2,49,44)(3,50,5)(4,11,51)(6,15,46)(7,41,52)(8,12,53)(9,21,28)(10,39,35)(13,29,31)(17,34,43)(18,47,40)(23,27,38)(25,32,54)(26,42,55)(33,56,45) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28)(29,30)(31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46)(47,48)(49,50)(51,52)(53,54,55,56)(57,58)(59,60)(61,62)(63,64,65,66)(67,68)(69,70)(71,72)(73,74)(75,76)(77,78)(79,80)(81,82)(83,84,85,86)(87,88,89,90)(91,92)(93,94,95,96)(97,98)(99,100,101,102)(103,104)(105,106)(107,108,109,110)(111,112)(113,114)(115,116)(117,118)(119,120)(121,122,123,124)(125,126,127,128)(129,130,131,132)(133,134,135,136)(137,138,139,140)(141,142)(143,144,145,146)(147,148)(149,150)(151,152)(153,154,155,156)(157,158,159,160)(161,162,163,164)(165,166,167,168)(169,170,171,172)(173,174,175,176)(177,178)(179,180)(181,182,183,184)(185,186)(187,188)(189,190)(191,192,193,194)(195,196)(197,198)(199,200)(201,202,203,204)(205,206,207,208), (1,21,31,41,58,113,86)(2,173,179,56,209,92,139)(3,19,61,43,57,67,84)(4,175,185,54,210,52,137)(5,13,42,211,72,83,9)(6,200,201,115,151,90,167)(7,45,44,212,117,85,11)(8,178,203,116,111,88,165)(10,170,187,55,78,73,138)(12,172,196,53,77,103,140)(14,193,79,105,64,121,162)(15,47,25,60,118,94,143)(16,195,208,213,112,101,122)(17,29,23,59,71,96,145)(18,188,206,214,152,99,124)(20,190,204,215,142,87,136)(22,198,202,216,70,89,134)(24,217,68,93,128,33,49)(26,218,114,95,126,35,27)(28,183,76,97,108,135,174)(30,182,219,148,109,166,169)(32,194,220,149,63,157,153)(34,180,205,120,141,100,160)(36,186,207,119,69,102,158)(37,82,91,130,127,154,197)(38,221,104,131,144,163,199)(39,81,51,132,125,156,189)(40,222,74,129,146,161,177)(46,191,80,147,66,123,164)(48,184,223,106,107,168,171)(50,181,75,150,110,133,176)(62,192,224,98,65,159,155) ], + [ (1,2,3,4)(5,6)(7,8)(9,10)(11,12)(13,14,15,16)(17,18)(19,20)(21,22)(23,24,25,26)(27,28,29,30)(31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66)(67,68)(69,70)(71,72)(73,74)(75,76)(77,78)(79,80,81,82)(83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96), (1,97,64,19,98,89,56)(2,84,61,66,31,95,38)(3,99,62,76,100,91,54)(4,83,63,9,32,93,40)(5,15,53,85,7,60,12)(6,13,55,87,8,58,67)(10,101,81,34,42,21,27)(11,102,92,51,46,69,24)(14,52,41,103,28,20,71)(16,50,43,104,30,75,72)(17,77,94,35,47,105,25)(18,106,80,39,88,107,57)(22,29,65,108,79,36,44)(23,74,78,96,33,45,109)(26,68,110,90,49,48,70)(37,86,111,59,73,112,82) ], + [ (1,2)(3,4)(5,6,7,8)(9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98)(99,100)(101,102)(103,104)(105,106)(107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120)(121,122,123,124)(125,126,127,128)(129,130,131,132)(133,134)(135,136,137,138)(139,140)(141,142,143,144)(145,146,147,148)(149,150)(151,152)(153,154)(155,156)(157,158)(159,160,161,162)(163,164,165,166)(167,168)(169,170)(171,172)(173,174)(175,176)(177,178)(179,180)(181,182)(183,184)(185,186)(187,188)(189,190)(191,192)(193,194)(195,196)(197,198)(199,200)(201,202)(203,204)(205,206)(207,208), (1,51,34,111,192,129,209)(2,43,124,65,167,138,181)(3,203,56,85,71,191,163)(4,208,58,87,69,149,165)(5,48,68,154,125,180,193)(6,11,80,168,160,210,204)(7,50,66,151,127,179,196)(8,13,78,100,162,211,207)(9,91,74,115,104,95,212)(10,17,82,63,101,144,188)(12,114,106,166,213,172,27)(14,116,98,164,214,189,25)(15,84,61,139,142,187,46)(16,35,118,107,135,215,183)(18,33,120,170,137,216,198)(19,88,64,108,161,185,190)(20,39,117,102,128,217,200)(21,86,62,169,159,186,171)(22,37,119,140,126,218,205)(23,53,36,109,150,131,219)(24,41,122,67,99,136,182)(26,49,32,156,148,174,206)(28,47,30,103,146,173,199)(29,105,132,175,197,90,123)(31,97,130,176,184,92,121)(38,112,134,145,220,195,55)(40,110,60,147,221,194,57)(42,73,79,153,141,222,177)(44,75,77,152,143,223,201)(45,89,76,113,155,93,224)(52,81,70,59,96,158,178)(54,83,72,133,94,157,202) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63), (1,52,49,34,62,24,2)(3,51,28,17,40,45,53)(4,8,38,50,31,63,20)(5,61,42,58,46,16,19)(6,47,11,30,21,13,35)(7,37,39,36,54,15,64)(9,29,27,25,44,26,56)(10,43,41,14,57,18,60)(12,33,48,59,22,32,55) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63), (1,43,17,13,34,57,54)(2,61,3,8,7,4,50)(5,48,40,12,56,30,24)(6,45,64,35,44,26,39)(9,58,22,36,20,29,25)(10,27,42,47,49,15,59)(11,31,53,60,38,33,32)(14,55,19,28,63,46,52)(16,21,51,23,41,37,62) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63), (1,31,49,14,62,51,41)(2,64,34,32,8,35,23)(3,25,24,12,6,10,54)(4,37,15,52,16,61,20)(5,22,18,13,58,43,29)(7,28,19,33,55,63,39)(9,60,57,59,40,53,48)(11,21,45,42,30,26,56)(17,44,47,50,27,46,38) ], + [ (1,2)(3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18)(19,20)(21,22,23,24)(25,26)(27,28,29,30)(31,32,33,34)(35,36)(37,38)(39,40,41,42)(43,44,45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60)(61,62,63,64)(65,66)(67,68)(69,70,71,72)(73,74)(75,76,77,78)(79,80)(81,82,83,84)(85,86)(87,88)(89,90)(91,92)(93,94,95,96)(97,98)(99,100)(101,102)(103,104,105,106)(107,108,109,110)(111,112)(113,114,115,116)(117,118,119,120)(121,122,123,124)(125,126)(127,128,129,130)(131,132)(133,134)(135,136)(137,138,139,140)(141,142)(143,144)(145,146,147,148)(149,150,151,152)(153,154,155,156)(157,158,159,160)(161,162,163,164)(165,166)(167,168,169,170)(171,172)(173,174,175,176)(177,178)(179,180)(181,182)(183,184)(185,186)(187,188)(189,190)(191,192,193,194)(195,196,197,198)(199,200)(201,202)(203,204)(205,206)(207,208), (1,25,96,100,83,48,22)(2,80,94,60,81,50,24)(3,141,196,73,193,7,9)(4,90,198,97,191,5,11)(6,170,209,89,164,67,119)(8,168,210,142,162,92,117)(10,172,188,161,68,194,40)(12,171,178,163,91,192,42)(13,20,129,110,146,211,17)(14,19,69,115,43,65,112)(15,182,127,108,148,212,37)(16,181,71,113,45,66,134)(18,33,189,70,109,44,186)(21,201,204,155,131,82,78)(23,202,207,153,144,84,76)(26,154,132,122,49,58,213)(27,88,152,64,106,85,126)(28,135,159,138,54,214,165)(29,136,150,62,104,86,101)(30,87,157,140,52,215,36)(31,180,72,107,46,185,38)(32,190,128,114,147,216,133)(34,179,130,116,145,217,111)(35,174,184,149,139,103,199)(39,167,218,177,197,98,118)(41,169,219,187,195,74,120)(47,56,220,79,156,143,124)(51,221,125,175,205,158,61)(53,222,102,173,183,160,63)(55,223,208,95,99,121,77)(57,224,203,93,59,123,75)(105,200,166,176,206,151,137), (1,209,2,210)(3,220,4,213)(5,137,7,139)(6,140,8,138)(9,56)(10,55)(11,58)(12,57)(13,95,15,93)(14,96,16,94)(17,188,37,178)(18,187,38,177)(19,92)(20,68)(21,169)(22,168)(23,167)(24,170)(25,36,80,165)(26,35,79,166)(27,161,29,163)(28,162,30,164)(31,153,33,155)(32,154,34,156)(39,61,41,63)(40,64,42,62)(43,54)(44,53)(45,52)(46,51)(47,114,49,116)(48,113,50,115)(59,88)(60,135)(65,215,66,214)(67,181)(69,71)(70,72)(73,179)(74,189)(75,110,77,108)(76,109,78,107)(81,83)(82,84)(85,211,86,212)(87,100)(89,112,142,134)(90,111,141,133)(91,182)(97,190)(98,180)(99,136)(101,203,126,208)(102,204,125,207)(103,145)(104,148)(105,147)(106,146)(121,123)(122,124)(127,129)(128,130)(131,205)(132,184)(143,206)(144,183)(171,224,172,223)(173,195,175,197)(174,196,176,198)(185,222,186,221)(199,217,200,216)(201,218,202,219) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56), (1,57,33,3,12,54,28)(2,58,52,32,11,46,27)(4,17,41,25,5,59,9)(6,60,47,31,18,16,26)(7,53,24,21,61,48,13)(8,45,23,22,62,10,20)(14,43,42,29,35,63,51)(15,30,36,64,34,19,44)(37,40,39,55,38,56,50), (1,55,63,43,25,32,51)(2,56,58,18,24,31,9)(3,48,35,40,60,17,27)(4,33,36,39,61,44,30)(5,38,62,11,26,20,47)(6,37,59,7,23,19,34)(8,28,13,52,21,49,57)(10,22,50,64,12,29,14)(15,42,46,16,54,53,41) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22)(23,24,25,26)(27,28)(29,30)(31,32,33,34)(35,36)(37,38,39,40)(41,42)(43,44,45,46)(47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62)(63,64,65,66)(67,68,69,70)(71,72,73,74)(75,76,77,78)(79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106)(107,108,109,110)(111,112)(113,114)(115,116)(117,118)(119,120)(121,122,123,124)(125,126)(127,128)(129,130,131,132)(133,134)(135,136,137,138)(139,140)(141,142)(143,144,145,146)(147,148)(149,150,151,152)(153,154)(155,156)(157,158)(159,160)(161,162,163,164)(165,166)(167,168)(169,170,171,172)(173,174)(175,176,177,178)(179,180)(181,182)(183,184,185,186)(187,188)(189,190)(191,192)(193,194)(195,196)(197,198)(199,200)(201,202)(203,204)(205,206)(207,208), (1,209,135,181,27,46,32)(2,210,12,80,195,43,109)(3,211,137,191,179,44,34)(4,212,10,188,208,45,107)(5,48,123,168,202,57,20)(6,126,88,158,200,60,101)(7,47,121,41,119,59,18)(8,125,86,62,154,58,103)(9,182,180,25,108,84,213)(11,192,28,23,110,82,214)(13,215,78,113,35,40,170)(14,216,69,118,139,37,150)(15,217,76,147,160,38,172)(16,218,67,205,198,39,152)(17,92,189,124,61,153,52)(19,90,190,122,157,199,50)(21,203,71,95,98,156,143)(22,204,55,130,66,142,175)(24,31,83,219,136,187,196)(26,33,81,220,138,79,207)(29,56,96,65,193,144,134)(30,72,131,97,165,176,133)(36,162,151,185,221,68,148)(42,120,49,104,91,112,87)(51,102,89,111,85,167,201)(53,132,64,141,177,115,174)(54,94,63,194,146,106,128)(70,114,159,164,149,183,222)(73,93,100,155,145,116,173)(74,129,99,166,178,105,127)(75,206,140,163,169,186,223)(77,117,197,161,171,184,224), (1,186,3,184)(2,185,4,183)(5,100,7,98)(6,99,8,97)(9,86)(10,85)(11,88)(12,87)(13,83,15,81)(14,82,16,84)(17,32)(18,31)(19,34)(20,33)(21,79,116,187)(22,80,115,188)(23,39,25,37)(24,38,26,40)(27,29,179,128)(28,30,180,127)(35,202,160,119)(36,201,159,120)(41,147,168,113)(42,148,167,114)(43,164,45,162)(44,163,46,161)(47,48)(49,55,51,53)(50,54,52,56)(57,73,59,71)(58,72,60,74)(61,117,157,206)(62,118,158,205)(63,90,65,92)(64,89,66,91)(67,178)(68,177)(69,176)(70,175)(75,144)(76,143)(77,146)(78,145)(93,170)(94,169)(95,172)(96,171)(101,110)(102,109)(103,108)(104,107)(105,182,133,192)(106,181,134,191)(121,136)(122,135)(123,138)(124,137)(125,126)(129,152)(130,151)(131,150)(132,149)(139,154,198,200)(140,153,197,199)(155,156)(165,166)(173,207,203,196)(174,208,204,195)(213,214)(215,217)(216,218)(219,220) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56), (1,43,49,56,47,57,9)(2,44,35,41,14,58,40)(3,54,24,19,33,59,30)(4,53,16,28,22,60,45)(5,11,23,27,34,61,46)(6,12,15,20,21,62,29)(7,31,36,55,13,63,10)(8,32,50,42,48,64,39)(18,37,26,38,52,51,25), (1,23,9,61,19,18,48)(2,35,10,63,27,38,33)(3,16,40,57,41,52,22)(4,50,39,60,55,26,13)(5,24,45,62,20,37,34)(6,36,46,64,28,17,47)(7,49,29,59,56,51,21)(8,15,30,58,42,25,14)(11,32,12,43,44,31,53) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56)(57,58)(59,60)(61,62)(63,64)(65,66)(67,68)(69,70)(71,72), (1,7)(2,16,65,55,24,42)(3,6,48,58,73,51)(4,74,62,13,72,26)(5,37,33,70,28,35)(8,18,68,75,52,19)(9,45,32,61,40,67)(10,15,11,76,21,36)(12,23,71,27,29,17)(14,44,50,53,49,59)(20,25,22,77,41,78)(30,79,80,43,38,57)(31,54,34,66,47,56)(46,81,60,69,64,63) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38)(39,40,41,42)(43,44,45,46)(47,48)(49,50,51,52), (1,26,2,34,18,25,53,27)(3,30,19,44,17,5,20,37)(4,29)(6,47,8,15,49,22,45,39)(7,16,32,9,52,48,50,21)(10,33,12,28,41,54,13,36)(11,38,23,43,40,31,42,51)(14,35)(24,46) ], [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15), (1,2,13,7,6)(3,15,8,9,4)(5,16,17,10,14) ], @@ -455,6 +465,7 @@ SCN.Data.Gens[ 18 ] := [ [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,2,4,9,13,3,14,15)(5,7,8,16,17,6,18,12), (1,16,3,11)(2,5,4,8)(6,10,17,9)(7,13,18,14)(12,15) ], [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16), (1,14,7,12,5,9,3,13)(2,11,8,10,6,17,4,16)(15,18) ], [ (1,2)(3,4,5,6,7,8,9,10)(11,12,13,14,15,16,17,18)(19,20,21,22,23,24,25,26)(27,28,29,30,31,32,33,34)(35,36)(37,38,39,40,41,42,43,44), (1,5,17,4,25,7,11,45)(2,29,26,39,16,37,20,33)(3,15,9,13,10,23,6,19)(8,21)(12,31)(14,27,18,43,24,35,22,41)(28,32,40,38,30,42,36,34) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34)(35,36,37,38)(39,40,41,42)(43,44,45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60,61,62), (1,8,36,25)(2,19,43,37)(3,34,12,41)(4,50,33,10)(5,61,16,9)(6,20,57,24)(7,30,49,46)(11,45,59,18)(13,14,52,39)(15,51,26,23)(17,29,27,48)(21,63,62,22)(28,42,44,56)(31,58)(32,55,35,54)(40,64,60,47) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48), (1,9,39)(2,4,18)(3,36,14)(5,20,40)(6,47,32)(7,25,44)(8,10,11)(12,24,29)(13,49,17)(15,45,21)(16,33,23)(19,43,31)(22,46,30)(26,41,35)(27,37,28)(34,38,42)(50,51) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48), (1,11,48,3,32,15,36,26)(2,39,13,17,24,45,22,47)(4,38,29,40,14,16,35,31)(5,21,43,8,42,23,9,7)(6,27,20,28,46,30,10,12)(18,49,33,37,44,19,34,41)(50,51,52,53) ], [ (1,2,3), (3,4,5,6,7)(8,9) ], @@ -609,26 +620,40 @@ SCN.Data.Gens[ 19 ] := [ [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,3,4,13)(5,9,14,7,8,11,15,6) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80), (1,57,33,39)(2,53,75,43)(3,49,68,45)(4,73,69,13)(5,9,36,14)(6,61,48,59)(7,29,30,66)(8,35,20,79)(10,50,54,23)(11,80,37,70)(12,46,32,22)(15,65,40,21)(16,17,51,78)(19,24,38,81)(25,56,47,76)(26,28,27,63)(31,67,58,77)(34,74,64,41)(42,62,72,55)(44,60,71,52) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26), (1,27,24,9)(2,5,13,6)(3,12,17,8)(4,19,20,22)(7,25,10,23)(14,18,26,15) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56)(57,58)(59,60)(61,62)(63,64)(65,66)(67,68)(69,70)(71,72)(73,74)(75,76)(77,78)(79,80), (1,3,81)(2,58,82,17,41,28,18,73,15)(4,83,9,26,46,48,25,72,40)(5,57,84,36,13,85,59,80,86)(6,53,87,66,12,45,68,11,71)(7,74,50,65,29,24,60,14,88)(8,55,51,35,31,89,67,75,70)(10,76,23,37,62,90,22,43,49)(16,19,63,91,78,56,27,77,44)(20,54,92)(21,42,52,34,79,93,47,30,69)(32,94,39,64,95,33,61,96,38) ], [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15), (1,9)(2,6)(3,8)(4,10)(5,7)(11,16)(12,17)(13,18)(14,19)(15,20)(21,22)(23,24), (1,10,25,19)(2,9,24,18)(3,8,21,17)(4,7,22,16)(5,6,23,20)(11,12,15,14) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16)(17,18,19,20)(21,22,23,24), (1,22)(2,12,4,10)(3,16,11,8)(5,25,21,18)(6,9,24,13)(7,19)(15,20,23,17) ], [ (1,2,3,4)(5,6)(7,8,9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30)(31,32,33,34)(35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120)(121,122,123,124), (1,11,30,87)(2,65,61,40)(3,74,23,117)(4,45,111,94)(5,57,69,83)(6,105,78,106)(7,81,28,41)(8,125,70,38)(9,121,77,59)(10,46,102,39)(12,44,55,73)(13,64)(14,124,36,86)(15,50,96,109)(16,24,48,63)(17,115,68,80)(18,27,108,20)(19,85,71,33)(21,91,110,76)(22,66,104,93)(25,35,112,54)(26,95)(29,67,52,107)(31,79,100,116)(32,120,60,75)(34,97,122,58)(37,113,47,72)(42,82,92,90)(43,62,119,51)(49,56,101,123)(53,84,88,99)(89,114,98,103) ], [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30)(31,32,33,34)(35,36,37,38)(39,40,41,42)(43,44,45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60,61,62)(63,64,65,66)(67,68,69,70)(71,72,73,74)(75,76,77,78)(79,80,81,82)(83,84,85,86)(87,88,89,90)(91,92,93,94)(95,96,97,98)(99,100,101,102)(103,104,105,106)(107,108,109,110)(111,112,113,114)(115,116,117,118)(119,120,121,122)(123,124), (1,11,67,118)(2,35,74,102)(3,100,114,17)(4,103,26,51)(5,49,122,37)(6,60,80,59)(7,27,77,47)(8,14,20,125)(9,15,19,107)(10,54)(12,76,88,42)(13,73,115,92)(16,65,98,48)(18,108,50,36)(21,43,41,34)(22,89,78,52)(23,58,39,29)(24,90,111,61)(25,109,79,95)(28,85,99,63)(30,38,33,55)(31,96,123,101)(32,93,66,81)(40,105,113,87)(44,46,57,83)(45,112,84,75)(53,82,117,119)(56,68,64,91)(62,121,106,94)(69,104,71,116)(70,97)(72,124,120,86) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,31,2,8,29)(3,15,12,5,7)(4,13,28,27,20)(6,22,32,23,26)(9,14,25,19,10)(16,18,21,30,24) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30), (1,10,19,31,12)(2,27,17,22,3)(4,11,32,20,7)(5,16,24,30,18)(6,13,28,21,15)(8,23,14,26,9) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,2)(3,19,4,20,6,5)(7,21,22)(8,13,18)(9,12,15)(14,23,24) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24), (1,4,13)(2,15,3)(5,25,26)(6,11,27)(7,28,29)(8,9,30)(14,17,21)(16,19,23) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,11,8,2,5,13,14,12,15,9,7,3,16,4,6) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120), (1,104,67,120,65,115,114,18)(2,15,76,4,35,79,81,121)(3,111,84,56,14,62,68,83)(5,23,101,34,75,95,17,92)(6,74,90,93,107,10,25,59)(7,122,58,41,99,109,38,50)(8,77,123,11,112,9,31,19)(12,33,26,100,40,29,60,64)(13,110,20,87,72,66,16,61)(21,103,108,106,113,119,71,88)(22,98,49,124,47,91,80,118)(24,82,30,96,42,32,36,57)(27,63,28,54,44,39,116,37)(43,70,78,97,125,69,53,51)(45,105,86,52,94,46,73,48)(55,117,89,85) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30), (1,9,12,4,31,32)(2,24,13,20,18,33)(3,34,23,19,6,30)(5,8,25)(7,27,21,35,36,37)(10,22,38)(14,28,15)(16,26,17,39,40,29) ], [ (1,2,3,4)(5,6)(7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30), (1,23,30,31,5,13,3,19,32,33,34,10)(2,4,25)(6,15,28,21,29,35,36,12,26,17,37,38)(7,11,18,39,16,24)(8,9,22)(14,20,40) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46), (1,47,11,30,25)(2,12,48,49,35)(3,42,45,27,16,20,41,46,39,18)(4,6,50,21,28,19,7,51,33,40)(5,10,23,34,13,8,31,37,22,14)(9,15,24,52,53,32,17,38,54,55)(29,44,36,43,56) ], + [ (1,2)(3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34)(35,36,37,38)(39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54)(55,56)(57,58,59,60), (1,3,33,61,56)(2,40,62,4,63)(5,58,18,15,32)(6,11,50,27,14)(7,60,20,13,30)(8,9,52,25,16)(10,28,44,45,38)(12,26,42,47,36)(17,41,37,59,24)(19,43,35,57,22)(34,54,53,64,39) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24), (1,15,21,18,9,4,20,16)(2,14,3,13,19,17,10,23)(5,7,6,11,22,25,26,8)(12,24) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,13,5,14,6,3,10,12,17,7,4,2,9,18,15,8) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,29,31,30)(2,3,32,33)(4,5,8,15)(6,26,16,27)(7,18,21,11)(9,14,24,25)(10,17,23,13)(12,34,20,19) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60,61,62)(63,64,65,66)(67,68,69,70)(71,72,73,74)(75,76,77,78)(79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100), (1,98,88)(2,38,75)(3,27,80)(4,7,91)(5,77,16)(6,85,18)(8,60,56)(9,51,87)(10,73,68)(11,52,21)(12,99,86)(13,28,59)(14,37,79)(15,72,22)(17,100,96)(19,97,76)(20,29,95)(23,41,40)(24,49,81)(25,94,46)(26,92,34)(30,62,45)(31,63,43)(32,93,35)(33,54,69)(36,84,66)(39,65,50)(42,101,64)(44,82,61)(47,71,78)(48,53,89)(55,83,70)(57,74,90)(58,102,67) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51), (1,20,26,24,44,49,23,22)(2,41,9,43,16,14,38,5)(3,48,21,7,31,8,29,30)(4,18,37,46,34,28,32,35)(6,42,25,19,39,45,15,52)(10,53)(13,51,27,50,33,36,40,17) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56), (1,35,25)(2,17,36)(3,28,8)(4,21,44)(5,20,18)(6,43,51)(7,19,31)(9,57,39)(10,40,58)(11,59,37)(12,38,60)(13,47,14)(15,52,24)(16,32,23)(22,42,26)(27,48,45)(29,50,34)(30,55,41)(33,54,49)(46,53,61) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120)(121,122,123)(124,125,126)(127,128,129)(130,131,132)(133,134,135)(136,137,138)(139,140,141)(142,143,144)(145,146,147)(148,149,150)(151,152,153)(154,155,156)(157,158,159)(160,161,162)(163,164,165)(166,167,168)(169,170,171)(172,173,174)(175,176,177)(178,179,180)(181,182,183)(184,185,186)(187,188,189)(190,191,192)(193,194,195)(196,197,198)(199,200,201)(202,203,204)(205,206,207)(208,209,210)(211,212,213)(214,215,216), (1,178,60)(2,188,37)(3,164,5)(4,96,209)(6,76,152)(7,216,207)(8,121,170)(9,77,198)(10,81,28)(11,194,174)(12,175,161)(13,24,206)(14,201,95)(15,66,215)(16,72,173)(17,74,87)(18,35,54)(19,43,179)(20,126,128)(21,106,172)(22,139,119)(23,102,180)(25,55,42)(26,30,144)(27,168,68)(29,163,140)(31,61,58)(32,89,171)(33,135,150)(34,75,101)(36,165,82)(38,67,104)(39,205,83)(40,49,91)(41,148,217)(44,184,115)(45,59,122)(46,62,93)(47,151,118)(48,108,84)(50,125,146)(51,53,97)(52,133,212)(56,90,98)(57,183,200)(63,65,109)(64,159,116)(69,100,153)(70,147,218)(71,94,204)(73,117,162)(78,124,208)(79,141,136)(80,110,199)(85,131,197)(86,186,137)(88,187,160)(92,107,202)(99,120,189)(103,134,167)(105,156,138)(111,191,219)(113,143,123)(114,220,127)(129,196,166)(132,221,211)(142,210,176)(154,214,213)(155,203,190)(157,222,169)(177,181,223)(185,195,224) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,40,8)(2,10,33)(3,14,61)(4,5,58)(6,27,22)(7,38,34)(9,24,53)(11,45,62)(13,60,17)(15,48,56)(16,25,42)(18,59,39)(19,28,63)(20,64,43)(21,36,54)(23,32,52)(26,31,46)(29,35,49)(30,37,55)(44,57,47) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,61,22)(2,4,35)(3,49,13)(5,38,8)(6,52,34)(7,33,19)(9,58,21)(10,23,55)(11,59,42)(12,17,39)(14,36,30)(15,44,57)(16,62,54)(18,47,50)(20,53,45)(25,63,27)(26,43,60)(28,51,46)(29,37,31)(40,48,64) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,56,7)(2,36,5)(3,27,10)(4,32,19)(6,14,12)(8,50,31)(9,52,43)(11,45,61)(13,39,42)(15,37,34)(16,49,35)(17,58,21)(18,53,24)(22,23,29)(25,62,48)(26,38,60)(28,63,64)(30,41,47)(33,40,54)(46,51,57) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,14,61,62,32,50)(2,24,51,35,16,49)(3,53,20,34,55,21)(4,57,6,45,52,39)(5,59,46)(7,19,63,12,64,36)(8,56,33,22,15,54)(9,60,58,11,41,48)(10,17)(13,47,26,31,30,37)(18,25,28,23,44,42)(27,40,38) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120)(121,122,123)(124,125,126)(127,128,129)(130,131,132)(133,134,135)(136,137,138)(139,140,141)(142,143,144)(145,146,147)(148,149,150)(151,152,153)(154,155,156)(157,158,159)(160,161,162)(163,164,165)(166,167,168)(169,170,171)(172,173,174)(175,176,177)(178,179,180)(181,182,183)(184,185,186)(187,188,189)(190,191,192)(193,194,195)(196,197,198)(199,200,201)(202,203,204)(205,206,207)(208,209,210)(211,212,213)(214,215,216), (1,66,108,153,171,46,130)(2,93,17,49,63,154,193)(3,167,95,134,198,60,206)(4,50,9,203,170,44,211)(5,205,27,76,163,38,210)(6,112,192,184,181,80,133)(7,70,13,127,83,106,53)(8,168,22,109,117,131,216)(10,90,47,111,217,73,152)(11,105,57,160,159,71,174)(12,102,155,150,164,26,137)(14,78,19,148,34,145,158)(15,207,218,128,147,67,195)(16,110,21,209,82,104,87)(18,125,79,200,25,142,43)(20,204,58,178,183,54,88)(23,136,144,141,61,189,103)(24,179,39,92,157,176,162)(28,100,68,135,124,212,169)(29,194,62,56,33,98,132)(30,48,75,96,35,156,37)(31,165,107,180,219,151,129)(32,177,114,196,94,149,40)(36,51,220,146,74,118,215)(41,213,187,208,221,122,140)(42,77,72,89,182,126,120)(45,138,85,84,64,99,119)(52,65,214,116,113,69,173)(55,188,121,115,190,175,59)(81,166,222,201,186,97,161)(86,191,91,223,185,123,101)(139,199,172,197,143,202,224) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,33,51,7,37,28)(2,10,25,9,46,13)(3,59,52,61,34,41)(4,45,11,22,20,35)(5,17,8,23,57,62)(6,32,63,38,39,44)(12,43,24,48,19,31)(14,55,53)(15,56,30,54,50,16)(18,26,29)(21,60,36,64,47,58)(27,40) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20), (1,21,6,16,22,23,13,24,5,7,25,26)(2,19,11,14,20,4)(3,18,12,9)(8,27,10,15,28,17) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120)(121,122,123)(124,125,126)(127,128,129)(130,131,132)(133,134,135)(136,137,138)(139,140,141)(142,143,144)(145,146,147)(148,149,150)(151,152,153)(154,155,156)(157,158,159)(160,161,162)(163,164,165)(166,167,168)(169,170,171)(172,173,174)(175,176,177)(178,179,180)(181,182,183)(184,185,186)(187,188,189)(190,191,192)(193,194,195)(196,197,198)(199,200,201)(202,203,204)(205,206,207)(208,209,210)(211,212,213)(214,215,216)(217,218,219)(220,221,222)(223,224,225)(226,227,228)(229,230,231)(232,233,234)(235,236,237)(238,239,240)(241,242,243)(244,245,246)(247,248,249)(250,251,252)(253,254,255)(256,257,258)(259,260,261)(262,263,264)(265,266,267)(268,269,270)(271,272,273)(274,275,276)(277,278,279)(280,281,282)(283,284,285)(286,287,288)(289,290,291)(292,293,294)(295,296,297)(298,299,300)(301,302,303)(304,305,306)(307,308,309)(310,311,312)(313,314,315)(316,317,318)(319,320,321)(322,323,324)(325,326,327)(328,329,330)(331,332,333)(334,335,336)(337,338,339)(340,341,342)(343,344,345)(346,347,348)(349,350,351)(352,353,354)(355,356,357)(358,359,360)(361,362,363)(364,365,366)(367,368,369)(370,371,372)(373,374,375)(376,377,378)(379,380,381)(382,383,384)(385,386,387)(388,389,390)(391,392,393)(394,395,396)(397,398,399)(400,401,402)(403,404,405)(406,407,408)(409,410,411)(412,413,414)(415,416,417)(418,419,420)(421,422,423)(424,425,426)(427,428,429)(430,431,432)(433,434,435)(436,437,438)(439,440,441)(442,443,444)(445,446,447)(448,449,450)(451,452,453)(454,455,456)(457,458,459)(460,461,462)(463,464,465)(466,467,468)(469,470,471)(472,473,474)(475,476,477)(478,479,480)(481,482,483)(484,485,486)(487,488,489)(490,491,492)(493,494,495)(496,497,498)(499,500,501)(502,503,504)(505,506,507)(508,509,510)(511,512,513)(514,515,516)(517,518,519)(520,521,522)(523,524,525)(526,527,528), (1,122,55,374)(2,481,86,356)(3,185,367,397)(4,372,10,354)(5,77,428,39)(6,433,195,117)(7,270,54,476)(8,342,328,304)(9,310,192,351)(11,513,83,526)(12,277,392,346)(13,14,418,267)(15,19,142,80)(16,419,377,178)(17,233,59,387)(18,380,245,464)(20,407,486,102)(21,522,136,26)(22,396,175,468)(23,177,275,35)(24,365,370,79)(25,501,199,203)(27,294,225,230)(28,170,204,123)(29,34,112,46)(30,301,51,176)(31,300,405,273)(32,217,227,518)(33,344,58,324)(36,190,331,247)(37,475,292,503)(38,415,461,43)(40,255,208,347)(41,490,278,114)(42,384,454,319)(44,281,235,163)(45,200,514,257)(47,456,309,360)(48,423,128,69)(49,383,493,250)(50,411,485,521)(52,511,307,507)(53,482,263,525)(56,164,398,470)(57,444,158,499)(60,376,446,108)(61,519,251,320)(62,528,242,368)(63,498,120,308)(64,226,254,439)(65,431,132,166)(66,283,355,406)(67,353,529,426)(68,388,416,213)(70,96,101,323)(71,336,151,335)(72,106,76,457)(73,449,492,82)(74,129,224,459)(75,440,494,248)(78,222,349,430)(81,165,506,520)(84,181,361,295)(85,338,505,138)(87,460,289,147)(88,180,173,286)(89,130,215,402)(90,107,269,497)(91,422,189,317)(92,443,420,93)(94,373,329,473)(95,179,186,395)(97,174,379,458)(98,243,348,148)(99,339,118,341)(100,144,198,466)(103,366,111,326)(104,516,265,391)(105,155,188,340)(109,399,220,390)(110,216,133,212)(113,141,487,237)(115,169,197,131)(116,312,442,408)(119,221,357,240)(121,287,477,488)(124,291,364,327)(125,495,205,219)(126,214,299,375)(127,316,276,417)(134,271,183,434)(135,156,280,524)(137,149,218,409)(139,445,168,191)(140,452,359,483)(143,313,256,350)(145,229,400,424)(146,160,314,196)(150,238,193,161)(152,274,435,268)(153,306,207,453)(154,315,472,253)(157,386,438,412)(159,297,332,261)(162,441,187,246)(167,202,209,272)(171,285,523,239)(172,381,343,455)(182,527,363,474)(184,369,262,211)(194,252,469,451)(201,410,510,382)(206,436,293,303)(210,302,284,425)(223,333,321,264)(228,266,413,508)(231,463,325,427)(232,362,414,471)(234,290,334,437)(236,500,259,288)(241,480,465,358)(244,509,330,282)(249,478,403,429)(258,279,491,311)(260,404,450,385)(296,448,432,318)(298,467,484,489)(305,322,517,378)(337,352,512,462)(345,401,389,504)(371,496,502,447)(393,479,421,515) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56)(57,58)(59,60)(61,62)(63,64)(65,66)(67,68)(69,70)(71,72)(73,74)(75,76)(77,78)(79,80)(81,82)(83,84)(85,86)(87,88)(89,90)(91,92)(93,94)(95,96)(97,98)(99,100)(101,102)(103,104)(105,106)(107,108)(109,110)(111,112)(113,114)(115,116)(117,118)(119,120)(121,122)(123,124)(125,126)(127,128)(129,130)(131,132)(133,134)(135,136)(137,138)(139,140)(141,142)(143,144)(145,146)(147,148)(149,150)(151,152)(153,154)(155,156)(157,158)(159,160)(161,162)(163,164)(165,166)(167,168)(169,170)(171,172)(173,174)(175,176)(177,178)(179,180)(181,182)(183,184)(185,186)(187,188)(189,190)(191,192)(193,194)(195,196)(197,198)(199,200)(201,202)(203,204)(205,206)(207,208)(209,210)(211,212)(213,214)(215,216)(217,218)(219,220)(221,222)(223,224)(225,226)(227,228)(229,230)(231,232)(233,234)(235,236)(237,238)(239,240)(241,242)(243,244)(245,246)(247,248)(249,250)(251,252)(253,254)(255,256)(257,258)(259,260)(261,262)(263,264)(265,266)(267,268)(269,270)(271,272)(273,274)(275,276)(277,278)(279,280)(281,282)(283,284)(285,286)(287,288)(289,290)(291,292)(293,294)(295,296)(297,298)(299,300)(301,302)(303,304)(305,306)(307,308)(309,310)(311,312)(313,314)(315,316)(317,318)(319,320)(321,322)(323,324)(325,326)(327,328)(329,330)(331,332)(333,334)(335,336)(337,338)(339,340)(341,342)(343,344)(345,346)(347,348)(349,350)(351,352)(353,354)(355,356)(357,358)(359,360)(361,362)(363,364)(365,366)(367,368)(369,370)(371,372)(373,374)(375,376)(377,378)(379,380)(381,382)(383,384)(385,386)(387,388)(389,390)(391,392)(393,394)(395,396)(397,398)(399,400)(401,402)(403,404)(405,406)(407,408)(409,410)(411,412)(413,414)(415,416)(417,418)(419,420)(421,422)(423,424)(425,426)(427,428)(429,430)(431,432)(433,434)(435,436)(437,438)(439,440)(441,442)(443,444)(445,446)(447,448)(449,450)(451,452)(453,454)(455,456)(457,458)(459,460)(461,462)(463,464)(465,466)(467,468)(469,470)(471,472)(473,474)(475,476)(477,478)(479,480)(481,482)(483,484)(485,486)(487,488)(489,490)(491,492)(493,494)(495,496)(497,498)(499,500)(501,502)(503,504)(505,506)(507,508)(509,510)(511,512)(513,514)(515,516)(517,518)(519,520)(521,522)(523,524)(525,526)(527,528)(529,530)(531,532)(533,534)(535,536)(537,538)(539,540)(541,542)(543,544)(545,546)(547,548)(549,550)(551,552)(553,554)(555,556)(557,558)(559,560)(561,562)(563,564)(565,566)(567,568)(569,570)(571,572)(573,574)(575,576)(577,578)(579,580)(581,582)(583,584)(585,586)(587,588)(589,590)(591,592)(593,594)(595,596)(597,598)(599,600)(601,602)(603,604)(605,606)(607,608)(609,610)(611,612)(613,614)(615,616)(617,618)(619,620)(621,622)(623,624)(625,626)(627,628)(629,630)(631,632)(633,634)(635,636)(637,638)(639,640)(641,642)(643,644)(645,646)(647,648)(649,650)(651,652)(653,654)(655,656)(657,658)(659,660)(661,662)(663,664)(665,666)(667,668)(669,670)(671,672)(673,674)(675,676)(677,678)(679,680)(681,682)(683,684)(685,686)(687,688)(689,690)(691,692)(693,694)(695,696)(697,698)(699,700)(701,702)(703,704)(705,706)(707,708)(709,710)(711,712)(713,714)(715,716)(717,718)(719,720)(721,722)(723,724)(725,726)(727,728)(729,730)(731,732)(733,734)(735,736)(737,738)(739,740)(741,742)(743,744)(745,746)(747,748)(749,750)(751,752)(753,754)(755,756)(757,758)(759,760)(761,762)(763,764)(765,766)(767,768)(769,770)(771,772)(773,774)(775,776)(777,778)(779,780)(781,782)(783,784)(785,786)(787,788)(789,790)(791,792)(793,794)(795,796)(797,798)(799,800)(801,802)(803,804)(805,806)(807,808)(809,810)(811,812)(813,814)(815,816)(817,818)(819,820)(821,822)(823,824)(825,826)(827,828)(829,830)(831,832)(833,834)(835,836)(837,838)(839,840)(841,842)(843,844)(845,846)(847,848)(849,850)(851,852)(853,854)(855,856)(857,858)(859,860)(861,862)(863,864)(865,866)(867,868)(869,870)(871,872)(873,874)(875,876)(877,878)(879,880)(881,882)(883,884)(885,886)(887,888)(889,890)(891,892)(893,894)(895,896)(897,898)(899,900)(901,902)(903,904)(905,906)(907,908)(909,910)(911,912)(913,914)(915,916)(917,918)(919,920)(921,922)(923,924)(925,926)(927,928)(929,930)(931,932)(933,934)(935,936)(937,938)(939,940)(941,942)(943,944)(945,946)(947,948)(949,950)(951,952)(953,954)(955,956)(957,958)(959,960)(961,962)(963,964)(965,966)(967,968)(969,970)(971,972)(973,974)(975,976)(977,978)(979,980)(981,982)(983,984)(985,986)(987,988)(989,990)(991,992)(993,994)(995,996)(997,998)(999,1000)(1001,1002)(1003,1004)(1005,1006)(1007,1008)(1009,1010)(1011,1012)(1013,1014)(1015,1016)(1017,1018)(1019,1020)(1021,1022)(1023,1024)(1025,1026)(1027,1028)(1029,1030)(1031,1032), (1,329,100,918,870,439,542)(2,25,282,775,718,1005,892)(3,484,864,14,856,28,535)(4,65,735,1033,622,603,430)(5,397,250,523,869,358,1007)(6,102,931,273,139,654,53)(7,193,871,527,550,314,817)(8,266,883,489,695,982,297)(9,135,855,423,909,581,518)(10,354,482,44,919,574,967)(11,998,960,254,123,260,411)(12,396,958,702,422,691,796)(13,730,167,637,263,752,569)(15,976,676,436,403,152,225)(16,68,383,130,47,789,197)(17,415,177,319,833,823,184)(18,388,826,643,741,451,1029)(19,854,290,848,463,782,670)(20,66,366,470,359,237,703)(21,246,701,414,793,429,582)(22,258,559,57,445,904,385)(23,669,522,987,568,944,136)(24,232,632,865,400,311,91)(26,104,433,336,520,650,828)(27,174,73,405,970,942,842)(29,410,800,162,814,89,248)(30,1008,890,874,205,96,657)(31,804,1031,295,455,55,342)(32,377,1019,588,829,821,78)(33,973,118,771,316,435,893)(34,1027,924,97,862,203,122)(35,914,889,302,475,686,631)(36,621,714,847,602,387,867)(37,962,115,724,171,934,183)(38,594,579,425,866,114,67)(39,446,972,949,549,812,310)(40,317,1026,665,727,185,692)(41,525,824,820,716,516,98)(42,646,801,188,956,478,84)(43,773,545,810,207,238,459)(45,151,505,244,720,222,365)(46,226,457,349,562,92,88)(48,591,143,279,341,468,460)(49,767,922,60,187,75,1022)(50,885,280,249,309,719,575)(51,487,758,334,710,289,645)(52,465,951,315,158,1016,276)(54,846,618,868,325,607,725)(56,169,615,656,606,625,424)(58,106,633,993,837,450,216)(59,281,346,1028,732,891,504)(61,981,945,394,340,353,737)(62,128,932,76,147,323,978)(63,689,227,1034,513,330,774)(64,753,971,902,660,69,751)(70,270,268,161,502,666,406)(71,155,529,351,283,682,133)(72,271,294,464,272,679,345)(74,381,872,551,840,191,292)(77,137,339,546,988,844,200)(79,1009,762,206,150,939,661)(80,497,481,776,126,447,461)(81,228,284,604,372,214,992)(82,715,462,540,845,233,850)(83,458,265,212,957,813,805)(85,285,765,356,644,320,218)(86,770,1020,636,541,802,427)(87,1002,154,379,496,367,590)(90,170,903,561,509,677,327)(93,739,178,877,195,113,108)(94,698,873,483,557,573,217)(95,164,790,409,684,501,448)(99,816,332,584,611,321,498)(101,843,291,940,777,538,352)(103,528,729,857,658,778,769)(105,663,537,530,849,935,524)(107,799,995,595,417,563,274)(109,148,959,738,974,1004,413)(110,792,905,296,912,706,543)(111,937,324,510,901,204,492)(112,1024,486,926,331,779,259)(116,368,680,407,300,896,313)(117,757,887,156,560,915,649)(119,420,350,853,490,426,1014)(120,572,986,306,731,242,808)(121,1011,234,635,859,337,357)(124,780,861,305,881,369,257)(125,671,343,373,841,163,452)(127,797,963,831,1015,605,964)(129,895,220,442,613,704,997)(131,722,443,566,746,994,936)(132,275,531,747,952,437,539)(134,269,548,852,361,917,699)(138,761,948,202,740,401,723)(140,1035,495,938,201,593,251)(141,742,146,586,690,748,428)(142,149,371,521,261,494,474)(144,1030,811,946,333,335,485)(145,913,267,907,756,708,623)(153,230,608,519,256,923,179)(157,571,355,360,404,835,180)(159,822,208,875,839,364,287)(160,965,711,344,763,832,707)(165,766,878,630,772,728,194)(166,577,910,328,544,580,386)(168,1036,395,235,432,815,609)(172,943,196,264,734,977,795)(173,947,652,552,598,860,619)(176,565,476,897,787,554,863)(181,308,392,438,925,307,683)(182,301,733,499,788,440,589)(186,759,921,491,1037,469,488)(189,558,402,664,583,642,899)(190,880,213,390,697,803,996)(192,500,252,966,514,627,1025)(198,764,431,768,807,479,827)(199,555,989,888,434,312,1038)(209,991,376,592,231,760,1017)(210,838,240,851,755,809,900)(211,318,749,614,744,408,221)(215,927,920,219,786,239,348)(223,384,794,696,441,961,526)(224,1032,1018,241,685,508,1012)(229,576,236,378,532,916,480)(243,1006,564,999,493,449,1000)(245,567,507,640,536,597,511)(247,754,721,688,933,515,620)(253,477,599,785,399,667,906)(255,533,412,473,626,736,393)(262,674,362,653,421,629,662)(277,834,338,639,784,398,517)(278,578,955,836,968,303,953)(286,617,717,745,304,628,672)(288,693,382,347,512,713,391)(293,467,894,791,975,969,456)(298,954,1021,675,547,783,1001)(299,472,876,1039,929,363,616)(322,984,466,600,610,700,726)(326,624,556,806,503,612,453)(370,884,985,950,798,818,641)(374,587,898,879,638,601,712)(375,668,1023,655,980,678,648)(380,886,705,781,419,687,570)(389,930,659,858,681,418,471)(416,908,882,709,819,911,534)(444,454,983,941,506,990,585)(553,651,673,825,928,830,634)(596,694,979,750,1040,647,743) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120)(121,122,123), (1,32,40)(2,30,114)(3,29,57)(4,80,12)(5,86,64)(6,20,65)(7,93,124)(8,71,69)(9,122,17)(10,53,88)(11,31,77)(13,118,61)(14,70,117)(15,96,52)(16,125,49)(18,22,63)(19,42,113)(21,78,91)(23,44,101)(24,25,67)(26,72,109)(27,76,62)(28,82,47)(33,58,100)(34,104,46)(35,115,94)(36,39,68)(37,50,75)(38,56,121)(41,81,89)(43,90,92)(45,123,55)(48,108,111)(51,110,85)(54,120,102)(59,97,105)(60,79,103)(66,107,99)(73,98,84)(74,95,106)(83,87,112) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56), (1,20,52,4,57,58)(2,33,15,59,45,12)(3,22,36,44,51,8)(5,49,28)(6,16,7,24,60,31)(9,35,37,61,17,30)(10,38,29,40,42,32)(11,41,23,27,18,48)(13,39,47,21,53,62)(14,63,43)(19,50,55,26,25,46)(34,64) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64), (1,39,65)(2,56,14)(3,21,66)(4,50,11)(5,45,67)(6,54,43)(7,20,68)(8,52,29)(9,60,36)(10,42,44)(13,30,15)(16,58,26)(17,40,22)(18,69,61)(19,48,38)(23,70,59)(25,33,53)(27,35,55)(28,41,64)(31,62,34)(37,71,57)(47,72,63) ], [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40)(41,42,43,44,45), (1,20,27,46)(2,40,45,47)(3,11,7,48)(4,31,49,17)(5,33,50,14)(6,35,28,34)(8,37,15,22)(9,41,25,18)(13,30,44,21)(16,24,26,38) ], [ (1,2)(3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50)(51,52)(53,54,55,56)(57,58)(59,60,61,62)(63,64)(65,66)(67,68)(69,70)(71,72,73,74)(75,76)(77,78)(79,80)(81,82)(83,84)(85,86)(87,88,89,90)(91,92)(93,94,95,96)(97,98)(99,100)(101,102)(103,104)(105,106,107,108)(109,110,111,112)(113,114)(115,116)(117,118)(119,120)(121,122)(123,124)(125,126)(127,128)(129,130)(131,132)(133,134)(135,136,137,138)(139,140,141,142)(143,144)(145,146)(147,148)(149,150)(151,152,153,154)(155,156)(157,158)(159,160,161,162)(163,164,165,166)(167,168)(169,170)(171,172)(173,174)(175,176)(177,178,179,180)(181,182,183,184)(185,186,187,188)(189,190,191,192)(193,194,195,196)(197,198)(199,200)(201,202,203,204)(205,206,207,208)(209,210,211,212)(213,214)(215,216)(217,218)(219,220,221,222)(223,224,225,226)(227,228,229,230)(231,232,233,234)(235,236,237,238)(239,240)(241,242)(243,244)(245,246)(247,248)(249,250,251,252)(253,254,255,256)(257,258)(259,260)(261,262)(263,264,265,266)(267,268,269,270)(271,272)(273,274)(275,276)(277,278)(279,280,281,282)(283,284,285,286)(287,288,289,290)(291,292)(293,294)(295,296)(297,298,299,300)(301,302,303,304)(305,306,307,308)(309,310)(311,312,313,314)(315,316,317,318)(319,320)(321,322)(323,324)(325,326)(327,328,329,330)(331,332)(333,334)(335,336,337,338)(339,340,341,342)(343,344)(345,346)(347,348,349,350)(351,352)(353,354)(355,356)(357,358)(359,360)(361,362)(363,364,365,366)(367,368)(369,370)(371,372)(373,374)(375,376)(377,378)(379,380,381,382)(383,384,385,386)(387,388)(389,390)(391,392,393,394)(395,396)(397,398)(399,400,401,402)(403,404)(405,406)(407,408)(409,410)(411,412)(413,414)(415,416,417,418)(419,420,421,422)(423,424)(425,426,427,428)(429,430)(431,432)(433,434,435,436)(437,438)(439,440)(441,442,443,444)(445,446)(447,448)(449,450)(451,452)(453,454,455,456)(457,458,459,460)(461,462)(463,464), (1,20,465,79,123,61,466,274)(2,145,467,160,122,70,144,382)(3,18,468,81,121,59,469,272)(4,146,470,162,124,68,143,380)(5,217,460,264,154,84,307,105)(6,247,39,58,13,167,236,471)(7,218,458,266,152,86,305,107)(8,248,37,57,15,168,238,472)(9,103,74,157,11,101,72,155)(10,320,312,280,209,473,166,26)(12,322,314,282,211,474,164,28)(14,197,254,433,394,82,267,454)(16,199,256,435,392,80,269,456)(17,48,130,475,399,196,277,75)(19,46,132,476,401,194,275,77)(21,448,420,414)(22,426,349,477,190,30,386,67)(23,446,422,412)(24,428,347,478,192,32,384,69)(25,127,479,303,87,374,331,141)(27,125,480,301,89,372,333,139)(29,131,50,453,379,354,176,111)(31,129,49,455,381,352,174,109)(33,464,409,188,263,78,52,233)(34,481,482,325,179,429,85,261)(35,463,407,186,265,76,51,231)(36,483,484,323,177,431,83,259)(38,365,283,295,317,140,327,406)(40,363,285,293,315,142,329,404)(41,213,65,485,304,262,150,98)(42,332,359,339,364,424,369,281)(43,215,63,486,302,260,148,100)(44,334,361,341,366,423,367,279)(45,290,449,298,185,222,92,235)(47,288,451,300,187,220,91,237)(53,344,296,487,225,115,66,488)(54,62,373,351,137,252,362,396)(55,346,294,489,223,113,64,490)(56,60,371,353,135,250,360,398)(71,138,202,403,228,417,182,149)(73,136,204,405,230,415,184,147)(88,491,310,116,342,133,319,343)(90,492,309,114,340,134,321,345)(93,251,419,356,441,402,206,200)(94,203,383,313)(95,249,421,358,443,400,208,198)(96,201,385,311)(97,195,326,493,494,232,171,450)(99,193,324,495,496,234,169,452)(102,387,411,292,104,389,413,291)(106,224,408,126,180,418,497,368)(108,226,410,128,178,416,498,370)(110,432,355,172,338,499,271,214)(112,430,357,170,336,500,273,216)(117,501,377,390,119,502,375,388)(118,316,438,393,376,299,240,153)(120,318,440,391,378,297,242,151)(156,241,447,437,158,239,445,439)(159,335,503,276,427,436,173,395)(161,337,504,278,425,434,175,397)(163,350,181,442,165,348,183,444)(189,243,205,462,191,245,207,461)(210,258,229,246)(212,257,227,244)(219,286,308,255,328,287,270,457)(221,284,306,253,330,289,268,459) ], ]; @@ -817,8 +842,15 @@ SCN.Data.Gens[ 20 ] := [ [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12), (1,5,8)(2,7,4)(3,13,9)(6,14,12) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12), (1,11,6,13,2,12,3,8,14,10,5,15,4,9)(7,16) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24), (1,12,19,10,3,16)(2,25,21,8,26,22)(4,6,13)(5,27,15,11,28,18)(7,9,23)(14,24) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63), (1,11,38,18,20,26,49,59)(2,39,60,4)(3,47,25,55,7,28,5,48)(6,45,61,35,40,24,14,8)(9,43,62,27)(10,29,34,33,42,31,19,57)(12,21,22,16)(13,32,44,54,17,46,37,52)(15,41,36,50)(23,53,58,30,51,64,63,56) ], + [ (1,2,3,4,5,6,7,8)(9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32)(33,34,35,36,37,38,39,40)(41,42,43,44,45,46,47,48)(49,50,51,52,53,54,55,56)(57,58,59,60,61,62,63,64), (1,56,50)(2,53,24)(3,11,19)(4,14,49)(5,28,46)(6,25,40)(7,35,15)(8,38,61)(9,48,26)(10,29,16)(12,34,41)(13,60,62)(17,64,42)(18,45,36)(20,22,57)(21,44,54)(27,43,59)(30,33,52)(31,63,55)(32,58,37) ], + [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30)(31,32,33,34)(35,36)(37,38,39,40)(41,42,43,44)(45,46)(47,48)(49,50)(51,52,53,54)(55,56,57,58)(59,60), (1,19,57)(2,20,52)(3,42,26)(4,44,15)(5,33,17)(6,31,24)(7,32,49)(8,60,27)(9,41,47)(10,59,40)(11,61,29)(12,43,36)(13,62,38)(14,34,46)(16,56,37)(18,58,39)(21,54,63)(22,55,64)(23,51,28)(25,53,30)(35,48,45) ], + [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60), (1,56,9,43,34,29,21,28,61,5,23,55,62,27,41,47)(2,44,37,4,35,48,50,14,3,17,60,16,36,15,53,26)(6,51,10,8,25,58,32,52,45,19,12,59,46,24,63,20)(7,31,49,18,54,64,39,13,38,33,40,57,42,11,22,30) ], [ (1,2,3,4,5,6)(7,8)(9,10), (1,11)(2,6)(3,12)(5,7)(8,9) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48), (1,30,49,31,28,20,17)(2,48,50,32,40,44,5)(3,14,26,21,11,51,24)(4,13,42,37,46,52,16)(6,33,47,53,10,27,19)(7,41,22,45,54,23,35)(8,25,38,12,55,15,36)(9,39,43,18,34,29,56)(57,58,59,60,61,62,63), (1,34,37,33,22,38,2)(3,52,60,15,25,12,20)(4,54,59,10,42,48,14)(5,45,7,39,55,62,24)(6,11,19,35,53,57,31)(8,27,56,61,9,26,46)(13,36,50,64,23,18,47)(16,41,30,43,28,49,63)(17,29,44,40,51,58,32) ], + [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24), (1,6)(2,5)(3,7)(4,8)(9,15)(10,16)(11,17)(12,18)(13,22)(14,21)(19,24)(20,23)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48), (1,23,13,49,8,28,48)(2,24,14,50,7,45,41)(3,12,9,26,20,44,51)(4,11,10,36,19,33,52)(5,40,22,53,29,18,15)(6,31,21,54,37,17,16)(25,32,34,55,30,46,42)(27,47,35,39,43,56,38) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36), (1,29,24,17,37,21)(2,23)(3,12,38,34,22,5)(4,6,19,32,8,16)(7,14,36,39,18,25)(9,31,11,28,30,35)(10,15,33,27,20,40) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40), (1,11,41,12,3,21,6,16,42,17,8,26)(2,13,31,43,32,15,7,18,36,44,37,20)(4,45,5,27,34,25,9,46,10,22,39,30)(14,33,23,47,24,35,19,38,28,48,29,40) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56)(57,58)(59,60)(61,62)(63,64)(65,66)(67,68)(69,70)(71,72), (1,6,36,72)(2,21,8,52)(3,73,74,9)(4,24,19,75)(5,32,43,59)(7,34,20,71)(10,55,62,28)(11,53,18,27)(12,60,23,39)(14,31,54,76)(15,35,66,17)(16,57,48,45)(22,37,77,70)(25,56,33,78)(26,47,42,64)(29,38,44,40)(30,65,79,61)(41,68,67,80)(46,69,63,49)(50,58,51,81) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14)(15,16,17,18)(19,20,21,22)(23,24)(25,26,27,28)(29,30)(31,32), (1,33,7,32,25,31)(2,20,28,12,8,11,4,21,26,15,6,16)(3,29,5,34,27,30)(9,24,19,14,17,35,18,13,22,23,10,36) ], [ (1,2)(3,4,5,6)(7,8,9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28), (29,30)(31,32), (1,15,26)(2,4,11)(3,22,28)(5,25,21)(6,10,8)(7,20,19)(9,17,18)(12,27,24)(14,23,16)(29,31,32) ], @@ -826,15 +858,21 @@ SCN.Data.Gens[ 20 ] := [ [ (1,2,3)(4,5,6)(7,8,9), (2,10,3)(4,11,12)(5,13,8) ], [ (1,2,3), (1,4,5,6,2,7,3,8,9,10) ], [ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)(17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32), (1,24)(2,21,6,20)(3,19,12,23)(4,27,5,32)(7,26,33,28)(8,22,11,29)(9,25,14,31)(10,18,16,34)(13,30,15,17) ], + [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40)(41,42,43,44,45)(46,47,48,49,50)(51,52,53,54,55)(56,57,58,59,60)(61,62,63,64,65)(66,67,68,69,70)(71,72,73,74,75)(76,77,78,79,80)(81,82,83,84,85)(86,87,88,89,90)(91,92,93,94,95)(96,97,98,99,100)(101,102,103,104,105)(106,107,108,109,110)(111,112,113,114,115)(116,117,118,119,120)(121,122,123,124,125)(126,127,128,129,130)(131,132,133,134,135)(136,137,138,139,140)(141,142,143,144,145)(146,147,148,149,150)(151,152,153,154,155)(156,157,158,159,160)(161,162,163,164,165)(166,167,168,169,170)(171,172,173,174,175)(176,177,178,179,180)(181,182,183,184,185)(186,187,188,189,190)(191,192,193,194,195)(196,197,198,199,200)(201,202,203,204,205)(206,207,208,209,210)(211,212,213,214,215)(216,217,218,219,220)(221,222,223,224,225)(226,227,228,229,230)(231,232,233,234,235)(236,237,238,239,240), (1,90,177,46,50,12,88,34)(2,45,236,201,91,72,140,211)(3,29,126,149,9,63,56,186)(4,97,47,5,116,103,214,67)(6,73,75,189,132,83,15,202)(7,139,203,160,14,60,162,68)(8,80,89,124,61,120,100,59)(10,142,85,237,184,38,115,234)(11,84,213,164,133,92,118,64)(13,74,151,101,136,62,87,93)(16,57,227,165,114,156,43,48)(17,27,78,195,171,31,86,168)(18,233,33,153,191,77,21,20)(19,145,172,181,30,134,39,55)(22,222,180,130,200,228,35,239)(23,122,210,188,216,37,82,58)(24,110,220,221,182,148,128,204)(25,205,112,119,129,238,163,230)(26,152)(28,141,224,49,65,241,40,36)(32,159,54,208,215,121,217,193)(41,185,223,69,104,107,174,81)(42,198,106,125,173,157,117,147)(44,51,123,66,235,155,135,190)(52,175,108,98,207,105,144,206)(53,242,137,197,154,94,71,76)(70,218,229,158,150,170,179,102)(79,167,209,131,99,146,231,212)(95,109,143,225,199,96,169,219)(111,192,232,161,127,113,187,166)(138,178,240,183,194,226,243,196) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62)(63,64,65,66)(67,68,69,70)(71,72,73,74)(75,76,77,78)(79,80,81,82)(83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120)(121,122,123,124)(125,126,127,128)(129,130,131,132)(133,134)(135,136,137,138)(139,140,141,142)(143,144,145,146)(147,148,149,150)(151,152), (1,21,106,15)(2,10,107,123)(3,19,101,51)(4,64,102,89)(5,93,38,44)(6,22,7,135)(8,137,80,52)(9,46,72,58)(11,150,114,140)(12,83,91,119)(13,120,49,109)(14,79,61,132)(16,129,50,40)(17,111,43,128)(18,130,33,153)(20,39,24,131)(23,118,94,84)(25,31,63,69)(26,105)(27,67,151,143)(28,117,56,110)(29,55,48,90)(30,59,133,70)(32,149,76,78)(34,99,41,103)(35,81,95,37)(36,126,138,88)(42,82)(45,68,144,139)(47,146,57,147)(53,145,65,75)(54,104,73,100)(60,116,134,124)(62,86,136,97)(66,127,152,85)(71,87,113,98)(74,77,92,142)(96,108)(112,115,125,121)(122,148) ], + [ (1,2,3,4,5,6,7,8,9,10,11,12)(13,14,15,16,17,18,19,20,21,22,23,24)(25,26,27,28,29,30,31,32,33,34,35,36)(37,38,39,40,41,42,43,44,45,46,47,48)(49,50,51)(52,53,54,55,56,57,58,59,60,61,62,63)(64,65,66,67,68,69,70,71,72,73,74,75)(76,77,78,79,80,81)(82,83,84,85,86,87)(88,89,90,91,92,93,94,95,96,97,98,99)(100,101,102,103,104,105,106,107,108,109,110,111), (1,22,109,7,97,42)(2,71,50,35,56,112)(3,67,25,30,52,31)(4,36,58,10,9,73)(5,68,77,26,53,80)(6,45,14,33,100,20)(8,62,51,29,65,49)(11,59,82,32,74,85)(12,39,95,27,106,89)(13,70,92,88,55,98)(15,104,84,96,37,76)(16,103,28,91,48,34)(17,19,64,23,94,61)(18,40,83,99,107,78)(21,43,87,90,110,79)(24,101,81,93,46,86)(38,57,54)(41,102,47)(44,66,69)(60,111,72)(63,75,105) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42)(43,44,45,46)(47,48,49,50), (1,7,16,21)(2,11,35,51)(3,44,36,12)(4,42,15,39)(5,47,19,28)(6,13,41,33)(8,52)(9,53)(10,26,45,32)(14,40,34,18)(17,31,23,29)(20,25,24,27)(22,49,38,30)(37,54)(43,48,46,50) ], [ (1,2)(3,4)(5,6)(7,8), (2,6,9,8)(4,10,7,11)(12,13) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18), (1,12,6,19,15,20)(2,21,22,23,4,9)(3,17,5,24,13,25)(7,26)(8,27)(11,18) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90,91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110,111,112)(113,114,115,116)(117,118,119,120), (1,70,65)(2,26,103)(3,107,77)(4,67,55)(5,100,15)(6,92,69)(7,84,40)(8,62,101)(9,66,29)(10,80,32)(11,22,19)(12,52,49)(13,34,47)(14,24,79)(16,90,88)(17,99,104)(18,73,113)(20,57,33)(21,72,31)(23,25,35)(27,54,51)(28,96,119)(30,39,102)(36,106,112)(37,114,85)(38,83,81)(41,86,117)(42,48,91)(43,95,97)(44,45,116)(46,78,108)(50,93,75)(53,59,58)(56,120,110)(60,121,63)(61,115,94)(64,74,105)(68,87,118)(71,76,109)(82,89,98)(122,123) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16), (1,6,4,17,9)(2,13,3,16,12)(5,18,7,19,10)(8,15,14,20,21)(22,23) ], + [ (1,2,3,4)(5,6)(7,8,9,10)(11,12,13,14)(15,16,17,18)(19,20,21,22)(23,24,25,26)(27,28,29,30)(31,32,33,34)(35,36,37,38)(39,40,41,42)(43,44,45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60,61,62)(63,64,65,66)(67,68,69,70)(71,72,73,74)(75,76,77,78)(79,80,81,82)(83,84,85,86)(87,88,89,90)(91,92,93,94)(95,96,97,98)(99,100,101,102)(103,104,105,106)(107,108,109,110)(111,112,113,114)(115,116,117,118)(119,120,121,122)(123,124,125,126)(127,128,129,130)(131,132,133,134)(135,136,137,138)(139,140,141,142)(143,144,145,146)(147,148,149,150)(151,152,153,154)(155,156,157,158)(159,160,161,162)(163,164,165,166)(167,168)(169,170,171,172)(173,174,175,176)(177,178,179,180)(181,182,183,184)(185,186,187,188)(189,190,191,192)(193,194)(195,196,197,198)(199,200)(201,202,203,204)(205,206,207,208)(209,210,211,212)(213,214,215,216)(217,218,219,220)(221,222,223,224)(225,226,227,228)(229,230,231,232)(233,234,235,236)(237,238,239,240)(241,242,243,244)(245,246,247,248)(249,250)(251,252), (1,17,181,162,97,59,29,18,55,247,234,7)(2,202,87,46,107,249,189,120,142,158,105,168)(3,235,169,135,233,183,27,96,197,33,98,57)(4,125,176,53,101,200,191,78,209,225,111,253)(5,28,76,205,51,21,254,148,123,81,227,23)(6,246,143,79,157,237,255,32,166,207,228,188)(8,104,75,37,63,85,170,238,71,68,179,42)(9,245,244,48,192,241,61,160,243,152,149,242)(10,112,117,128,86,40,172,22,126,232,133,83)(11,62,106,146,130,12,66,196,240,121,230,92)(13,198,20,165,70,218,64,60,114,203,35,39)(14,180,47,187,201,229,94,93,184,108,163,69)(15,171,147,236,50,31,16,195,190,95,154,137)(19,167,34,118,215,52,25,252,248,72,221,45)(24,77,231,131,132,58,102,73,67,84,217,151)(26,144,129,220,178,182,100,119,38,41,91,49)(30,122,213,44,239,193,150,204,223,156,186,250)(36,65,134,153,185,115,127,177,219,56,110,124)(43,99,251,136,74,89,54,113,194,159,116,140)(80,141,139,206,224,214)(82,208,173)(88,222,210,216,90,175)(103,256,161,164,211,155,109,199,138,145,174,226) ], + [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18,19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42,43,44)(45,46,47,48)(49,50,51,52)(53,54,55,56)(57,58,59,60)(61,62,63,64)(65,66,67,68)(69,70,71,72)(73,74,75,76)(77,78,79,80)(81,82,83,84)(85,86,87,88)(89,90)(91,92,93,94)(95,96,97,98)(99,100)(101,102,103,104)(105,106,107,108)(109,110)(111,112,113,114)(115,116,117,118)(119,120,121,122)(123,124,125,126)(127,128,129,130)(131,132,133,134)(135,136,137,138)(139,140,141,142)(143,144)(145,146,147,148)(149,150,151,152)(153,154,155,156)(157,158,159,160)(161,162,163,164)(165,166,167,168)(169,170,171,172)(173,174,175,176)(177,178,179,180)(181,182,183,184)(185,186,187,188)(189,190,191,192)(193,194,195,196)(197,198,199,200)(201,202,203,204)(205,206,207,208)(209,210,211,212)(213,214,215,216)(217,218,219,220)(221,222)(223,224,225,226)(227,228,229,230)(231,232,233,234)(235,236)(237,238,239,240)(241,242,243,244)(245,246)(247,248,249,250)(251,252,253,254)(255,256)(257,258,259,260)(261,262,263,264)(265,266,267,268)(269,270,271,272)(273,274,275,276)(277,278,279,280)(281,282,283,284)(285,286)(287,288,289,290)(291,292)(293,294,295,296)(297,298,299,300)(301,302,303,304)(305,306)(307,308,309,310)(311,312), (1,313,166,195,267,84,226,314,228,146,87,81)(2,79,269,22,127,315,51,78,255,65,11,93)(3,238,54,189,206,119)(4,182,107,67,62,94,278,48,180,302,16,251)(5,50,43,230,100,156,122,279,187,231,285,263)(6,290,239,300,191,197)(7,95,185,168,221,208,120,175,41,103,143,199)(8,224,240,115,59,154)(9,284,49,250,257,309,295,253,287,45,105,209)(10,138,55,61,213,229,15,316,232,170,27,32)(12,135,167,128,109,165,130,25,299,139,214,30)(13,26,118,217,136,297,141,137,234,172,110,227)(14,90,176,248,246,132,140,91,242,184,271,307)(17,72,311,173,44,56,164,85,317,52,188,31)(18,210,147,21,190,23,20,68,145,303,192,308)(19,123,318,277,186,117,162,265,312,97,42,298)(24,169,252,225,247,74,157,142,92,174,80,178)(28,53,63,216,116,219,215,102,294,319,104,296)(29,57,261,121,243,237)(33,304,293,89,96,46,235,159,218,281,223,47)(34,200,276,108,71,275,258,69,40,305,155,274)(35,112,171,320,280,183,306,211,64,283,289,249)(36,205,152,75,88,38,179,266,201,245,198,202)(37,272,264,39,106,126,203,177,124,149,256,207)(58,301,161,131,194,310,60,113,163,158,196,111)(66,222,212,286,133,99)(70,82,241,292,233,193,125,83,288,291,101,148)(73,268,151,260,86,273,236,262,150,270,153,204)(76,134,220,282,98,181,259,114,129,254,244,77)(144,160) ], [ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16)(17,18)(19,20)(21,22,23,24)(25,26,27,28)(29,30,31,32)(33,34,35,36)(37,38,39,40)(41,42)(43,44,45,46)(47,48,49,50)(51,52,53,54)(55,56,57,58)(59,60,61,62)(63,64)(65,66,67,68)(69,70,71,72)(73,74)(75,76,77,78)(79,80,81,82)(83,84)(85,86,87,88)(89,90)(91,92)(93,94,95,96)(97,98,99,100)(101,102,103,104)(105,106,107,108)(109,110)(111,112,113,114)(115,116,117,118)(119,120,121,122)(123,124)(125,126)(127,128), (1,108,81,64,13,106,113,24)(2,21,101,100,18,23,125,98)(3,128,79,6)(4,5,103,95,14,7,118,93)(8,17,119,109,22,15,121,111)(9,53,126,71)(10,67,43,124,40,65,45,97)(11,54,117,28,37,51,115,69)(12,92,89,94)(16,63,116,123)(19,34,105,90,57,129,127,85)(20,78,83,110,60,32,70,114)(25,80,62,74,72,112,58,30)(26,39,130,102,84,41,52,104)(27,82,56,76)(29,91,73,49,77,47,75,68)(31,66)(33,122,87,61,36,107,46,55)(35,120,44,59)(38,48,88,96,42,50,86,99) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14), (1,7,15,4)(2,16,6,14)(3,17,9,12)(5,18,19,20)(8,21) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30), (1,27,31,32,33,11)(2,5)(3,34,13,35,18,28)(4,21,36,37,10,23)(6,24,9,38,29,19)(7,15,26,39,40,20)(8,14)(12,17,41,22,25,42)(16,30) ], [ (1,2,3,4,5)(6,7,8,9,10)(11,12,13,14,15)(16,17,18,19,20)(21,22,23,24,25)(26,27,28,29,30)(31,32,33,34,35)(36,37,38,39,40)(41,42,43,44,45)(46,47,48,49,50)(51,52,53,54,55)(56,57,58,59,60), (1,45,10,52,49,30)(2,32,51,26,36,14)(3,38,50,8,9,20)(4,15,18,35,17,40)(5,7,37,61,55,21)(6,48,13,41,33,58)(11,25,34,43,57,24)(12,62,31)(16,23,56,63,64,39)(19,47,65,59,27,44)(22,29,28,53,60,42) ], + [ (1,2,3,4,5,6,7)(8,9,10,11,12,13,14)(15,16,17,18,19,20,21)(22,23,24,25,26,27,28)(29,30,31,32,33,34,35)(36,37,38,39,40,41,42)(43,44,45,46,47,48,49)(50,51,52,53,54,55,56)(57,58,59,60,61,62,63)(64,65,66,67,68,69,70)(71,72,73,74,75,76,77)(78,79,80,81,82,83,84)(85,86,87,88,89,90,91)(92,93,94,95,96,97,98)(99,100,101,102,103,104,105)(106,107,108,109,110,111,112)(113,114,115,116,117,118,119)(120,121,122,123,124,125,126)(127,128,129,130,131,132,133)(134,135,136,137,138,139,140)(141,142,143,144,145,146,147)(148,149,150,151,152,153,154)(155,156,157,158,159,160,161)(162,163,164,165,166,167,168)(169,170,171,172,173,174,175)(176,177,178,179,180,181,182)(183,184,185,186,187,188,189)(190,191,192,193,194,195,196)(197,198,199,200,201,202,203)(204,205,206,207,208,209,210)(211,212,213,214,215,216,217)(218,219,220,221,222,223,224)(225,226,227,228,229,230,231)(232,233,234,235,236,237,238)(239,240,241,242,243,244,245)(246,247,248,249,250,251,252)(253,254,255,256,257,258,259)(260,261,262,263,264,265,266)(267,268,269,270,271,272,273)(274,275,276,277,278,279,280)(281,282,283,284,285,286,287)(288,289,290,291,292,293,294)(295,296,297,298,299,300,301)(302,303,304,305,306,307,308)(309,310,311,312,313,314,315)(316,317,318,319,320,321,322)(323,324,325,326,327,328,329)(330,331,332,333,334,335,336)(337,338,339,340,341,342,343)(344,345,346,347,348,349,350)(351,352,353,354,355,356,357)(358,359,360,361,362,363,364)(365,366,367,368,369,370,371)(372,373,374,375,376,377,378)(379,380,381,382,383,384,385)(386,387,388,389,390,391,392)(393,394,395,396,397,398,399)(400,401,402,403,404,405,406)(407,408,409,410,411,412,413)(414,415,416,417,418,419,420)(421,422,423,424,425,426,427)(428,429,430,431,432,433,434)(435,436,437,438,439,440,441)(442,443,444,445,446,447,448)(449,450,451,452,453,454,455)(456,457,458,459,460,461,462)(463,464,465,466,467,468,469)(470,471,472,473,474,475,476)(477,478,479,480,481,482,483)(484,485,486,487,488,489,490)(491,492,493,494,495,496,497)(498,499,500,501,502,503,504)(505,506,507,508,509,510,511)(512,513,514,515,516,517,518)(519,520,521,522,523,524,525)(526,527,528,529,530,531,532)(533,534,535,536,537,538,539)(540,541,542,543,544,545,546)(547,548,549,550,551,552,553)(554,555,556,557,558,559,560)(561,562,563,564,565,566,567), (1,567,256,539,366,410,102,283,358)(2,514,293,28,422,125,544,284,129)(3,35,209,501,147,484,140,302,172)(4,232,568,113,371,14,521,287,362)(5,46,288,334,369,260,453,98,128)(6,30,205,502,480,154,99,303,41)(7,561,164,118,327,86,105,251,388)(8,275,267,131,228,495,207,356,193)(9,434,270,185,319,493,110,331,300)(10,449,272,37,395,517,350,24,569)(11,545,419,570,393,44,58,333,477)(12,542,160,189,311,496,554,114,326)(13,134,94,36,82,506,162,498,141)(15,40,396,491,291,330,368,490,526)(16,67,372,469,62,116,191,407,278)(17,64,78,43,108,75,460,120,274)(18,70,322,512,204,23,423,148,432)(19,391,84,511,208,504,297,441,138)(20,359,571,566,163,503,144,438,543)(21,186,377,245,56,74,481,437,519)(22,427,264,530,250,203,79,518,61)(25,425,408,104,418,549,474,513,109)(26,424,405,137,382,188,312,572,555)(27,421,85,221,305,364,375,515,167)(29,259,211,299,88,527,96,69,398)(31,55,538,324,122,520,385,174,448)(32,346,71,325,123,136,156,171,225)(33,210,342,194,87,528,381,197,394)(34,106,217,146,126,222,273,390,320)(38,445,240,60,500,296,266,430,249)(39,230,464,289,216,295,403,220,307)(42,476,565,54,341,143,412,573,308)(45,59,533,478,487,540,247,199,316)(47,294,534,142,404,451,282,200,309)(48,52,499,179,402,522,414,68,397)(49,253,338,180,153,431,252,183,227)(50,212,192,152,523,268,547,314,494)(51,335,458,261,524,246,201,317,508)(53,352,301,89,525,157,127,81,463)(57,332,365,262,103,384,65,226,233)(63,119,456,436,280,92,363,315,563)(66,447,562,348,76,328,488,279,158)(72,461,149,433,306,392,310,466,559)(73,329,411,218,95,202,470,468,557)(77,178,263,139,416,133,471,564,168)(80,236,107,354,196,485,224,281,184)(83,507,344,215,370,439,546,380,553)(90,529,420,198,231,239,112,535,482)(91,223,159,361,399,238,556,355,457)(93,175,378,243,345,351,190,401,541)(97,548,442,492,206,537,479,151,101)(100,379,552,376,242,165,343,176,486)(111,340,177,121,429,574,187,318,237)(115,462,575,452,415,360,313,467,255)(117,459,413,455,286,551,229,509,558)(124,532,248,173,443,244,258,337,323)(130,473,510,166,353,181,400,454,271)(132,475,505,560,214,298,489,428,269)(135,304,550,321,465,292,336,483,150)(145,435,219,417,170,374,234,349,213)(155,389,444,235,347,339,195,409,277)(161,169,446,516,257,576,426,440,276)(182,406,531,383,387,472,241,290,357)(254,536,367,265,450,285,386,373,497) ], [ (1,2,3)(4,5,6)(7,8,9)(10,11,12)(13,14,15)(16,17,18)(19,20,21)(22,23,24)(25,26,27)(28,29,30)(31,32,33)(34,35,36)(37,38,39)(40,41,42)(43,44,45)(46,47,48)(49,50,51)(52,53,54)(55,56,57)(58,59,60)(61,62,63)(64,65,66)(67,68,69)(70,71,72)(73,74,75)(76,77,78)(79,80,81)(82,83,84)(85,86,87)(88,89,90)(91,92,93)(94,95,96)(97,98,99)(100,101,102)(103,104,105)(106,107,108)(109,110,111)(112,113,114)(115,116,117)(118,119,120)(121,122,123)(124,125,126)(127,128,129)(130,131,132)(133,134,135)(136,137,138)(139,140,141)(142,143,144)(145,146,147)(148,149,150)(151,152,153)(154,155,156)(157,158,159)(160,161,162)(163,164,165)(166,167,168)(169,170,171)(172,173,174)(175,176,177)(178,179,180)(181,182,183)(184,185,186)(187,188,189)(190,191,192)(193,194,195)(196,197,198)(199,200,201)(202,203,204)(205,206,207)(208,209,210)(211,212,213)(214,215,216)(217,218,219)(220,221,222)(223,224,225)(226,227,228)(229,230,231)(232,233,234)(235,236,237)(238,239,240)(241,242,243)(244,245,246)(247,248,249)(250,251,252)(253,254,255)(256,257,258)(259,260,261)(262,263,264)(265,266,267)(268,269,270)(271,272,273)(274,275,276)(277,278,279)(280,281,282)(283,284,285)(286,287,288)(289,290,291)(292,293,294)(295,296,297)(298,299,300)(301,302,303)(304,305,306)(307,308,309)(310,311,312)(313,314,315)(316,317,318)(319,320,321)(322,323,324)(325,326,327)(328,329,330)(331,332,333)(334,335,336)(337,338,339)(340,341,342)(343,344,345)(346,347,348)(349,350,351)(352,353,354)(355,356,357)(358,359,360)(361,362,363)(364,365,366)(367,368,369)(370,371,372)(373,374,375)(376,377,378)(379,380,381)(382,383,384)(385,386,387)(388,389,390)(391,392,393)(394,395,396)(397,398,399)(400,401,402)(403,404,405)(406,407,408)(409,410,411)(412,413,414)(415,416,417)(418,419,420)(421,422,423)(424,425,426)(427,428,429)(430,431,432)(433,434,435)(436,437,438)(439,440,441)(442,443,444)(445,446,447)(448,449,450)(451,452,453)(454,455,456)(457,458,459)(460,461,462)(463,464,465)(466,467,468)(469,470,471)(472,473,474)(475,476,477)(478,479,480)(481,482,483)(484,485,486)(487,488,489)(490,491,492)(493,494,495)(496,497,498)(499,500,501)(502,503,504)(505,506,507)(508,509,510)(511,512,513)(514,515,516)(517,518,519)(520,521,522)(523,524,525)(526,527,528)(529,530,531)(532,533,534)(535,536,537)(538,539,540)(541,542,543)(544,545,546)(547,548,549)(550,551,552)(553,554,555)(556,557,558)(559,560,561)(562,563,564)(565,566,567)(568,569,570)(571,572,573)(574,575,576)(577,578,579)(580,581,582)(583,584,585)(586,587,588)(589,590,591)(592,593,594)(595,596,597)(598,599,600)(601,602,603)(604,605,606)(607,608,609)(610,611,612)(613,614,615)(616,617,618)(619,620,621)(622,623,624)(625,626,627)(628,629,630)(631,632,633)(634,635,636)(637,638,639)(640,641,642)(643,644,645)(646,647,648)(649,650,651)(652,653,654)(655,656,657)(658,659,660)(661,662,663)(664,665,666)(667,668,669)(670,671,672)(673,674,675)(676,677,678)(679,680,681)(682,683,684)(685,686,687)(688,689,690)(691,692,693)(694,695,696)(697,698,699)(700,701,702)(703,704,705)(706,707,708)(709,710,711)(712,713,714)(715,716,717)(718,719,720), (1,572,106)(2,20,564)(3,40,557)(4,409,697)(5,33,122)(6,141,258)(7,464,450)(8,55,393)(9,314,199)(10,247,721)(11,494,534)(12,85,123)(13,320,520)(14,268,704)(15,147,548)(16,418,689)(17,63,372)(18,501,401)(19,185,417)(21,146,630)(22,350,426)(23,186,656)(24,715,577)(25,172,101)(26,376,658)(27,389,719)(28,395,718)(29,157,537)(30,400,441)(31,81,230)(32,134,228)(34,232,583)(35,510,551)(36,487,305)(37,206,578)(38,406,149)(39,126,694)(41,722,533)(42,523,208)(43,620,50)(44,410,500)(45,313,463)(46,661,164)(47,201,527)(48,180,600)(49,461,710)(51,468,628)(52,244,723)(53,705,254)(54,580,707)(56,587,553)(57,209,637)(58,279,150)(59,60,62)(61,436,370)(64,615,465)(65,202,478)(66,300,319)(67,530,489)(68,166,542)(69,674,262)(70,585,193)(71,333,552)(72,367,440)(73,236,216)(74,547,120)(75,397,531)(76,280,139)(77,213,91)(78,508,297)(79,495,189)(80,276,407)(82,492,221)(83,617,474)(84,378,169)(86,700,252)(87,93,136)(88,466,449)(89,283,708)(90,295,388)(92,181,619)(94,675,702)(95,102,603)(96,168,257)(97,538,703)(98,601,635)(99,170,433)(100,323,238)(103,403,607)(104,442,491)(105,565,490)(107,724,663)(108,223,575)(109,310,503)(110,535,427)(111,506,302)(112,543,140)(113,224,285)(114,720,273)(115,566,116)(117,507,653)(118,242,192)(119,647,256)(121,215,454)(124,574,457)(125,569,473)(128,714,446)(129,190,682)(130,413,235)(131,550,263)(132,175,364)(133,626,632)(135,596,586)(137,472,678)(138,432,643)(142,483,631)(143,439,303)(144,226,374)(145,563,325)(148,443,328)(151,481,245)(152,559,355)(153,673,579)(154,469,509)(155,260,633)(156,526,352)(158,207,277)(159,636,486)(160,610,398)(161,165,347)(162,163,292)(167,725,411)(171,287,484)(173,532,396)(174,312,270)(176,606,451)(177,322,383)(178,284,589)(179,304,321)(182,609,641)(183,430,652)(184,512,571)(187,382,241)(188,240,477)(191,408,669)(194,612,726)(195,662,485)(197,555,237)(198,306,348)(200,288,562)(203,275,402)(204,422,567)(205,625,605)(210,511,505)(211,281,453)(212,604,529)(214,248,387)(217,618,525)(218,251,266)(219,582,421)(220,498,243)(222,334,513)(225,588,381)(227,711,517)(229,541,670)(231,358,659)(233,522,692)(234,608,686)(239,706,301)(246,373,265)(249,657,621)(250,298,665)(253,677,479)(255,556,581)(259,544,271)(261,502,695)(264,717,308)(267,467,316)(269,683,380)(272,415,655)(274,365,614)(278,516,684)(282,664,390)(286,416,639)(289,515,592)(290,584,331)(291,435,554)(293,602,680)(294,671,521)(296,688,560)(299,568,668)(307,349,429)(309,369,681)(311,597,480)(315,337,327)(318,488,424)(324,353,687)(326,423,709)(329,455,448)(330,336,727)(332,341,412)(335,434,549)(338,458,420)(339,634,368)(340,357,693)(342,667,346)(343,375,713)(344,676,690)(345,624,437)(351,696,391)(354,493,394)(356,462,539)(359,362,616)(360,419,623)(361,497,622)(363,414,642)(366,482,496)(371,654,475)(377,691,638)(379,438,404)(386,651,648)(392,716,728)(399,679,445)(405,561,576)(425,444,591)(428,593,613)(431,594,627)(447,476,546)(452,729,599)(456,545,629)(459,573,649)(460,698,666)(471,701,540)(499,514,646)(518,672,640)(519,590,570)(524,699,536)(528,650,712)(595,611,685)(598,644,660) ], [ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12)(13,14)(15,16)(17,18)(19,20)(21,22)(23,24)(25,26)(27,28)(29,30)(31,32)(33,34)(35,36)(37,38)(39,40)(41,42)(43,44)(45,46)(47,48)(49,50)(51,52)(53,54)(55,56)(57,58)(59,60)(61,62)(63,64)(65,66)(67,68)(69,70)(71,72)(73,74)(75,76)(77,78)(79,80)(81,82)(83,84)(85,86)(87,88)(89,90)(91,92)(93,94)(95,96), (1,40,42)(2,36,49,10,97,63)(3,7,98,99,90,79)(4,82,27,65,71,83)(5,100,50,72,68,17)(6,44,77,46,101,18)(8,30,9,76,24,102)(11,86,78,73,39,38)(12,70,13,103,104,57)(14,75,67,93,87,16)(15,105,59)(19,35,58,106,60,26)(20,45,29,51,92,107)(21,108,81,32,84,91)(23,109,56)(25,89,55,48,61,43)(28,52,33)(31,47,69,110,94,34)(37,111,95,64,85,53)(41,62,112,80,88,54) ], ]; diff --git a/data/incomplete/idgroup.g b/data/unverified/idgroup.g similarity index 96% rename from data/incomplete/idgroup.g rename to data/unverified/idgroup.g index 18476d1..02deb42 100644 --- a/data/incomplete/idgroup.g +++ b/data/unverified/idgroup.g @@ -293,6 +293,16 @@ SCN.Data.IdGroup[ 17 ] := [ , , , + , + , + , + , + , + , + , + , + , + , 167, , , @@ -472,6 +482,7 @@ SCN.Data.IdGroup[ 18 ] := [ , , , + , ]; SCN.Data.IdGroup[ 19 ] := [ @@ -631,6 +642,20 @@ SCN.Data.IdGroup[ 19 ] := [ , , , + , + , + , + , + , + , + , + , + , + , + , + , + , + , ]; SCN.Data.IdGroup[ 20 ] := [ @@ -826,6 +851,14 @@ SCN.Data.IdGroup[ 20 ] := [ , , , + , + , + , + , + , + , + , + , 93, , , @@ -837,4 +870,9 @@ SCN.Data.IdGroup[ 20 ] := [ , , , + , + , + , + , + , ]; diff --git a/data/incomplete/perfgrp.g b/data/unverified/perfgrp.g similarity index 95% rename from data/incomplete/perfgrp.g rename to data/unverified/perfgrp.g index 2ab3fa3..4730bc2 100644 --- a/data/incomplete/perfgrp.g +++ b/data/unverified/perfgrp.g @@ -291,6 +291,16 @@ SCN.Data.PerfGrp[ 17 ] := [ 1, , , + , + , + , + , + , + , + , + , + , + , 1, , 1, @@ -464,6 +474,7 @@ SCN.Data.PerfGrp[ 18 ] := [ , , , + , 4, 1, , @@ -613,6 +624,9 @@ SCN.Data.PerfGrp[ 19 ] := [ , , , + , + , + , 1, 3, , @@ -624,12 +638,23 @@ SCN.Data.PerfGrp[ 19 ] := [ , , , + , + , + , + , + , + , + , + , + , + , 3, , 1, 4, , , + , 2, ]; @@ -828,6 +853,16 @@ SCN.Data.PerfGrp[ 20 ] := [ , , , + , + , + , + , + , + , + , + , + , + , 1, , , @@ -835,6 +870,9 @@ SCN.Data.PerfGrp[ 20 ] := [ , , , + , + , + , 1, , ]; diff --git a/data/incomplete/primgrp.g b/data/unverified/primgrp.g similarity index 96% rename from data/incomplete/primgrp.g rename to data/unverified/primgrp.g index fc558d0..47a8094 100644 --- a/data/incomplete/primgrp.g +++ b/data/unverified/primgrp.g @@ -291,6 +291,16 @@ SCN.Data.PrimGrp[ 17 ] := [ , , , + , + , + , + , + , + , + , + , + , + , [ 17, 6 ], [ 16, 12 ], [ 30, 1 ], @@ -458,6 +468,7 @@ SCN.Data.PrimGrp[ 18 ] := [ , , , + , [ 81, 37 ], [ 121, 28 ], [ 81, 48 ], @@ -615,20 +626,34 @@ SCN.Data.PrimGrp[ 19 ] := [ , , , + , + , + , [ 16, 14 ], , , , + , + , [ 169, 19 ], [ 18, 2 ], , [ 289, 35 ], , , + , + , + , + , + , + , + , + , [ 529, 34 ], , , [ 64, 50 ], + , [ 50, 2 ], , ]; @@ -817,6 +842,10 @@ SCN.Data.PrimGrp[ 20 ] := [ [ 64, 7 ], , , + , + , + , + , [ 64, 11 ], , , @@ -824,17 +853,26 @@ SCN.Data.PrimGrp[ 20 ] := [ , , , + , + , + , [ 25, 23 ], [ 289, 39 ], + , [ 289, 47 ], , + , + , [ 27, 12 ], , , + , + , [ 625, 526 ], [ 21, 7 ], [ 105, 4 ], [ 65, 4 ], + , [ 729, 396 ], [ 112, 1 ], ]; diff --git a/data/unverified/read.g b/data/unverified/read.g new file mode 100644 index 0000000..27e66f4 --- /dev/null +++ b/data/unverified/read.g @@ -0,0 +1,8 @@ +ReadPackage( "SmallClassNr", "data/unverified/atlasname.g" ); +ReadPackage( "SmallClassNr", "data/unverified/code.g" ); +ReadPackage( "SmallClassNr", "data/unverified/gens.g" ); +ReadPackage( "SmallClassNr", "data/unverified/idgroup.g" ); +ReadPackage( "SmallClassNr", "data/unverified/perfgrp.g" ); +ReadPackage( "SmallClassNr", "data/unverified/primgrp.g" ); +ReadPackage( "SmallClassNr", "data/unverified/size.g" ); +ReadPackage( "SmallClassNr", "data/unverified/transgrp.g" ); diff --git a/data/incomplete/size.g b/data/unverified/size.g similarity index 95% rename from data/incomplete/size.g rename to data/unverified/size.g index a9a9b72..5a48160 100644 --- a/data/incomplete/size.g +++ b/data/unverified/size.g @@ -289,6 +289,16 @@ SCN.Data.Size[ 17 ] := [ 2000, 2106, 2184, + 3584, + 3584, + 3584, + 3584, + 3584, + 3584, + 3584, + 3584, + 3584, + 3584, 3888, 3888, 4080, @@ -455,6 +465,7 @@ SCN.Data.Size[ 18 ] := [ 2592, 2592, 3240, + 3840, 4704, 4704, 5040, @@ -609,26 +620,40 @@ SCN.Data.Size[ 19 ] := [ 1600, 1944, 1944, + 2304, 2500, 2500, 2500, 2500, + 2560, + 2560, 2688, 2688, 2880, 3000, 3840, 3840, + 3840, + 3840, 4056, 4896, 5400, 6936, 9408, + 9408, + 10752, + 10752, + 10752, + 10752, + 10752, + 10752, + 10752, 10752, 25392, 58240, 75000, 96768, + 96768, 252000, 387072, ]; @@ -817,7 +842,14 @@ SCN.Data.Size[ 20 ] := [ 2688, 2688, 2688, + 3072, + 3072, + 3072, + 3072, 3456, + 3584, + 3584, + 3840, 3840, 3888, 4320, @@ -826,15 +858,21 @@ SCN.Data.Size[ 20 ] := [ 6048, 7200, 9248, + 9720, 10404, + 10752, + 11664, 15840, 25920, 29040, 40320, + 61440, + 61440, 65000, 120960, 120960, 124800, + 258048, 1592136, 3265920, ]; diff --git a/data/incomplete/transgrp.g b/data/unverified/transgrp.g similarity index 97% rename from data/incomplete/transgrp.g rename to data/unverified/transgrp.g index 31773cf..9e4cb36 100644 --- a/data/incomplete/transgrp.g +++ b/data/unverified/transgrp.g @@ -291,6 +291,16 @@ SCN.Data.TransGrp[ 17 ] := [ , , , + , + , + , + , + , + , + , + , + , + , [ 17, 6 ], [ 16, 1653 ], [ 30, 808 ], @@ -457,6 +467,7 @@ SCN.Data.TransGrp[ 18 ] := [ [ 45, 312 ], , , + , [ 14, 47 ], [ 18, 479 ], , @@ -609,21 +620,34 @@ SCN.Data.TransGrp[ 19 ] := [ , , [ 27, 420 ], + , [ 25, 70 ], [ 25, 72 ], , , , , + , + , [ 16, 1508 ], , [ 40, 2870 ], [ 40, 2871 ], + , + , [ 26, 31 ], [ 18, 468 ], , , , + , + , + , + , + , + , + , + , [ 28, 382 ], , , @@ -631,6 +655,7 @@ SCN.Data.TransGrp[ 19 ] := [ , , , + , ]; SCN.Data.TransGrp[ 20 ] := [ @@ -817,9 +842,16 @@ SCN.Data.TransGrp[ 20 ] := [ [ 14, 40 ], [ 16, 1501 ], [ 28, 220 ], + , + , + , + , [ 12, 254 ], + , + , [ 40, 2726 ], , + , [ 36, 4999 ], , , @@ -827,14 +859,20 @@ SCN.Data.TransGrp[ 20 ] := [ [ 10, 40 ], [ 34, 33 ], , + , + , + , [ 22, 26 ], [ 27, 993 ], , [ 42, 929 ], , + , + , [ 21, 103 ], [ 42, 1279 ], , , , + , ]; diff --git a/doc/bibliography.bib b/doc/bibliography.bib index 735170b..768cb3d 100644 --- a/doc/bibliography.bib +++ b/doc/bibliography.bib @@ -19,6 +19,13 @@ @Article{mill11-a volume = {17}, } +@Article{breu26-a, + author = {Breuer, T.}, + journal = {In preparation}, + title = {The finite groups with 15 - 20 conjugacy classes}, + year = {2026}, +} + @inbook{burn11-a, author = {Burnside, W.}, publisher = {The University Press}, diff --git a/doc/classification.autodoc b/doc/classification.autodoc index 20f0e8c..197f3d8 100644 --- a/doc/classification.autodoc +++ b/doc/classification.autodoc @@ -8,7 +8,7 @@ conjugacy classes. Thus, it is possible to classify finite groups according to their class number. @Section completeclass -@SectionTitle Groups with at most 14 conjugacy classes +@SectionTitle Groups with at most 20 conjugacy classes The &PACKAGENAME; package provides access to the finite groups with class number at most $14$. @@ -25,6 +25,7 @@ Burnside in $k(G) = 13, 14$, by Vera López and Sangroniz in + $k(G) = 15, \dots, 20$, by Breuer in Remarks: @@ -40,14 +41,8 @@ These are the groups with IdClassNr equal to [12,13], @Section incompleteclass -@SectionTitle Groups with 15 to 20 conjugacy classes +@SectionTitle Unverified classification for 15 to 20 conjugacy classes -The &PACKAGENAME; package also provides access to many (but probably not all) -of the finite groups with class number 15 to 20. Although quite extensive, this -should be considered as an incomplete classification. - -

- -Note that may not work properly for these groups. While -a known group of class number 15 to 20 will be correctly identified, an -unknown group will produce an incorrect id or cause an error. +The classification of groups with 15 to 20 conjugacy classes has not been +refereed yet. Thus, it is disabled by default, but it can still be +accessed if so desired. diff --git a/doc/frontmatter.autodoc b/doc/frontmatter.autodoc index d8441c3..65a8680 100644 --- a/doc/frontmatter.autodoc +++ b/doc/frontmatter.autodoc @@ -1,14 +1,14 @@ @Abstract The &PACKAGENAME; package provides access to finite groups with -small class number. Currently, it contains the finite groups of -class number at most 14. +small class number. Currently, the package contains all finite +groups of class number at most 20. @Copyright ©right; 2022–&RELEASEYEAR; &AUTHOR;

-The &PACKAGENAME; package is free software, it may be redistributed +The &PACKAGENAME; package is free software; it may be redistributed and/or modified under the terms and conditions of the - + https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html or (at your option) any later version. diff --git a/doc/otherlibraries.autodoc b/doc/otherlibraries.autodoc index 45b36cf..b88b97d 100644 --- a/doc/otherlibraries.autodoc +++ b/doc/otherlibraries.autodoc @@ -7,7 +7,7 @@ This library is provided by the &SmallGrp; package. @Section perfgrp @SectionTitle The Library of Finite Perfect Groups -This library is provided by &GAP; itself. +This library is provided by the &PerfGrp; package. @Section primgrp @SectionTitle The Primitive Permutation Groups Library diff --git a/doc/package.autodoc b/doc/package.autodoc index 0ce47d7..8b8981c 100644 --- a/doc/package.autodoc +++ b/doc/package.autodoc @@ -20,16 +20,10 @@ InstallPackage( "SmallClassNr" ); Alternatively, you can download &PACKAGENAME; as a .tar.gz archive &ARCHIVEURL;.tar.gz. After extracting, you should -place it in a suitable pkg folder. For example, on a Debian-based -Linux distribution (e.g. Ubuntu, Mint), you can place it in -$HOME/.gap/pkg (recommended) which makes it available for just -yourself, or in the &GAP; installation directory (gap-X.Y.Z/pkg) -which makes it available for all users. - -You can use the following command to efficiently install the package for -yourself: -

wget -qO - https://[...].tar.gz | tar xzf - --one-top-level=$HOME/.gap/pkg - +place it in a suitable pkg folder. To install it for just yourself, +you can place it in $HOME/.gap/pkg (on many Linux distros) +or %USERPROFILE%/_gap/pkg (on Windows). To install it for all users, +it must be placed in the &GAP; installation directory (gap-X.Y.Z/pkg). @Section loading @SectionTitle Loading @@ -41,7 +35,6 @@ LoadPackage( "SmallClassNr" ); #! true @EndLog - @Section citing @SectionTitle Citing If you use the &PACKAGENAME; package in your research, we would love to diff --git a/examples/basic.g b/examples/basic.g index 0d6b77b..cc085b0 100644 --- a/examples/basic.g +++ b/examples/basic.g @@ -22,7 +22,7 @@ IdClassNr( AlternatingGroup( 4 ) ); #! @BeginExample SmallClassNrGroupsAvailable( 14 ); #! true -SmallClassNrGroupsAvailable( 15 ); +SmallClassNrGroupsAvailable( 21 ); #! false #! @EndExample #! @EndChunk diff --git a/init.g b/init.g index dd4e545..ac169b4 100644 --- a/init.g +++ b/init.g @@ -1,5 +1,6 @@ ReadPackage( "SmallClassNr", "lib/_smallclassnr.gd" ); ReadPackage( "SmallClassNr", "lib/basic.gd" ); ReadPackage( "SmallClassNr", "lib/convert.gd" ); -ReadPackage( "SmallClassNr", "lib/incomplete.gd" ); +ReadPackage( "SmallClassNr", "lib/idclassnr.gd" ); +ReadPackage( "SmallClassNr", "lib/unverified.gd" ); ReadPackage( "SmallClassNr", "lib/select.gd" ); diff --git a/lib/basic.g b/lib/basic.g index edbe692..98586f0 100644 --- a/lib/basic.g +++ b/lib/basic.g @@ -1,6 +1,6 @@ ############################################################################### ## -## ClassAvailable( k ) +## ClassNrAvailable( k ) ## SCN.ClassNrAvailable := function( k ) if not SmallClassNrGroupsAvailable( k ) then @@ -27,40 +27,3 @@ SCN.GroupIdAvailable := function( k, i ) fi; fi; end; - -############################################################################### -## -## FingerPrint( G ) -## -SCN.FingerPrint := rec(); - -############################################################################### -## -## FingerPrint.DerInvs( G ) -## -SCN.FingerPrint.DerInvs := G -> List( - DerivedSeries( G ), - AbelianInvariants -); - -############################################################################### -## -## FingerPrint.ConjCls( G ) -## -SCN.FingerPrint.ConjCls := G -> Collected( List( - ConjugacyClasses( G ), - C -> [ Order( Representative( C ) ), Size( C ) ] -) ); - -############################################################################### -## -## FingerPrint.Fitting( G ) -## -SCN.FingerPrint.Fitting := function( G ) - local F; - F := FittingSubgroup( G ); - if IdGroupsAvailable( Size( F ) ) then - return IdGroup( F ); - fi; - return fail; -end; diff --git a/lib/basic.gd b/lib/basic.gd index 90ee31e..dbae19b 100644 --- a/lib/basic.gd +++ b/lib/basic.gd @@ -19,14 +19,6 @@ DeclareGlobalName( "SmallClassNrGroup" ); #! @EndGroup #! @InsertChunk example_smallclassnrgroup -#! @Returns the &PACKAGENAME; ID of G, i.e. a pair -#! [k, i] such that G is isomorphic to -#! SmallClassNrGroup(k, i). -#! @Label -#! @Arguments G -DeclareAttribute( "IdClassNr", IsGroup ); -#! @InsertChunk example_idclassnr - #! @Section availability #! @Returns true if the finite groups of class number k are diff --git a/lib/basic.gi b/lib/basic.gi index 9330518..c1948ec 100644 --- a/lib/basic.gi +++ b/lib/basic.gi @@ -39,85 +39,3 @@ InstallGlobalFunction( return G; end ); - -############################################################################### -## -## IdClassNr( G ) -## -InstallMethod( - IdClassNr, - "generic method", - [ IsGroup ], - function( G ) - local kG, cand, tests, i, test, grps, n, val, next, H, K; - kG := NrConjugacyClasses( G ); - SCN.ClassNrAvailable( kG ); - - cand := [ 1 .. NrSmallClassNrGroups( kG ) ]; - tests := [ - i -> Size( G ) = SCN.Data.Size[ kG ][ i ], - i -> Length( GeneratorsOfGroup( G ) ) >= - Length( SCN.Data.Gens[ kG ][ i ] ), - i -> not IsPermGroup( G ) or NrMovedPoints( G ) >= - NrMovedPoints( SCN.Data.Gens[ kG ][ i ] ) - ]; - for test in tests do - cand := Filtered( cand, test ); - if Length( cand ) = 1 then - return [ kG, cand[ 1 ] ]; - fi; - od; - - if ( - ID_AVAILABLE( Size( G ) ) <> fail and - ForAll( cand, i -> IsBound( SCN.Data.IdGroup[ kG ][ i ] ) ) - ) then - return [ kG, First( cand, - i -> SCN.Data.IdGroup[ kG ][ i ] = IdGroup( G )[ 2 ] - ) ]; - fi; - - if not IsSolvableGroup( G ) and not IsPermGroup( G ) then - K := Image( IsomorphismPermGroup( G ) ); - elif IsSolvableGroup( G ) and not IsPcGroup( G ) then - K := Image( IsomorphismPcGroup( G ) ); - else - K := G; - fi; - - if IsPermGroup( K ) then - grps := List( cand, i -> SmallClassNrGroup( kG, i : AsPermGroup) ); - else - grps := List( cand, i -> SmallClassNrGroup( kG, i ) ); - fi; - - tests := [ - SCN.FingerPrint.DerInvs, - SCN.FingerPrint.Fitting, - SCN.FingerPrint.ConjCls, - ]; - - for test in tests do - val := test( K ); - n := Length( grps ); - next := []; - for i in [ 1 .. n ] do - H := grps[ i ]; - if i = n and IsEmpty( next ) then - return IdClassNr( H ); - elif val = test( H ) then - Add( next, H ); - fi; - od; - grps := next; - od; - - n := Length( grps ); - for i in [ 1 .. n ] do - H := grps[ i ]; - if i = n or IsomorphismGroups( K, H ) <> fail then - return IdClassNr( H ); - fi; - od; - end -); diff --git a/lib/idclassnr.g b/lib/idclassnr.g new file mode 100644 index 0000000..26a849c --- /dev/null +++ b/lib/idclassnr.g @@ -0,0 +1,3876 @@ +############################################################################### +## +## IdClassNr +## +SCN.IdClassNr := rec(); + +############################################################################### +## +## Helper +## +SCN.IdClassNr.Helper := rec(); + +############################################################################### +## +## CCOCount( G, o ) +## +SCN.IdClassNr.Helper.CCOCount := function( G, o ) + return Number( ConjugacyClasses( G ), C -> + Order( Representative( C ) ) = o + ); +end; + +############################################################################### +## +## CCOSCount( G, o, s ) +## +SCN.IdClassNr.Helper.CCOSCount := function( G, o, s ) + return Number( ConjugacyClasses( G ), C -> + Order( Representative( C ) ) = o and Size( C ) = s + ); +end; + +############################################################################### +## +## CCOSPCount( G, o, s, p ) +## +SCN.IdClassNr.Helper.CCOSPCount := function( G, o, s, p ) + return Number( ConjugacyClasses( G ), function( C ) + local g; + if Size( C ) <> s then + return false; + fi; + g := Representative( C ); + return Order( g ) = o and g ^ p in C; + end ); +end; + +############################################################################### +## +## CCOSPTCount( G, o, s, p, t ) +## +SCN.IdClassNr.Helper.CCOSPTCount := function( G, o, s, p, t ) + return Number( ConjugacyClasses( G ), function( C ) + local g, h; + if Size( C ) <> s then + return false; + fi; + g := Representative( C ); + if Order( g ) <> o then + return false; + fi; + h := g ^ p; + return Size( First( ConjugacyClasses( G ), D -> h in D ) ) = t; + end ); +end; + +############################################################################### +## +## NormsSize( G, s ) +## +SCN.IdClassNr.Helper.NormsSize := { G, s } -> + Filtered( NormalSubgroups( G ), H -> Size( H ) = s ); + +############################################################################### +## +## DerAbInv( G, n ) +## +SCN.IdClassNr.Helper.DerAbInv := function( G, n ) + local H, i; + H := G; + for i in [ 2 .. n ] do + H := DerivedSubgroup( H ); + od; + return AbelianInvariants( H ); +end; + +############################################################################### +## +## Select +## +SCN.IdClassNr.Select := NewDictionary( [ 0, 0 ], true ); + +AddDictionary( SCN.IdClassNr.Select, [ 4, 4 ], function( G ) + if IsCyclic( G ) then + return 1; + else + return 2; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 5, 8 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val = 2 then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 6, 12 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 6, 18 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 9 ] then + return 4; + else + return 5; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 7, 16 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val = 2 then + return 2; + elif val = 1 then + return 3; + else + return 4; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 8, 8 ], function( G ) + if IsCyclic( G ) then + return 1; + elif not IsElementaryAbelian( G ) then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 8, 20 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 4; + else + return 5; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 8, 48 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 4, 4 ] then + return 8; + elif val1 = [ 3 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 0 then + return 9; + else + return 10; + fi; + else + return 11; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 9, 9 ], function( G ) + if IsCyclic( G ) then + return 1; + else + return 2; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 9, 24 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 6 ); + if val = 0 then + return 4; + elif val = 2 then + return 5; + else + return 6; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 9, 72 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 9 ] then + return 11; + else + return 14; + fi; + elif val1 = [ 8 ] then + return 12; + else + return 13; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 9, 192 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val = 2 then + return 18; + else + return 19; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 16 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val1 = [ 2, 4 ] then + if val2 = 2 then + return 2; + elif val2 = 0 then + return 3; + else + return 4; + fi; + else + if val2 = 4 then + return 5; + elif val2 = 0 then + return 6; + else + return 7; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 28 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 8; + else + return 9; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 40 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 8 ] then + return 11; + else + return 12; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 48 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 14; + else + return 15; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 54 ], function( G ) + local val1, val2; + val1 := Size( DerivedSubgroup( G ) ); + if val1 = 9 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 3, 3 ] then + return 16; + else + return 17; + fi; + else + return 18; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 96 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 4, 4 ] then + return 19; + else + return 23; + fi; + elif val1 = [ 2, 2, 2, 2 ] then + return 20; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 0 then + return 21; + else + return 22; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 10, 100 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 25 ] then + return 24; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 5, 4, 2 ); + if val2 = 6 then + return 25; + else + return 26; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 11, 27 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 3, 3 ); + if val = 8 then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 11, 32 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 1 then + return 4; + elif val2 = 2 then + return 5; + else + return 6; + fi; + elif val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val2 = 2 then + return 7; + elif val2 = 1 then + return 8; + else + return 9; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 3 then + return 10; + else + return 11; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 11, 192 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 2, 2, 2, 2 ] then + return 21; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 11, 720 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 15 ); + if val = 2 then + return 29; + else + return 30; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 11, 1344 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 42 ); + if val = 0 then + return 31; + else + return 32; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 12 ], function( G ) + if IsCyclic( G ) then + return 1; + else + return 2; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 24 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 8 ] then + return 3; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 1 then + return 4; + else + return 5; + fi; + else + return 6; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 36 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 4 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 9 ] then + return 8; + else + return 11; + fi; + elif val1 = [ 9 ] then + return 9; + elif val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 9 ] then + return 10; + else + return 13; + fi; + else + return 12; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 48 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val1 = 1 then + if val2 = 1 then + return 15; + else + return 16; + fi; + else + if val2 = 1 then + return 17; + else + return 18; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 72 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 8 ] then + return 20; + elif val = [ 2, 3 ] then + return 21; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 96 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 4, 4 ] then + return 24; + else + return 25; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 144 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 4 ] then + return 28; + else + return 29; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 240 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 20 ); + if val = 0 then + return 33; + else + return 34; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 12, 384 ], function( G ) + local val1, val2; + val1 := Size( DerivedSubgroup( G ) ); + if val1 = 64 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 1 then + return 37; + else + return 38; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 0 then + return 39; + else + return 40; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 40 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 10 ); + if val = 0 then + return 2; + elif val = 2 then + return 3; + else + return 4; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 64 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 4 then + return 6; + else + return 7; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 8 ); + if val2 = 4 then + return 8; + elif val2 = 5 then + return 9; + elif val2 = 0 then + return 10; + else + return 11; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 96 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val = 1 then + return 13; + elif val = 0 then + return 14; + else + return 15; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 162 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 3, 3, 3 ] then + return 22; + elif val1 = [ 3, 9 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 18 ); + if val2 = 0 then + return 23; + else + return 24; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 18 ); + if val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 6 ); + if val3 = 3 then + return 25; + else + return 26; + fi; + elif val2 = 3 then + return 27; + else + return 28; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 192 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val1 = 0 then + return 29; + elif val1 = 1 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 0 then + return 30; + else + return 32; + fi; + else + return 31; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 216 ], function( G ) + local val; + val := Size( DerivedSubgroup( G ) ); + if val = 27 then + return 34; + else + return 35; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 13, 1944 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 3, 216 ); + if val = 0 then + return 52; + else + return 53; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 32 ], function( G ) + local val1, val2, val3, val4, val5; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 4 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 2, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 4 ); + if val3 = 2 then + return 2; + elif val3 = 4 then + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 4, 3 ); + if val4 = 2 then + return 3; + else + val5 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 2, 3 ); + if val5 = 4 then + return 5; + else + return 6; + fi; + fi; + elif val3 = 1 then + return 4; + else + return 7; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 4 then + return 17; + elif val3 = 2 then + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val4 = 3 then + return 18; + else + return 20; + fi; + else + return 19; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 6 then + return 8; + elif val3 = 2 then + return 11; + else + return 14; + fi; + elif val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 2 then + return 9; + else + return 12; + fi; + elif val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 2 then + return 10; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 2, 3 ); + if val4 = 2 then + return 13; + else + return 16; + fi; + fi; + else + return 15; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 44 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 21; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 48 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val = 3 then + return 23; + else + return 24; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 50 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 25 ] then + return 25; + else + return 26; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 80 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 4, 10 ); + if val = 0 then + return 28; + elif val = 5 then + return 29; + elif val = 1 then + return 30; + else + return 31; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 84 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 3, 4 ] then + return 32; + else + return 33; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 96 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val = 0 then + return 34; + elif val = 2 then + return 35; + else + return 36; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 104 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 8 ] then + return 37; + else + return 38; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 128 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 4, 16 ); + if val = 2 then + return 41; + elif val = 3 then + return 42; + elif val = 5 then + return 43; + else + return 44; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 192 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 2, 2, 2, 2 ] then + return 46; + else + return 47; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 200 ], function( G ) + local val; + val := Size( DerivedSubgroup( G ) ); + if val = 25 then + return 48; + else + return 49; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 240 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 1 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 4 ] then + return 50; + else + return 51; + fi; + else + return 52; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 288 ], function( G ) + local val; + val := Size( DerivedSubgroup( G ) ); + if val = 48 then + return 53; + else + return 54; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 294 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 49 ] then + return 55; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 7, 6, 2 ); + if val2 = 8 then + return 56; + else + return 57; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 300 ], function( G ) + local val; + val := Size( DerivedSubgroup( G ) ); + if val = 25 then + return 58; + else + return 59; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 320 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 40 ); + if val = 0 then + return 60; + else + return 61; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 384 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 4, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 6 ); + if val2 = 2 then + return 62; + else + val3 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 6, 3 ); + if val3 = 0 then + return 63; + else + return 64; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 2 then + return 65; + else + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 24, 2, 1 ); + if val3 = 2 then + return 66; + else + return 67; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 500 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 5, 2 ); + if val = 0 then + return 72; + else + return 73; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 1280 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 40 ); + if val1 = 2 then + return 76; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 40, 3 ); + if val2 = 2 then + return 77; + else + return 78; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 1920 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val = 1 then + return 80; + else + return 81; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 14, 40320 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 8, 5040 ); + if val = 0 then + return 90; + elif val = 1 then + return 91; + else + return 92; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 24 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val = 0 then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 48 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 1 then + return 6; + elif val2 = 2 then + return 7; + else + return 11; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 6 ); + if val2 = 1 then + return 8; + elif val2 = 0 then + return 9; + elif val2 = 3 then + return 10; + else + return 12; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 54 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 1 then + return 13; + elif val = 4 then + return 14; + else + return 15; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 63 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 8 then + return 17; + else + return 18; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 72 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 6 ); + if val = 7 then + return 19; + elif val = 5 then + return 20; + elif val = 3 then + return 21; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 144 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 9 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 36 ); + if val2 = 0 then + return 28; + else + return 29; + fi; + elif val1 = [ 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 2 then + return 30; + elif val2 = 0 then + return 31; + else + return 34; + fi; + else + val2 := DerivedLength( G ); + if val2 = 4 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 36 ); + if val3 = 0 then + return 32; + else + return 33; + fi; + else + return 35; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 180 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 2 then + return 37; + else + return 38; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 192 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val1 = [ 4, 4 ] then + if val2 = 0 then + return 39; + else + return 40; + fi; + else + if val2 = 0 then + return 41; + else + return 42; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 216 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 1 then + return 43; + else + return 44; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 360 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 1 then + return 47; + else + return 48; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 648 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 1 then + return 51; + else + return 52; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 768 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 8 ); + if val = 2 then + return 53; + elif val = 4 then + return 54; + else + return 55; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 15, 1944 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 7 then + return 58; + else + return 59; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 16 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 4 ); + if val = 2 then + return 1; + elif val = 12 then + return 2; + elif val = 4 then + return 3; + elif val = 8 then + return 4; + else + return 5; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 40 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 8 ] then + return 6; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 1 then + return 7; + else + return 8; + fi; + else + return 9; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 48 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 7 then + return 10; + else + return 11; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 52 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 3 then + return 12; + else + return 13; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 64 ], function( G ) + local val1, val2, val3, val4; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 8 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val2 = [ 2, 4 ] then + if val3 = 1 then + return 15; + elif val3 = 2 then + return 16; + else + val4 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 8, 2, 1 ); + if val4 = 2 then + return 17; + else + return 18; + fi; + fi; + else + if val3 = 3 then + return 35; + else + return 36; + fi; + fi; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 8 ); + if val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 2 then + return 19; + elif val3 = 1 then + return 27; + else + return 37; + fi; + elif val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 4 then + return 20; + elif val3 = 2 then + return 21; + elif val3 = 1 then + return 26; + else + return 32; + fi; + elif val2 = 3 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 1 then + return 23; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val4 = 0 then + return 29; + else + return 33; + fi; + fi; + elif val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val3 = 3 then + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val4 = 1 then + return 24; + else + return 30; + fi; + else + return 28; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 1 then + return 25; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val4 = 0 then + return 31; + else + return 34; + fi; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 3 then + return 22; + else + return 38; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 96 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 3 then + return 39; + else + return 45; + fi; + elif val1 = [ 2, 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 4, 4 ] then + return 40; + else + return 44; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 0 then + return 41; + elif val2 = 2 then + return 42; + else + return 43; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 136 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 1 then + return 49; + else + return 50; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 156 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 1 then + return 52; + else + return 53; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 192 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val = 0 then + return 55; + else + return 56; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 216 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 6 ); + if val = 3 then + return 58; + elif val = 6 then + return 59; + else + return 60; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 384 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 2, 2, 2, 2 ] then + return 65; + else + return 71; + fi; + elif val1 = [ 3 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 4 then + return 66; + elif val2 = 2 then + return 67; + else + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 24, 2, 1 ); + if val3 = 0 then + return 68; + else + return 69; + fi; + fi; + else + return 70; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 400 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + return 72; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 1 then + return 73; + else + return 74; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 448 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 4, 4, 4 ] then + return 76; + else + val2 := Length( SCN.IdClassNr.Helper.NormsSize( G, 8 ) ); + if val2 = 9 then + return 77; + else + return 78; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 576 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 7 then + return 79; + else + return 80; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 600 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 25 ); + if val = 0 then + return 82; + elif val = 2 then + return 83; + else + return 84; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 640 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 40 ); + if val = 0 then + return 86; + else + return 87; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 672 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 3 then + return 88; + elif val = 1 then + return 89; + else + return 90; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 864 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 2, 2, 2, 2 ] then + return 91; + else + return 92; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 1200 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val = 1 then + return 93; + else + return 94; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 1344 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val1 = [ 4, 4, 4 ] then + return 96; + else + val2 := Length( SCN.IdClassNr.Helper.NormsSize( G, 8 ) ); + if val2 = 3 then + return 97; + else + return 98; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 1440 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 99; + else + return 100; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 1536 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val1 = [ 4, 4 ] then + if val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 96 ); + if val3 = 4 then + return 102; + else + return 104; + fi; + else + return 103; + fi; + else + if val2 = 2 then + return 105; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 48 ); + if val3 = 0 then + return 106; + else + return 107; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 1920 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 4, 60 ); + if val = 0 then + return 109; + elif val = 2 then + return 110; + else + return 111; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 2160 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 45 ); + if val = 3 then + return 113; + else + return 114; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 2400 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 2, 2, 2, 2 ] then + return 115; + else + return 116; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 2688 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 1 then + val2 := Exponent( DerivedSubgroup( G ) ); + if val2 = 84 then + return 117; + else + return 119; + fi; + else + return 118; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 16, 30720 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val = 1 then + return 129; + else + return 130; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 32 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val = 9 then + return 2; + else + return 3; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 56 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 14 ); + if val = 2 then + return 4; + elif val = 1 then + return 5; + else + return 6; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 80 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 20 ); + if val1 = 1 then + if val2 = 1 then + return 8; + else + return 9; + fi; + else + if val2 = 1 then + return 10; + else + return 11; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 81 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 12 then + return 12; + elif val = 6 then + return 13; + elif val = 10 then + return 14; + else + return 15; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 128 ], function( G ) + local val1, val2, val3, val4; + val1 := DerivedLength( G ); + if val1 = 3 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val2 = [ 2, 4 ] then + if val3 = 3 then + return 16; + elif val3 = 2 then + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 16 ); + if val4 = 0 then + return 17; + else + return 18; + fi; + else + return 19; + fi; + else + if val3 = 1 then + return 25; + elif val3 = 4 then + return 26; + elif val3 = 2 then + return 27; + else + val4 := Number( + SCN.IdClassNr.Helper.NormsSize( G, 16 ), + IsElementaryAbelian + ); + if val4 = 2 then + return 28; + else + return 29; + fi; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 16 ); + if val2 = 4 then + return 20; + elif val2 = 5 then + return 21; + elif val2 = 0 then + return 22; + elif val2 = 1 then + return 23; + else + return 24; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 168 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 1 then + return 32; + else + return 33; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 192 ], function( G ) + local val1, val2, val3; + val1 := DerivedLength( G ); + if val1 = 4 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 0 then + if val3 = 0 then + return 34; + else + return 40; + fi; + else + if val3 = 0 then + return 35; + else + return 36; + fi; + fi; + elif val1 = 2 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 4, 4 ] then + return 37; + else + return 38; + fi; + else + return 39; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 294 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSPCount( G, 7, 6, 2 ); + if val = 1 then + return 44; + else + return 45; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 324 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 3 ); + if val = 3 then + return 47; + elif val = 4 then + return 48; + else + return 49; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 384 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 1 then + if ForAny( ConjugacyClasses( G ), C -> + Order( Representative( C ) ) = 2 and + Size( C ) = 24 and + Exponent( Centralizer( G, Representative( C ) ) ) = 2 + ) then + return 54; + else + return 50; + fi; + elif val2 = 0 then + return 51; + else + return 53; + fi; + else + return 52; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 648 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 3 then + return 61; + else + return 62; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 1152 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 3 then + return 70; + else + return 71; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 1176 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 7, 24 ); + if val = 0 then + return 72; + elif val = 2 then + return 73; + else + return 74; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 3584 ], function( G ) + local val1, val2, val3, normal, A, B; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 56 ); + normal := SCN.IdClassNr.Helper.NormsSize( G, 64 ); + val2 := Length( normal ); + if val1 = 0 then + if val2 = 2 then + A := First( normal, IsAbelian ); + B := First( normal, H -> not IsAbelian( H ) ); + if ForAny( Elements( A ), a -> ForAny( + Elements( B ), b -> + a ^ 2 <> One( G ) and a ^ 2 <> b ^ 2 and + Comm( a, b ) = a ^ 2 + ) ) then + return 81; + else + return 83; + fi; + else + if ForAll( normal, IsAbelian ) then + return 89; + else + return 87; + fi; + fi; + else + if val2 = 2 then + val3 := Number( normal, IsElementaryAbelian ); + if val3 = 0 then + return 82; + elif val3 = 1 then + if ForAll( normal, IsAbelian ) then + return 84; + else + return 85; + fi; + else + return 86; + fi; + else + if ForAll( normal, IsAbelian ) then + return 90; + else + return 88; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 3888 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOCount( G, 2 ); + if val = 2 then + return 91; + else + return 92; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 17, 32256 ], function( G ) + local val; + val := Size( FrattiniSubgroup( G ) ); + if val = 64 then + return 98; + else + return 99; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 18 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 9 ] then + return 1; + else + return 2; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 36 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 3, 4 ] then + return 3; + else + return 4; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 48 ], function( G ) + local val1, val2, val3, val4; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 6 ); + if val2 = 1 then + return 5; + elif val2 = 0 then + return 6; + elif val2 = 4 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 0 then + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 2, 3 ); + if val4 = 0 then + return 7; + else + return 8; + fi; + else + return 10; + fi; + else + return 9; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 6 ); + if val3 = 0 then + return 11; + else + return 12; + fi; + elif val2 = 1 then + return 13; + else + return 14; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 54 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 9 ] then + return 15; + else + return 16; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 60 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 2 ] then + return 17; + else + return 18; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 72 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 3 ); + if val2 = 2 then + return 20; + else + return 21; + fi; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 96 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 1 then + if val3 = 1 then + return 23; + else + return 24; + fi; + else + if val3 = 1 then + return 25; + else + return 26; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 2 then + return 27; + elif val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val3 = 2 then + return 28; + else + return 29; + fi; + else + return 30; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 108 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 3, 9 ] then + return 31; + elif val = [ 3, 3 ] then + return 32; + else + return 33; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 120 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 4 ] then + return 35; + else + return 36; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 144 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 9 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 4 ] then + return 37; + else + return 38; + fi; + elif val1 = [ 3, 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 16 ] then + return 39; + elif val2 = [ 4 ] then + return 42; + elif val2 = [ 2, 8 ] then + return 47; + else + return 49; + fi; + elif val1 = [ 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 2, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 6 ); + if val3 = 2 then + return 40; + else + return 41; + fi; + else + return 48; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 18 ); + if val2 = 0 then + return 43; + elif val2 = 5 then + return 44; + elif val2 = 1 then + return 45; + else + return 46; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 192 ], function( G ) + local val1, val2, val3, val4; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 3 ] then + if val2 = [ 4, 4 ] then + return 51; + else + return 58; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val3 = 0 and val2 = [ 4, 4 ] then + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val4 = 2 then + return 52; + else + return 57; + fi; + elif val2 = [ 2, 2, 2, 2 ] then + if val3 = 2 then + return 53; + else + return 54; + fi; + else + val4 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 12, 2, 1 ); + if val4 = 0 then + return 55; + else + return 56; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 216 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 4 ] then + return 60; + elif val = [ 2, 2 ] then + return 61; + else + return 62; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 228 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 3, 4 ] then + return 63; + else + return 64; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 240 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val = 1 then + return 65; + else + return 66; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 288 ], function( G ) + local val1, val2, val3, val4; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + val3 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 9 ] then + if val3 = [ 4, 4 ] then + return 67; + else + return 74; + fi; + else + if val3 = [ 2, 2, 2, 2 ] then + return 81; + else + return 82; + fi; + fi; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 36 ); + if val2 = 4 then + val3 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 18, 3 ); + if val3 = 4 then + return 68; + else + return 69; + fi; + elif val2 = 0 then + return 70; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val3 = 2 then + return 75; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 36, 3 ); + if val4 = 2 then + return 76; + else + return 77; + fi; + fi; + fi; + elif val1 = [ 2, 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 3, 4, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 36 ); + if val3 = 1 then + return 71; + else + return 72; + fi; + else + return 73; + fi; + else + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 2, 2 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 0 then + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 18, 3 ); + if val4 = 1 then + return 78; + else + return 79; + fi; + else + return 80; + fi; + else + return 83; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 360 ], function( G ) + local val; + val := DerivedLength( G ); + if val = 2 then + return 86; + else + return 87; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 384 ], function( G ) + local val1, val2, val3; + val1 := DerivedLength( G ); + if val1 = 4 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 48 ); + if val2 = 0 then + return 88; + else + return 89; + fi; + elif val1 = 2 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 48 ); + if val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 6, 3 ); + if val3 = 8 then + return 90; + else + return 91; + fi; + else + return 92; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 12 ); + if val2 = 6 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val3 = 1 then + return 93; + else + return 95; + fi; + elif val2 = 10 then + return 94; + elif val2 = 5 then + return 96; + elif val2 = 9 then + return 97; + else + val3 := Number( + SCN.IdClassNr.Helper.NormsSize( G, 16 ), + IsElementaryAbelian + ); + if val3 = 0 then + return 98; + else + return 99; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 432 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 1 then + return 101; + else + return 102; + fi; + elif val1 = [ 2, 2, 2 ] then + return 103; + else + return 104; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 480 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 1 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 20 ); + if val2 = 0 then + return 106; + elif val2 = 1 then + return 107; + else + return 109; + fi; + else + return 108; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 648 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 9, 9 ] then + return 112; + else + val2 := Length( SCN.IdClassNr.Helper.NormsSize( G, 9 ) ); + if val2 = 10 then + return 113; + else + return 114; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 672 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 115; + else + return 116; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 900 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 9 ] then + return 122; + else + return 123; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 972 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 12 ); + if val1 = 6 then + return 124; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 9, 12, 2 ); + if val2 = 3 then + return 125; + else + return 126; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 1008 ], function( G ) + local val; + val := DerivedLength( G ); + if val = 1 then + return 127; + else + return 128; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 1296 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 9, 9 ] then + return 130; + else + val3 := Length( SCN.IdClassNr.Helper.NormsSize( G, 9 ) ); + if val3 = 4 then + return 133; + else + return 134; + fi; + fi; + elif val1 = [ 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 24 ); + if val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 144 ); + if val3 = 0 then + return 131; + else + return 136; + fi; + else + return 137; + fi; + elif val1 = [ 2, 4 ] then + return 132; + else + return 135; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 1920 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 1 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 15 ); + if val2 = 2 then + return 138; + elif val2 = 1 then + return 139; + else + return 141; + fi; + else + return 140; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 2058 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 7, 3 ); + if val = 2 then + return 143; + else + return 144; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 2160 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 45 ); + if val = 3 then + return 145; + else + return 146; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 2592 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 2, 2 ] then + return 149; + else + return 150; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 4704 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 2 ] then + return 153; + else + return 154; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 18, 7056 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 3, 3 ] then + return 159; + else + return 160; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 64 ], function( G ) + local val1, val2, val3, val4, val5, val6, normal; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 2 then + return 2; + else + return 4; + fi; + elif val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val3 = 2 then + return 3; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 2, 3 ); + if val4 = 0 then + return 5; + else + normal := SCN.IdClassNr.Helper.NormsSize( G, 16 ); + if ForAny( + normal, + H -> Size( FrattiniSubgroup( H ) ) = 2 + ) then + return 8; + else + return 7; + fi; + fi; + fi; + else + return 6; + fi; + elif val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val2 = 2 then + return 9; + elif val2 = 1 then + return 10; + else + return 39; + fi; + elif val1 = [ 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 4 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 1 then + return 11; + else + return 14; + fi; + elif val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 2 then + val5 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 4, 3 ); + if val4 = 1 then + if val5 = 5 then + return 12; + else + val6 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val6 = 0 then + return 29; + else + return 30; + fi; + fi; + else + if val5 = 5 then + return 15; + else + val6 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val6 = 4 then + return 32; + else + return 33; + fi; + fi; + fi; + else + if val4 = 2 then + return 18; + elif val4 = 0 then + val5 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val5 = 0 then + normal := SCN.IdClassNr.Helper.NormsSize( G, 16 ); + val6 := Number( + normal, + H -> Size( FrattiniSubgroup( H ) ) = 2 + ); + if val6 = 3 then + return 20; + else + return 26; + fi; + elif val5 = 4 then + return 24; + else + return 28; + fi; + else + return 22; + fi; + fi; + elif val2 = 3 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 1 then + return 13; + else + return 16; + fi; + elif val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 2 then + return 17; + elif val3 = 0 then + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 4, 3 ); + if val4 = 4 then + normal := SCN.IdClassNr.Helper.NormsSize( G, 16 ); + val5 := Number( + normal, + H -> Size( FrattiniSubgroup( H ) ) = 2 + ); + if val5 = 3 then + return 19; + else + return 25; + fi; + elif val4 = 0 then + return 23; + else + return 27; + fi; + else + return 21; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 1 then + return 31; + else + return 34; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 6 then + normal := SCN.IdClassNr.Helper.NormsSize( G, 16 ); + val3 := Number( normal, IsElementaryAbelian ); + if val3 = 1 then + return 35; + else + return 40; + fi; + elif val2 = 4 then + return 36; + elif val2 = 2 then + return 37; + else + return 38; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 96 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val = 0 then + return 42; + else + return 43; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 147 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 49 ] then + return 44; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 7, 3, 2 ); + if val2 = 16 then + return 45; + else + return 46; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 160 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 20 ); + if val1 = [ 2, 2, 5 ] then + if val2 = 4 then + return 47; + elif val2 = 1 then + return 48; + elif val2 = 5 then + return 53; + else + return 54; + fi; + else + if val2 = 2 then + return 49; + elif val2 = 1 then + return 50; + elif val2 = 3 then + return 51; + else + return 52; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 168 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 14 ); + if val = 0 then + return 55; + elif val = 2 then + return 56; + else + return 57; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 192 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 1 then + if val3 = 0 then + return 58; + else + return 59; + fi; + else + if val3 = 0 then + return 60; + else + return 61; + fi; + fi; + else + return 62; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 216 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 18 ); + if val2 = 0 then + return 63; + else + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 6, 18, 2, 2 ); + if val3 = 0 then + return 64; + else + return 65; + fi; + fi; + elif val1 = [ 2, 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 9 ] then + return 66; + else + return 68; + fi; + else + return 67; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 243 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 3, 27 ); + if val = 4 then + return 69; + elif val = 0 then + return 70; + else + return 71; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 256 ], function( G ) + local val1, val2, val3; + val1 := DerivedLength( G ); + if val1 = 3 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val2 = 2 then + return 73; + elif val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 32 ); + if val3 = 2 then + return 74; + else + return 75; + fi; + else + return 76; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 32 ); + if val2 = 2 then + return 77; + elif val2 = 3 then + return 78; + elif val2 = 5 then + return 79; + else + return 80; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 336 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 7 ); + if val = 0 then + return 81; + else + return 82; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 378 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 7, 9 ] then + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 63, 6, 4 ); + if val2 = 6 then + return 85; + else + return 86; + fi; + else + return 87; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 384 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 4 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 48 ); + if val2 = 0 then + return 88; + else + return 89; + fi; + else + return 90; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 480 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 20 ); + if val = 2 then + return 93; + elif val = 1 then + return 94; + else + return 95; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 588 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 3 then + return 98; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 7, 12, 2 ); + if val2 = 3 then + return 99; + else + return 100; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 768 ], function( G ) + local val1, val2, val3, F, S, s, f, g, h, H; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 48 ); + if val1 = [ 2, 2, 2 ] then + if val2 = 1 then + return 103; + elif val2 = 2 then + return 104; + else + F := FittingSubgroup( G ); + S := SylowSubgroup( G, 3 ); + s := First( GeneratorsOfGroup( S ), x -> not IsOne( x ) ); + for f in Elements( F ) do + g := f ^ s; + h := g ^ s; + if Size( Subgroup( F, [ f, g, h ] ) ) = Size( F ) then + H := Subgroup( F, [ + Comm( f, g ), + Comm( f, h ), + Comm( g, h ) + ] ); + if f ^ 2 in H then + return 105; + fi; + fi; + od; + return 106; + fi; + elif val1 = [ 4, 4 ] then + if val2 = 4 then + return 107; + elif val2 = 1 then + return 108; + elif val2 = 5 then + return 109; + else + return 110; + fi; + else + if val2 = 4 then + return 111; + elif val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 24, 2, 1 ); + if val3 = 2 then + return 112; + else + return 113; + fi; + elif val2 = 5 then + return 114; + else + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 24, 2, 1 ); + if val3 = 2 then + return 115; + else + return 116; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 784 ], function( G ) + local val; + val := DerivedLength( G ); + if val = 2 then + return 117; + else + return 118; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 960 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 4, 4 ] then + return 120; + else + return 121; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 1152 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 72 ); + if val = 0 then + return 125; + else + return 126; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 1600 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 25 ] then + return 130; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 5, 64, 2 ); + if val2 = 5 then + return 131; + else + return 132; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 1944 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 3, 3 ] then + return 133; + else + return 134; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 2500 ], function( G ) + local val, C, c; + val := SCN.IdClassNr.Helper.CCOSCount( G, 5, 20 ); + if val = 5 then + return 136; + elif val = 6 then + return 137; + else + C := First( ConjugacyClasses( G ), D -> + Order( Representative( D ) ) = 25 and Size( D ) = 20 + ); + c := Representative( C ); + if ForAny( AsList( C ), d -> d ^ -1 * c in C ) then + return 138; + else + return 139; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 2560 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 80 ); + if val = 0 then + return 140; + else + return 141; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 2688 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 84, 2, 1 ); + if val = 2 then + return 142; + else + return 143; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 3840 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 80 ); + if val1 = 0 then + if val2 = 1 then + return 146; + else + return 147; + fi; + else + if val2 = 1 then + return 148; + else + return 149; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 9408 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 2, 2, 2, 2 ] then + return 154; + else + return 155; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 10752 ], function( G ) + local val1, val2, val3, normal; + if not IsPerfectGroup( G ) then + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 56 ); + normal := SCN.IdClassNr.Helper.NormsSize( G, 64 ); + val2 := Length( normal ); + if val1 = 0 then + if val2 = 2 then + return 156; + else + return 161; + fi; + else + if val2 = 2 then + val3 := Number( normal, IsElementaryAbelian ); + if val3 = 1 then + if ForAll( normal, IsAbelian ) then + return 157; + else + return 158; + fi; + else + return 159; + fi; + else + if ForAll( normal, IsAbelian ) then + return 162; + else + return 160; + fi; + fi; + fi; + else + return 163; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 19, 96768 ], function( G ) + local val; + val := Size( FrattiniSubgroup( G ) ); + if val = 1 then + return 167; + else + return 168; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 20 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4, 5 ] then + return 1; + else + return 2; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 32 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 4, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 7 then + return 3; + else + return 4; + fi; + elif val1 = [ 2, 8 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val2 = 2 then + return 5; + elif val2 = 0 then + return 6; + else + return 7; + fi; + elif val1 = [ 2, 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 2 ); + if val2 = 8 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val3 = 7 then + return 8; + else + return 11; + fi; + elif val2 = 12 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val3 = 7 then + return 9; + else + return 12; + fi; + elif val2 = 10 then + return 10; + elif val2 = 2 then + return 13; + else + return 14; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val2 = 0 then + return 15; + elif val2 = 6 then + return 16; + else + return 17; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 56 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 8 ] then + return 19; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 1 then + return 20; + else + return 21; + fi; + else + return 22; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 68 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 24; + else + return 25; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 80 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 16 ] then + return 27; + elif val1 = [ 4, 4 ] then + return 28; + elif val1 = [ 2, 8 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 3 then + return 29; + else + return 35; + fi; + elif val1 = [ 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 10 ); + if val2 = 2 then + return 30; + elif val2 = 1 then + return 31; + elif val2 = 0 then + return 32; + else + return 33; + fi; + else + return 34; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 84 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 2, 3 ] then + return 36; + else + return 37; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 96 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 8 ] then + return 38; + elif val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val2 = 1 then + return 39; + else + return 40; + fi; + elif val1 = [ 2, 2, 3 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 2 ); + if val2 = 2 then + return 41; + else + return 42; + fi; + else + return 43; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 108 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 3, 4 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 3, 3 ] then + return 44; + else + return 45; + fi; + elif val1 = [ 4 ] then + return 46; + elif val1 = [ 3, 3 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 12 ); + if val2 = 2 then + return 47; + elif val2 = 0 then + return 48; + else + return 49; + fi; + elif val1 = [ 2, 2, 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val2 = [ 3, 3 ] then + return 50; + else + return 51; + fi; + else + return 52; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 128 ], function( G ) + local val1, val2, val3, val4, val5; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 2, 8 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 2, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 8 ); + if val3 = 1 then + if val4 = 4 then + return 53; + else + return 55; + fi; + else + if val4 = 4 then + return 54; + else + return 56; + fi; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val3 = 2 then + if val4 = 1 then + return 69; + else + return 70; + fi; + else + if val4 = 1 then + return 75; + else + return 76; + fi; + fi; + fi; + elif val1 = [ 4, 4 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 2, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val3 = 1 then + return 57; + else + return 58; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + val4 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val3 = 3 then + if val4 = 1 then + return 59; + else + return 63; + fi; + elif val3 = 2 then + if val4 = 1 then + return 60; + else + val5 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 8, 3 ); + if val5 = 4 then + return 65; + else + return 66; + fi; + fi; + elif val3 = 1 then + if val4 = 1 then + return 61; + else + val5 := SCN.IdClassNr.Helper.CCOSPCount( G, 8, 8, 3 ); + if val5 = 6 then + return 64; + else + return 68; + fi; + fi; + else + if val4 = 1 then + return 62; + else + return 67; + fi; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + if val2 = 4 then + return 71; + elif val2 = 2 then + return 72; + elif val2 = 0 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val3 = 3 then + return 73; + else + return 74; + fi; + else + return 77; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 192 ], function( G ) + local val1, val2, val3; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 3 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val3 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 4 ] then + if val3 = [ 4, 4 ] then + return 81; + else + return 92; + fi; + else + if val3 = [ 4, 4 ] then + return 85; + else + return 93; + fi; + fi; + elif val1 = [ 2, 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 3, 4 ] then + return 82; + else + return 89; + fi; + elif val1 = [ 4, 4 ] then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 3, 4 ] then + val3 := SCN.IdClassNr.Helper.CCOSPTCount( G, 4, 12, 2, 1 ); + if val3 = 0 then + return 83; + else + return 84; + fi; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val3 = 0 then + return 90; + else + return 91; + fi; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 0 then + return 86; + elif val2 = 1 then + return 87; + else + return 88; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 200 ], function( G ) + local val1, val2, val3, val4; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 8 ] then + if val2 = [ 25 ] then + return 94; + else + val3 := SCN.IdClassNr.Helper.CCOSPCount( G, 5, 4, 2 ); + if val3 = 6 then + return 96; + else + return 97; + fi; + fi; + else + if val2 = [ 25 ] then + return 95; + else + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 1 ); + if val3 = 0 then + return 98; + else + val4 := SCN.IdClassNr.Helper.CCOSPCount( G, 5, 4, 2 ); + if val4 = 6 then + return 99; + else + return 100; + fi; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 240 ], function( G ) + local val1, val2; + val1 := DerivedLength( G ); + if val1 = 1 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val2 = [ 4 ] then + return 102; + else + return 103; + fi; + elif val1 = 3 then + return 104; + else + return 105; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 260 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSPCount( G, 65, 4, 8 ); + if val = 0 then + return 107; + else + return 108; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 272 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2, 8 ] then + return 109; + else + return 110; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 300 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 3, 4 ] then + return 113; + else + return 114; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 320 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 4 ] then + return 115; + else + return 116; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 384 ], function( G ) + local val1, val2, val3; + val1 := DerivedLength( G ); + if val1 = 4 then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 4 ); + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 12 ); + if val2 = 2 then + if val3 = 1 then + return 117; + else + return 121; + fi; + else + if val3 = 3 then + return 118; + else + return 119; + fi; + fi; + else + return 120; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 432 ], function( G ) + local val; + val := DerivedLength( G ); + if val = 4 then + return 123; + else + return 124; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 576 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 72 ); + if val = 0 then + return 127; + else + return 128; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 680 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSPCount( G, 85, 8, 2 ); + if val = 0 then + return 132; + else + return 133; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 768 ], function( G ) + local val1, val2, val3; + val1 := DerivedLength( G ); + if val1 = 3 then + val2 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val2 = [ 2, 2, 2, 2 ] then + return 136; + else + return 137; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 48 ); + if val2 = 1 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val3 = 2 then + return 138; + else + return 139; + fi; + elif val2 = 3 then + return 140; + elif val2 = 2 then + val3 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val3 = 2 then + return 141; + else + return 142; + fi; + else + return 143; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 780 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSPCount( G, 65, 12, 2 ); + if val = 4 then + return 145; + else + return 146; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 896 ], function( G ) + local val1, val2, val3, C, c; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val1 = [ 2, 2, 2 ] then + return 149; + elif val1 = [ 2, 2, 2, 2, 2, 2 ] then + return 150; + elif val1 = [ 4, 4, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 56 ); + if val2 = 0 then + C := First( ConjugacyClasses( G ), D -> + Order( Representative( D ) ) = 4 and Size( D ) = 14 + ); + c := Representative( C ); + val3 := Number( AsList( C ), d -> d ^ -1 * c in C ); + if val3 = 4 then + return 151; + else + return 152; + fi; + else + return 153; + fi; + else + return 154; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 972 ], function( G ) + local val1, val2, g, h, k; + val1 := SCN.IdClassNr.Helper.CCOSCount( G, 3, 36 ); + if val1 = 3 then + return 156; + else + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 9, 36, 2 ); + if val2 = 3 then + return 157; + else + g := Representative( First( ConjugacyClasses( G ), C -> + Order( Representative( C ) ) = 4 + ) ); + h := Representative( First( ConjugacyClasses( G ), C -> + Order( Representative( C ) ) = 9 + ) ); + k := Comm( h, g ); + if h ^ 3 = Comm( Comm( k, h ), h ) * k ^ 3 then + return 158; + else + return 159; + fi; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1152 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 2 ] then + return 161; + elif val = [ 2, 2 ] then + return 162; + else + return 163; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1176 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val = [ 8 ] then + return 165; + elif val = [ 2, 2, 3 ] then + return 166; + else + return 167; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1280 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 80 ); + if val = 1 then + return 169; + else + return 170; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1440 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 72 ); + if val = 0 then + return 171; + else + return 172; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1568 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 1 ); + if val1 = [ 2, 4 ] then + val2 := SCN.IdClassNr.Helper.CCOSPCount( G, 4, 196, 3 ); + if val2 = 2 then + return 173; + else + return 174; + fi; + else + return 175; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 1728 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val = [ 2, 2, 2, 2 ] then + return 176; + else + return 177; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 2688 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val1 = [ 2, 2, 2, 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 8 ); + if val2 = 0 then + return 181; + else + return 182; + fi; + else + return 183; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 3072 ], function( G ) + local val1, val2; + val1 := SCN.IdClassNr.Helper.DerAbInv( G, 3 ); + if val1 = [ 2, 2, 2, 2 ] then + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 4, 192 ); + if val2 = 5 then + return 184; + else + return 185; + fi; + else + val2 := SCN.IdClassNr.Helper.CCOSCount( G, 2, 24 ); + if val2 = 2 then + return 186; + else + return 187; + fi; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 3584 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 28 ); + if val = 2 then + return 189; + else + return 190; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 3840 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 80 ); + if val = 1 then + return 191; + else + return 192; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 4704 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.DerAbInv( G, 2 ); + if val = [ 2, 2, 2, 2 ] then + return 195; + else + return 196; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 61440 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 16 ); + if val = 1 then + return 208; + else + return 209; + fi; +end ); + +AddDictionary( SCN.IdClassNr.Select, [ 20, 120960 ], function( G ) + local val; + val := SCN.IdClassNr.Helper.CCOSCount( G, 2, 360 ); + if val = 1 then + return 211; + else + return 212; + fi; +end ); diff --git a/lib/idclassnr.gd b/lib/idclassnr.gd new file mode 100644 index 0000000..4c937a3 --- /dev/null +++ b/lib/idclassnr.gd @@ -0,0 +1,11 @@ +#! @Chapter library + +#! @Section groupsbyids + +#! @Returns the &PACKAGENAME; ID of G, i.e. a pair +#! [k, i] such that G is isomorphic to +#! SmallClassNrGroup(k, i). +#! @Label +#! @Arguments G +DeclareAttribute( "IdClassNr", IsGroup ); +#! @InsertChunk example_idclassnr diff --git a/lib/idclassnr.gi b/lib/idclassnr.gi new file mode 100644 index 0000000..8953ff5 --- /dev/null +++ b/lib/idclassnr.gi @@ -0,0 +1,23 @@ +############################################################################### +## +## IdClassNr( G ) +## +InstallMethod( + IdClassNr, + "generic method", + [ IsGroup ], + function( G ) + local kG, size, ids, id; + kG := NrConjugacyClasses( G ); + SCN.ClassNrAvailable( kG ); + + size := Size( G ); + ids := Positions( SCN.Data.Size[ kG ], size ); + if Length( ids ) = 1 then + return [ kG, ids[ 1 ] ]; + fi; + + id := LookupDictionary( SCN.IdClassNr.Select, [ kG, size ] ); + return [ kG, id( G ) ]; + end +); diff --git a/lib/incomplete.gd b/lib/incomplete.gd deleted file mode 100644 index 02da82f..0000000 --- a/lib/incomplete.gd +++ /dev/null @@ -1,7 +0,0 @@ -#! @Chapter classification - -#! @Section incompleteclass - -#! @Description Loads the known groups with class numbers 15 to 20. -#! @Arguments -DeclareGlobalFunction( "LoadIncompleteSmallClassNrGroups" ); diff --git a/lib/incomplete.gi b/lib/incomplete.gi deleted file mode 100644 index 171d690..0000000 --- a/lib/incomplete.gi +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################### -## -## LoadIncompleteSmallClassNrGroups() -## -InstallGlobalFunction( - LoadIncompleteSmallClassNrGroups, - function() - ReadPackage( "SmallClassNr", "data/incomplete/read.g" ); - end -); diff --git a/lib/select.g b/lib/select.g index 44556a3..63351dc 100644 --- a/lib/select.g +++ b/lib/select.g @@ -73,7 +73,7 @@ SCN.NextSmallClassNrGroup := function( itr ) i := pos[ 1 ]; j := pos[ 2 ]; while i <= Length( kGs ) do - kG := kGs[i]; + kG := kGs[ i ]; SCN.ClassNrAvailable( kG ); while j <= Length( SCN.Data.Size[ kG ] ) do j := j + 1; diff --git a/lib/select.gi b/lib/select.gi index 03a49b6..de831a5 100644 --- a/lib/select.gi +++ b/lib/select.gi @@ -57,7 +57,7 @@ InstallGlobalFunction( SCN.ClassNrAvailable( k ); size := SCN.Data.Size[ k ]; if IsList( ksfv[ 2 ] ) then - n := n + Number( size, x -> x in ksfv[2] ); + n := n + Number( size, x -> x in ksfv[ 2 ] ); else n := n + Length( size ); fi; diff --git a/lib/unverified.gd b/lib/unverified.gd new file mode 100644 index 0000000..7401ee9 --- /dev/null +++ b/lib/unverified.gd @@ -0,0 +1,7 @@ +#! @Chapter classification + +#! @Section incompleteclass + +#! @Description Loads the groups with class numbers 15 to 20. +#! @Arguments +DeclareGlobalFunction( "LoadUnverifiedSmallClassNrGroups" ); diff --git a/lib/unverified.gi b/lib/unverified.gi new file mode 100644 index 0000000..98b50f5 --- /dev/null +++ b/lib/unverified.gi @@ -0,0 +1,10 @@ +############################################################################### +## +## LoadUnverifiedSmallClassNrGroups() +## +InstallGlobalFunction( + LoadUnverifiedSmallClassNrGroups, + function() + ReadPackage( "SmallClassNr", "data/unverified/read.g" ); + end +); diff --git a/makedoc.g b/makedoc.g index 5ea0f17..418e130 100644 --- a/makedoc.g +++ b/makedoc.g @@ -31,6 +31,7 @@ pkgsToLoad := [ [ "SmallGrp", "1.5.4" ], [ "PrimGrp", "3.4.4" ], [ "TransGrp", "3.6.5" ], + [ "PerfGrp", "1.0.0" ], [ "AtlasRep", "2.1.9" ], ]; if IsBound( info.Extensions ) then @@ -66,6 +67,7 @@ AutoDoc( PackageManager := "PackageManager", SmallGrp := "SmallGrp", PrimGrp := "PrimGrp", + PerfGrp := "PerfGrp", TransGrp := "TransGrp", AtlasRep := "AtlasRep", BibLaTeX := "Bib&LaTeX;", @@ -102,7 +104,7 @@ if not IsReadableFile( Filename( pkgPath, "doc/manual.six" ) ) then Print( "#W One or more files could not be created.\n" ); QuitGap( 1 ); else - Print( "#I Manual files sucessfully created.\n" ); + Print( "#I Manual files successfully created.\n" ); fi; # Check if all examples in the manual produce the expected output diff --git a/read.g b/read.g index c4a2d56..66b4c72 100644 --- a/read.g +++ b/read.g @@ -2,11 +2,13 @@ ReadPackage( "SmallClassNr", "lib/_smallclassnr.gi" ); ReadPackage( "SmallClassNr", "lib/basic.g" ); ReadPackage( "SmallClassNr", "lib/convert.g" ); +ReadPackage( "SmallClassNr", "lib/idclassnr.g" ); ReadPackage( "SmallClassNr", "lib/select.g" ); ReadPackage( "SmallClassNr", "lib/basic.gi" ); ReadPackage( "SmallClassNr", "lib/convert.gi" ); -ReadPackage( "SmallClassNr", "lib/incomplete.gi" ); +ReadPackage( "SmallClassNr", "lib/idclassnr.gi" ); ReadPackage( "SmallClassNr", "lib/select.gi" ); +ReadPackage( "SmallClassNr", "lib/unverified.gi" ); ReadPackage( "SmallClassNr", "data/read.g" ); diff --git a/tst/atlasname.tst b/tst/atlasname.tst index 8346cf6..82903d6 100644 --- a/tst/atlasname.tst +++ b/tst/atlasname.tst @@ -4,7 +4,7 @@ gap> START_TEST( "Testing SmallClassNr - AtlasName checks" ); gap> LoadPackage( "AtlasRep", false: OnlyNeeded ); true gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> +gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> > IdClassNrToAtlasName( k, i ) = fail or > IdClassNr( AtlasGroup( IdClassNrToAtlasName( k, i ) ) ) = [ k, i ] ) ); true diff --git a/tst/basic.tst b/tst/basic.tst index c49013b..e2947ab 100644 --- a/tst/basic.tst +++ b/tst/basic.tst @@ -29,10 +29,10 @@ gap> IdClassNr( PcGroupCode( 8671, 42 ) ); Error, the library of groups of class number 21 is not available # -gap> grps1 := AllSmallClassNrGroups( [ 1..14 ] );; +gap> grps1 := AllSmallClassNrGroups( [ 1 .. 14 ] );; gap> Collected( List( grps1, NrConjugacyClasses ) ); [ [ 1, 1 ], [ 2, 1 ], [ 3, 2 ], [ 4, 4 ], [ 5, 8 ], [ 6, 8 ], [ 7, 12 ], [ 8, 21 ], [ 9, 26 ], [ 10, 37 ], [ 11, 35 ], [ 12, 51 ], [ 13, 53 ], [ 14, 93 ] ] -gap> grps2 := AllSmallClassNrGroups( [ 1..14 ], IsSolvable : AsPermGroup );; +gap> grps2 := AllSmallClassNrGroups( [ 1 .. 14 ], IsSolvable : AsPermGroup );; gap> ForAll( grps2, IsPermGroup ); true @@ -41,39 +41,39 @@ gap> NrSmallClassNrGroups( 10 ); 37 gap> NrSmallClassNrGroups( 10, Size, 100 ); 3 -gap> NrSmallClassNrGroups( [1..7] ); +gap> NrSmallClassNrGroups( [ 1 .. 7 ] ); 36 -gap> NrSmallClassNrGroups( [13..14], IsNilpotentGroup, false ); +gap> NrSmallClassNrGroups( [ 13 .. 14 ], IsNilpotentGroup, false ); 115 gap> NrSmallClassNrGroups( 21 ); Error, the library of groups of class number 21 is not available # -gap> G := OneSmallClassNrGroup( [ 4..11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup );; +gap> G := OneSmallClassNrGroup( [ 4 .. 11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup );; gap> IsPcGroup( G ); true gap> Size( G ); 54 -gap> H := OneSmallClassNrGroup( [ 4..11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup : AsPermGroup );; +gap> H := OneSmallClassNrGroup( [ 4 .. 11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup : AsPermGroup );; gap> IsPermGroup( H ); true gap> NrConjugacyClasses( H ); 10 -gap> OneSmallClassNrGroup( [ 4..11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 4 ], IsSupersolvableGroup ); +gap> OneSmallClassNrGroup( [ 4 .. 11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 4 ], IsSupersolvableGroup ); fail -gap> OneSmallClassNrGroup( [ 1..14 ], Size, 67 ); +gap> OneSmallClassNrGroup( [ 1 .. 14 ], Size, 67 ); fail -gap> SL42 := OneSmallClassNrGroup( 14, IsSolvableGroup, false, IsSL );; -gap> IsomorphismGroups( SL42, SL(4,2) ) <> fail; +gap> SL42 := OneSmallClassNrGroup( 14, IsSolvableGroup, false, IsSL );; +gap> IsomorphismGroups( SL42, SL( 4, 2 ) ) <> fail; true -gap> OneSmallClassNrGroup( 21, IsSolvableGroup, false, IsSL ); +gap> OneSmallClassNrGroup( 21, IsSolvableGroup, false, IsSL ); Error, the library of groups of class number 21 is not available gap> AlternatingDegree( OneSmallClassNrGroup( 14, IsSolvableGroup, false, IsAlternatingGroup ) ); 8 # -gap> itr := IteratorSmallClassNrGroups( [ 4..11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup );; +gap> itr := IteratorSmallClassNrGroups( [ 4 .. 11 ], IsSolvableGroup, IsNilpotentGroup, false, DerivedLength, [ 3, 4 ], IsSupersolvableGroup );; gap> Size( NextIterator( itr ) ); 54 gap> IsDoneIterator( itr ); diff --git a/tst/idgroup.tst b/tst/idgroup.tst index 2c5664f..4dd2d20 100644 --- a/tst/idgroup.tst +++ b/tst/idgroup.tst @@ -1,8 +1,10 @@ gap> START_TEST( "Testing SmallClassNr - IdGroup checks" ); # +gap> LoadPackage( "SmallGrp", false: OnlyNeeded ); +true gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> +gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> > IdClassNrToIdGroup( k, i ) = fail or > IdClassNr( SmallGroup( IdClassNrToIdGroup( k, i ) ) ) = [ k, i ] ) ); true diff --git a/tst/pcgrp.tst b/tst/pcgrp.tst index 0625c63..9f3edf0 100644 --- a/tst/pcgrp.tst +++ b/tst/pcgrp.tst @@ -1,11 +1,20 @@ -gap> START_TEST( "Testing SmallClassNr - polycyclic SpecialPcgs checks" ); +gap> START_TEST( "Testing SmallClassNr - PcGroup checks" ); # gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> PcGrps := AllSmallClassNrGroups( [ 1 .. max ], IsSolvable );; -gap> ForAll( PcGrps, IsPcGroup ); +gap> grps := AllSmallClassNrGroups( [ 1 .. max ], IsSolvableGroup );; +gap> copy := List( grps, G -> PcGroupCode( CodePcGroup( G ), Size( G ) ) );; +gap> n := Length( copy );; +gap> check := func -> ForAll( [ 1 .. n ], i -> func( grps[ i ] ) = func( copy[ i ] ) );; + +# +gap> check( IdClassNr ); +true + +# +gap> ForAll( grps, IsPcGroup ); true -gap> ForAll( PcGrps, G -> IsSpecialPcgs( Pcgs( G ) ) ); +gap> ForAll( grps, G -> IsSpecialPcgs( Pcgs( G ) ) ); true # diff --git a/tst/perfgrp.tst b/tst/perfgrp.tst index 592dade..efcdc4f 100644 --- a/tst/perfgrp.tst +++ b/tst/perfgrp.tst @@ -1,8 +1,10 @@ gap> START_TEST( "Testing SmallClassNr - PerfGrp checks" ); # +gap> LoadPackage( "PerfGrp", false: OnlyNeeded ); +true gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> +gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> > IdClassNrToPerfGrp( k, i ) = fail or > IdClassNr( CallFuncList( PerfectGroup, IdClassNrToPerfGrp( k, i ) ) ) = [ k, i ] ) ); true diff --git a/tst/permgrp.tst b/tst/permgrp.tst index 570f276..fbadbf7 100644 --- a/tst/permgrp.tst +++ b/tst/permgrp.tst @@ -1,4 +1,4 @@ -gap> START_TEST( "Testing SmallClassNr - permutation group checks" ); +gap> START_TEST( "Testing SmallClassNr - PermGroup checks" ); # gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; @@ -7,6 +7,10 @@ gap> copy := List( grps, G -> Group( GeneratorsOfGroup( G ), () ) );; gap> n := Length( copy );; gap> check := func -> ForAll( [ 1 .. n ], i -> func( grps[ i ] ) = func( copy[ i ] ) );; +# +gap> check( IdClassNr ); +true + # gap> check( Size ); true @@ -22,6 +26,8 @@ gap> LoadPackage( "TransGrp", false: OnlyNeeded ); true gap> LoadPackage( "PrimGrp", false: OnlyNeeded ); true +gap> LoadPackage( "PerfGrp", false: OnlyNeeded ); +true gap> ForAll( grps, G -> NrMovedPoints( G ) = NrMovedPoints( Image( SmallerDegreePermutationRepresentation( G ) ) ) ); true diff --git a/tst/primgrp.tst b/tst/primgrp.tst index 6d3a3c6..607a03c 100644 --- a/tst/primgrp.tst +++ b/tst/primgrp.tst @@ -4,7 +4,7 @@ gap> START_TEST( "Testing SmallClassNr - PrimGrp checks" ); gap> LoadPackage( "PrimGrp", false: OnlyNeeded ); true gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> +gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> > IdClassNrToPrimGrp( k, i ) = fail or > IdClassNr( CallFuncList( PrimitiveGroup, IdClassNrToPrimGrp( k, i ) ) ) = [ k, i ] ) ); true diff --git a/tst/testall.g b/tst/testall.g index 7df2c88..267e7cb 100644 --- a/tst/testall.g +++ b/tst/testall.g @@ -1,5 +1,5 @@ LoadPackage( "SmallClassNr" ); -LoadIncompleteSmallClassNrGroups(); +LoadUnverifiedSmallClassNrGroups(); pass := TestDirectory( DirectoriesPackageLibrary( "SmallClassNr", "tst" ), diff --git a/tst/transgrp.tst b/tst/transgrp.tst index 8a70ee7..9b63810 100644 --- a/tst/transgrp.tst +++ b/tst/transgrp.tst @@ -4,7 +4,7 @@ gap> START_TEST( "Testing SmallClassNr - TransGrp checks" ); gap> LoadPackage( "TransGrp", false: OnlyNeeded ); true gap> max := First( PositiveIntegers, x -> not SmallClassNrGroupsAvailable( x ) ) - 1;; -gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> +gap> ForAll( [ 1 .. max ], k -> ForAll( [ 1 .. NrSmallClassNrGroups( k ) ], i -> > IdClassNrToTransGrp( k, i ) = fail or > IdClassNr( CallFuncList( TransitiveGroup, IdClassNrToTransGrp( k, i ) ) ) = [ k, i ] ) ); true From 0f9eeebd0a815d0fc5fac5b6cbbd8557c0f9e909 Mon Sep 17 00:00:00 2001 From: stertooy <5571903+stertooy@users.noreply.github.com> Date: Thu, 13 Aug 2026 14:50:37 +0200 Subject: [PATCH 2/3] Update CHANGELOG --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d10cf9..b44abaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,8 @@ ### Changed - `IdClassNr` is now even faster for most groups, and no longer relies on - `IdGroup`. + `IdGroup` / `SmallGrp`. +- Now requires GAP version >= 4.15. - Updated installation instructions. - Janitorial changes. From 988c882fd23185b9a9d8bfde1436627d9002c018 Mon Sep 17 00:00:00 2001 From: stertooy <5571903+stertooy@users.noreply.github.com> Date: Thu, 13 Aug 2026 15:09:40 +0200 Subject: [PATCH 3/3] Update documentation etc --- CHANGELOG.md | 4 ++-- doc/classification.autodoc | 10 +++------- lib/unverified.gd | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b44abaa..a2a565f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,8 @@ ### Added - A complete, but as of yet **unverified** classification of the groups of class numbers 15 to 20 (by T. Breuer) can now be loaded using - `LoadUnverifiedSmallClassNrGroups()`. The old command - `LoadIncompleteSmallClassNrGroups()` has been disabled accordingly. + `LoadUnverifiedSmallClassNrGroups()` (which replaces the old command + `LoadIncompleteSmallClassNrGroups()`). ### Changed - `IdClassNr` is now even faster for most groups, and no longer relies on diff --git a/doc/classification.autodoc b/doc/classification.autodoc index 197f3d8..97a2ae7 100644 --- a/doc/classification.autodoc +++ b/doc/classification.autodoc @@ -38,11 +38,7 @@ There are actually 51 such groups, the three groups missing in are provided in the appendix of . These are the groups with IdClassNr equal to [12,13], [12,16] and [12,39]. +The classification of groups with 15 to 20 conjugacy classes has not been +refereed yet, and is therefore disabled by default. It can still be +accessed via the command below. - -@Section incompleteclass -@SectionTitle Unverified classification for 15 to 20 conjugacy classes - -The classification of groups with 15 to 20 conjugacy classes has not been -refereed yet. Thus, it is disabled by default, but it can still be -accessed if so desired. diff --git a/lib/unverified.gd b/lib/unverified.gd index 7401ee9..d07076c 100644 --- a/lib/unverified.gd +++ b/lib/unverified.gd @@ -1,6 +1,6 @@ #! @Chapter classification -#! @Section incompleteclass +#! @Section completeclass #! @Description Loads the groups with class numbers 15 to 20. #! @Arguments