anupq-3.3.0/ 000755 000766 000024 00000000000 14355420747 013143 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/PackageInfo.g 000644 000766 000024 00000012217 14355420571 015460 0 ustar 00mhorn staff 000000 000000 #############################################################################
##
#W PackageInfo.g ANUPQ Package Greg Gamble
#W Werner Nickel
#W Eamonn O'Brien
#W Max Horn
SetPackageInfo( rec(
PackageName := "ANUPQ",
Subtitle := "ANU p-Quotient",
Version := "3.3.0",
Date := "05/01/2023", # dd/mm/yyyy format
License := "Artistic-2.0",
Persons := [
rec(
LastName := "Gamble",
FirstNames := "Greg",
IsAuthor := true,
IsMaintainer := true,
Email := "Greg.Gamble@uwa.edu.au",
WWWHome := "http://school.maths.uwa.edu.au/~gregg",
PostalAddress := Concatenation(
"Department of Mathematics and Statistics\n",
"Curtin University\n",
"GPO Box U 1987\n",
"Perth WA 6845\n",
"Australia" ),
Place := "Perth",
Institution := "Curtin University"
),
rec(
LastName := "Nickel",
FirstNames := "Werner",
IsAuthor := true,
IsMaintainer := false,
# MH: Werner rarely (if at all) replies to emails sent to this
# old email address. To discourage users from sending bug reports
# there, I have disabled it here.
#Email := "nickel@mathematik.tu-darmstadt.de",
WWWHome := "https://www2.mathematik.tu-darmstadt.de/~nickel/",
),
rec(
LastName := "O'Brien",
FirstNames := "Eamonn",
IsAuthor := true,
IsMaintainer := false,
Email := "obrien@math.auckland.ac.nz",
WWWHome := "https://www.math.auckland.ac.nz/~obrien",
PostalAddress := Concatenation(
"Department of Mathematics\n",
"University of Auckland\n",
"Private Bag 92019\n",
"Auckland\n",
"New Zealand\n" ),
Place := "Auckland",
Institution := "University of Auckland"
),
rec(
LastName := "Horn",
FirstNames := "Max",
IsAuthor := false,
IsMaintainer := true,
Email := "horn@mathematik.uni-kl.de",
WWWHome := "https://www.quendi.de/math",
PostalAddress := Concatenation(
"Fachbereich Mathematik\n",
"TU Kaiserslautern\n",
"Gottlieb-Daimler-Straße 48\n",
"67663 Kaiserslautern\n",
"Germany" ),
Place := "Kaiserslautern, Germany",
Institution := "TU Kaiserslautern"
),
],
Status := "accepted",
CommunicatedBy := "Charles Wright (Eugene)",
AcceptDate := "04/2002",
SourceRepository := rec(
Type := "git",
URL := "https://github.com/gap-packages/anupq",
),
IssueTrackerURL:= Concatenation( ~.SourceRepository.URL, "/issues" ),
PackageWWWHome := "https://gap-packages.github.io/anupq/",
README_URL := Concatenation(~.PackageWWWHome, "README.md"),
PackageInfoURL := Concatenation(~.PackageWWWHome, "PackageInfo.g"),
ArchiveURL := Concatenation(~.SourceRepository.URL,
"/releases/download/v", ~.Version,
"/anupq-", ~.Version),
ArchiveFormats := ".tar.gz .tar.bz2",
AbstractHTML :=
"The ANUPQ package provides an interactive \
interface to the p-quotient, p-group generation and standard presentation \
algorithms of the ANU pq C program.",
PackageDoc := rec(
BookName := "ANUPQ",
ArchiveURLSubset := ["doc"],
HTMLStart := "doc/chap0_mj.html",
PDFFile := "doc/manual.pdf",
SixFile := "doc/manual.six",
LongTitle := "ANU p-Quotient",
),
Dependencies := rec(
GAP := ">= 4.9",
NeededOtherPackages := [ [ "autpgrp", ">=1.5" ] ],
SuggestedOtherPackages := [ ],
ExternalConditions := []
),
AvailabilityTest :=
function()
# test for existence of the compiled binary
if Filename( DirectoriesPackagePrograms( "anupq" ), "pq" ) = fail then
return fail;
fi;
return true;
end,
# Show some extra info in the Banner
BannerFunction := function( info )
local str, version;
str := DefaultPackageBannerString( info );
str := ReplacedString( str, "by Greg Gamble (", "by Greg Gamble (GAP code, " );
str := ReplacedString( str, "Nickel (", "Nickel (GAP code, " );
str := ReplacedString( str, "O'Brien (", "O'Brien (C code, " );
str := ReplacedString( str, "\nHomepage", "\nuses ANU pq binary (C code program) version: 1.9\nHomepage" );
return str;
end,
TestFile := "tst/testinstall.g",
Keywords := [
"p-quotient",
"p-group generation",
"descendant",
"standard presentation",
],
AutoDoc := rec(
TitlePage := rec(
Copyright := """
©right; 2001-2016 by Greg Gamble
©right; 2001-2005 by Werner Nickel
©right; 1995-2001 by Eamon O'Brien
The ⪆ package &ANUPQ; is licensed under the https://opensource.org/licenses/artistic-license-2.0.
""",
),
),
));
anupq-3.3.0/configure.ac 000644 000766 000024 00000010321 14355420744 015423 0 ustar 00mhorn staff 000000 000000 dnl ##
dnl ## Process this file with autoconf to produce a configure script.
dnl ##
AC_PREREQ([2.68])
AC_INIT([ANU p-Quotient Program],
[package],
[https://github.com/gap-packages/anupq/issues],
[anupq],
[https://gap-packages.github.io/anupq/])
AC_CONFIG_SRCDIR([src/pquotient.c])
AC_CONFIG_HEADERS(include/config.h:include/config.hin)
AC_CONFIG_AUX_DIR(cnf)
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 -Wall foreign subdir-objects no-dist])
AM_SILENT_RULES([yes])
dnl For developer builds, maintainer mode is enabled by default. But for
dnl releases, the `.release` script changes this to "disabled by default".
dnl This avoids troubles during packaging, in particular when the GAP team
dnl repackages the source archive. Users can re-enable it by passing
dnl `--enable-maintainer-mode` to configure.
AM_MAINTAINER_MODE([disable])
dnl ##
dnl ## C is the language
dnl ##
AC_LANG([C])
dnl ##
dnl ## Checks for programs.
dnl ##
AC_PROG_AWK
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_MKDIR_P
AC_PROG_SED
dnl ##
dnl ## Locate the GAP root dir
dnl ##
FIND_GAP
dnl ##
dnl ## Check for GMP
dnl ## If the user specified a specific GMP, try to use that.
dnl ## Otherwise, first try to use the GMP provided by GAP, or
dnl ## any GMP version installed globally by the user.
dnl ##
GMP_CPPFLAGS=
GMP_LIBS=
AC_ARG_WITH([gmp],
[AS_HELP_STRING([--with-gmp=PATH],
[ Use GMP library.
If the argument you supply is "yes" or , then the version of GMP bundled with GAP will be used (default).
If the argument is "system" that means the library is reachable with the standard
search path "/usr" or "/usr/local".
Otherwise you give the to the directory which contains the library.
[[default=yes]]
])],
[], [ with_gmp=yes ]
)
if test "x$with_gmp" = "xno" ; then
AC_MSG_NOTICE([Building without GMP support])
elif test "x$with_gmp" = "xsystem" ; then
# Try using system GMP
GMP_CPPFLAGS=""
GMP_LIBS="-lgmp"
else
# Try using static linked GMP in the specified location
if test "x$with_gmp" = "xyes" ; then
# Try to use GAP's GMP, if available
GMP_HOME="$GAPROOT/extern/install/gmp"
else
GMP_HOME="$with_gmp"
fi;
if test -d ${GMP_HOME}/include && test -d ${GMP_HOME}/lib ; then
GMP_CPPFLAGS="-I${GMP_HOME}/include"
# gross hack follows
if test -r "${GMP_HOME}/lib/libgmp.a" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.a"
elif test -r "${GMP_HOME}/lib/libgmp.dylib" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.dylib"
elif test -r "${GMP_HOME}/lib/libgmp.so" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.so"
else
# generic fallback -- unfortunately, this does not ensure that we
# link against exactly that version of libgmp
GMP_LIBS="-L${GMP_HOME}/lib -lgmp"
fi
elif test "x$with_gmp" = "xyes" ; then
# fallback to trying system wide GMP
GMP_CPPFLAGS=""
GMP_LIBS="-lgmp"
else
AC_MSG_ERROR([Could not locate libgmp.a in the specified location])
fi
fi;
have_gmp=no
if test "x$with_gmp" != xno; then
pq_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GMP_CPPFLAGS"
pq_save_LIBS="$LIBS"
LIBS="$LIBS $GMP_LIBS"
AC_CHECK_HEADER( [gmp.h],
[
# TODO: Disable linker check for now: It causes problems on Linux, because
# libgmp.a is in the linker command line before the test C file. On the long
# run, this should be re-enabled, though perhaps in a different form.
AC_MSG_CHECKING([whether linking against GMP works])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[#include ]], [[__gmpz_init(0);]])],
[have_gmp=yes],
[]
)
AC_MSG_RESULT([$have_gmp])
],
[]
)
# restore FLAGS
CPPFLAGS="$pq_save_CPPFLAGS"
LIBS="$pq_save_LIBS"
fi;
if test "x$have_gmp" = xyes; then
AC_DEFINE(HAVE_GMP, 1, [Define if GMP is installed and usable])
else
GMP_CPPFLAGS=""
GMP_LIBS=""
fi
AC_SUBST(GMP_CPPFLAGS)
AC_SUBST(GMP_LIBS)
dnl ##
dnl ## Checks for library functions.
dnl ##
AC_HEADER_SYS_WAIT
AC_CHECK_FUNCS([gethostname strftime])
AC_SEARCH_LIBS([log10], [m], [], [
AC_MSG_ERROR([unable to find the log10() function])
])
# hack for testPq:
GAP_EXEC="${GAP:-${GAPROOT}/bin/gap.sh}"
AC_SUBST(GAP_EXEC)
dnl ##
dnl ## Finally, generate the Makefiles and output everything
dnl ##
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([testPq], [chmod +x testPq])
AC_OUTPUT
anupq-3.3.0/LICENSE 000644 000766 000024 00000021370 14355420571 014146 0 ustar 00mhorn staff 000000 000000 The Artistic License 2.0
========================
_Copyright © 2000-2006, The Perl Foundation._
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
### Preamble
This license establishes the terms under which a given free software
Package may be copied, modified, distributed, and/or redistributed.
The intent is that the Copyright Holder maintains some artistic
control over the development of that Package while still keeping the
Package available as open source and free software.
You are always permitted to make arrangements wholly outside of this
license directly with the Copyright Holder of a given Package. If the
terms of this license do not permit the full use that you propose to
make of the Package, you should contact the Copyright Holder and seek
a different licensing arrangement.
### Definitions
“Copyright Holder” means the individual(s) or organization(s)
named in the copyright notice for the entire Package.
“Contributor” means any party that has contributed code or other
material to the Package, in accordance with the Copyright Holder's
procedures.
“You” and “your” means any person who would like to copy,
distribute, or modify the Package.
“Package” means the collection of files distributed by the
Copyright Holder, and derivatives of that collection and/or of
those files. A given Package may consist of either the Standard
Version, or a Modified Version.
“Distribute” means providing a copy of the Package or making it
accessible to anyone else, or in the case of a company or
organization, to others outside of your company or organization.
“Distributor Fee” means any fee that you charge for Distributing
this Package or providing support for this Package to another
party. It does not mean licensing fees.
“Standard Version” refers to the Package if it has not been
modified, or has been modified only in ways explicitly requested
by the Copyright Holder.
“Modified Version” means the Package, if it has been changed, and
such changes were not explicitly requested by the Copyright
Holder.
“Original License” means this Artistic License as Distributed with
the Standard Version of the Package, in its current version or as
it may be modified by The Perl Foundation in the future.
“Source” form means the source code, documentation source, and
configuration files for the Package.
“Compiled” form means the compiled bytecode, object code, binary,
or any other form resulting from mechanical transformation or
translation of the Source form.
### Permission for Use and Modification Without Distribution
**(1)** You are permitted to use the Standard Version and create and use
Modified Versions for any purpose without restriction, provided that
you do not Distribute the Modified Version.
### Permissions for Redistribution of the Standard Version
**(2)** You may Distribute verbatim copies of the Source form of the
Standard Version of this Package in any medium without restriction,
either gratis or for a Distributor Fee, provided that you duplicate
all of the original copyright notices and associated disclaimers. At
your discretion, such verbatim copies may or may not include a
Compiled form of the Package.
**(3)** You may apply any bug fixes, portability changes, and other
modifications made available from the Copyright Holder. The resulting
Package will still be considered the Standard Version, and as such
will be subject to the Original License.
### Distribution of Modified Versions of the Package as Source
**(4)** You may Distribute your Modified Version as Source (either gratis
or for a Distributor Fee, and with or without a Compiled form of the
Modified Version) provided that you clearly document how it differs
from the Standard Version, including, but not limited to, documenting
any non-standard features, executables, or modules, and provided that
you do at least ONE of the following:
* **(a)** make the Modified Version available to the Copyright Holder
of the Standard Version, under the Original License, so that the
Copyright Holder may include your modifications in the Standard
Version.
* **(b)** ensure that installation of your Modified Version does not
prevent the user installing or running the Standard Version. In
addition, the Modified Version must bear a name that is different
from the name of the Standard Version.
* **(c)** allow anyone who receives a copy of the Modified Version to
make the Source form of the Modified Version available to others
under
* **(i)** the Original License or
* **(ii)** a license that permits the licensee to freely copy,
modify and redistribute the Modified Version using the same
licensing terms that apply to the copy that the licensee
received, and requires that the Source form of the Modified
Version, and of any works derived from it, be made freely
available in that license fees are prohibited but Distributor
Fees are allowed.
### Distribution of Compiled Forms of the Standard Version
### or Modified Versions without the Source
**(5)** You may Distribute Compiled forms of the Standard Version without
the Source, provided that you include complete instructions on how to
get the Source of the Standard Version. Such instructions must be
valid at the time of your distribution. If these instructions, at any
time while you are carrying out such distribution, become invalid, you
must provide new instructions on demand or cease further distribution.
If you provide valid instructions or cease distribution within thirty
days after you become aware that the instructions are invalid, then
you do not forfeit any of your rights under this license.
**(6)** You may Distribute a Modified Version in Compiled form without
the Source, provided that you comply with Section 4 with respect to
the Source of the Modified Version.
### Aggregating or Linking the Package
**(7)** You may aggregate the Package (either the Standard Version or
Modified Version) with other packages and Distribute the resulting
aggregation provided that you do not charge a licensing fee for the
Package. Distributor Fees are permitted, and licensing fees for other
components in the aggregation are permitted. The terms of this license
apply to the use and Distribution of the Standard or Modified Versions
as included in the aggregation.
**(8)** You are permitted to link Modified and Standard Versions with
other works, to embed the Package in a larger work of your own, or to
build stand-alone binary or bytecode versions of applications that
include the Package, and Distribute the result without restriction,
provided the result does not expose a direct interface to the Package.
### Items That are Not Considered Part of a Modified Version
**(9)** Works (including, but not limited to, modules and scripts) that
merely extend or make use of the Package, do not, by themselves, cause
the Package to be a Modified Version. In addition, such works are not
considered parts of the Package itself, and are not subject to the
terms of this license.
### General Provisions
**(10)** Any use, modification, and distribution of the Standard or
Modified Versions is governed by this Artistic License. By using,
modifying or distributing the Package, you accept this license. Do not
use, modify, or distribute the Package, if you do not accept this
license.
**(11)** If your Modified Version has been derived from a Modified
Version made by someone other than you, you are nevertheless required
to ensure that your Modified Version complies with the requirements of
this license.
**(12)** This license does not grant you the right to use any trademark,
service mark, tradename, or logo of the Copyright Holder.
**(13)** This license includes the non-exclusive, worldwide,
free-of-charge patent license to make, have made, use, offer to sell,
sell, import and otherwise transfer the Package with respect to any
patent claims licensable by the Copyright Holder that are necessarily
infringed by the Package. If you institute patent litigation
(including a cross-claim or counterclaim) against any party alleging
that the Package constitutes direct or contributory patent
infringement, then this Artistic License to you shall terminate on the
date that such litigation is filed.
**(14)** **Disclaimer of Warranty:**
THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
anupq-3.3.0/configure 000755 000766 000024 00000554301 14355420746 015061 0 ustar 00mhorn staff 000000 000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for ANU p-Quotient Program package.
#
# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="as_nop=:
if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else \$as_nop
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" )
then :
else \$as_nop
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
test x\"\$blah\" = xblah || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
if (eval "$as_required") 2>/dev/null
then :
as_have_required=yes
else $as_nop
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$as_shell as_have_required=yes
if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
then :
break 2
fi
fi
done;;
esac
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi
fi
if test "x$CONFIG_SHELL" != x
then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno
then :
printf "%s\n" "$0: This script requires a shell more modern than all"
printf "%s\n" "$0: the shells that I found on your system."
if test ${ZSH_VERSION+y} ; then
printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: https://github.com/gap-packages/anupq/issues about your
$0: system, including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ANU p-Quotient Program'
PACKAGE_TARNAME='anupq'
PACKAGE_VERSION='package'
PACKAGE_STRING='ANU p-Quotient Program package'
PACKAGE_BUGREPORT='https://github.com/gap-packages/anupq/issues'
PACKAGE_URL='https://gap-packages.github.io/anupq/'
ac_unique_file="src/pquotient.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_STDIO_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
#ifdef HAVE_STRING_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_header_c_list=
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
GAP_EXEC
GMP_LIBS
GMP_CPPFLAGS
GAP_LDFLAGS
GAP_CFLAGS
GAP_CPPFLAGS
GAPROOT
GAPARCH
SED
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__include
DEPDIR
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
CSCOPE
ETAGS
CTAGS
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL
am__quote'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_silent_rules
enable_maintainer_mode
enable_dependency_tracking
with_gaproot
with_gmp
'
ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures ANU p-Quotient Program package to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/anupq]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ANU p-Quotient Program package:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
--enable-dependency-tracking
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-gaproot= specify root of GAP installation
--with-gmp=PATH Use GMP library. If the argument you supply is "yes"
or , then the version of GMP bundled with GAP
will be used (default). If the argument is "system"
that means the library is reachable with the
standard search path "/usr" or "/usr/local".
Otherwise you give the to the directory which
contains the library. [[default=yes]]
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to .
ANU p-Quotient Program home page: .
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for configure.gnu first; this name is used for a wrapper for
# Metaconfig's "Configure" on case-insensitive file systems.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
ANU p-Quotient Program configure package
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
test -x conftest$ac_exeext
}
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case declares $2.
For example, HP-UX 11i declares gettimeofday. */
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $2 (); below. */
#include
#undef $2
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char $2 ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined __stub_$2 || defined __stub___$2
choke me
#endif
int
main (void)
{
return $2 ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
ac_configure_args_raw=
for ac_arg
do
case $ac_arg in
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append ac_configure_args_raw " '$ac_arg'"
done
case $ac_configure_args_raw in
*$as_nl*)
ac_safe_unquote= ;;
*)
ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
ac_unsafe_a="$ac_unsafe_z#~"
ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
esac
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by ANU p-Quotient Program $as_me package, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
printf "%s\n" "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Sanitize IFS.
IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
printf "%s\n" "$as_me: caught signal $ac_signal"
printf "%s\n" "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
printf "%s\n" "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
for ac_site_file in $ac_site_files
do
case $ac_site_file in #(
*/*) :
;; #(
*) :
ac_site_file=./$ac_site_file ;;
esac
if test -f "$ac_site_file" && test -r "$ac_site_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Test code for whether the C compiler supports C89 (global declarations)
ac_c_conftest_c89_globals='
/* Does the compiler advertise C89 conformance?
Do not test the value of __STDC__, because some compilers set it to 0
while being otherwise adequately conformant. */
#if !defined __STDC__
# error "Compiler does not advertise C89 conformance"
#endif
#include
#include
struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not \xHH hex character constants.
These do not provoke an error unfortunately, instead are silently treated
as an "x". The following induces an error, until -std is added to get
proper ANSI mode. Curiously \x00 != x always comes out true, for an
array size at least. It is necessary to write \x00 == 0 to get something
that is true only with -std. */
int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) '\''x'\''
int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
int, int);'
# Test code for whether the C compiler supports C89 (body of main).
ac_c_conftest_c89_main='
ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
'
# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
// Does the compiler advertise C99 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif
#include
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
// FILE and stderr.
#define debug(...) dprintf (2, __VA_ARGS__)
#define showlist(...) puts (#__VA_ARGS__)
#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
static void
test_varargs_macros (void)
{
int x = 1234;
int y = 5678;
debug ("Flag");
debug ("X = %d\n", x);
showlist (The first, second, and third items.);
report (x>y, "x is %d but y is %d", x, y);
}
// Check long long types.
#define BIG64 18446744073709551615ull
#define BIG32 4294967295ul
#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
#if !BIG_OK
#error "your preprocessor is broken"
#endif
#if BIG_OK
#else
#error "your preprocessor is broken"
#endif
static long long int bignum = -9223372036854775807LL;
static unsigned long long int ubignum = BIG64;
struct incomplete_array
{
int datasize;
double data[];
};
struct named_init {
int number;
const wchar_t *name;
double average;
};
typedef const char *ccp;
static inline int
test_restrict (ccp restrict text)
{
// See if C++-style comments work.
// Iterate through items via the restricted pointer.
// Also check for declarations in for loops.
for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
continue;
return 0;
}
// Check varargs and va_copy.
static bool
test_varargs (const char *format, ...)
{
va_list args;
va_start (args, format);
va_list args_copy;
va_copy (args_copy, args);
const char *str = "";
int number = 0;
float fnumber = 0;
while (*format)
{
switch (*format++)
{
case '\''s'\'': // string
str = va_arg (args_copy, const char *);
break;
case '\''d'\'': // int
number = va_arg (args_copy, int);
break;
case '\''f'\'': // float
fnumber = va_arg (args_copy, double);
break;
default:
break;
}
}
va_end (args_copy);
va_end (args);
return *str && number && fnumber;
}
'
# Test code for whether the C compiler supports C99 (body of main).
ac_c_conftest_c99_main='
// Check bool.
_Bool success = false;
success |= (argc != 0);
// Check restrict.
if (test_restrict ("String literal") == 0)
success = true;
char *restrict newvar = "Another string";
// Check varargs.
success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
test_varargs_macros ();
// Check flexible array members.
struct incomplete_array *ia =
malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
ia->datasize = 10;
for (int i = 0; i < ia->datasize; ++i)
ia->data[i] = i * 1.234;
// Check named initializers.
struct named_init ni = {
.number = 34,
.name = L"Test wide string",
.average = 543.34343,
};
ni.number = 58;
int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543;
// work around unused variable warnings
ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
|| dynamic_array[ni.number - 1] != 543);
'
# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
// Does the compiler advertise C11 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif
// Check _Alignas.
char _Alignas (double) aligned_as_double;
char _Alignas (0) no_special_alignment;
extern char aligned_as_int;
char _Alignas (0) _Alignas (int) aligned_as_int;
// Check _Alignof.
enum
{
int_alignment = _Alignof (int),
int_array_alignment = _Alignof (int[100]),
char_alignment = _Alignof (char)
};
_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
// Check _Noreturn.
int _Noreturn does_not_return (void) { for (;;) continue; }
// Check _Static_assert.
struct test_static_assert
{
int x;
_Static_assert (sizeof (int) <= sizeof (long int),
"_Static_assert does not work in struct");
long int y;
};
// Check UTF-8 literals.
#define u8 syntax error!
char const utf8_literal[] = u8"happens to be ASCII" "another string";
// Check duplicate typedefs.
typedef long *long_ptr;
typedef long int *long_ptr;
typedef long_ptr long_ptr;
// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
struct anonymous
{
union {
struct { int i; int j; };
struct { int k; long int l; } w;
};
int m;
} v1;
'
# Test code for whether the C compiler supports C11 (body of main).
ac_c_conftest_c11_main='
_Static_assert ((offsetof (struct anonymous, i)
== offsetof (struct anonymous, w.k)),
"Anonymous union alignment botch");
v1.i = 2;
v1.w.k = 5;
ok |= v1.i != 5;
'
# Test code for whether the C compiler supports C11 (complete).
ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
${ac_c_conftest_c11_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
${ac_c_conftest_c11_main}
return ok;
}
"
# Test code for whether the C compiler supports C99 (complete).
ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
return ok;
}
"
# Test code for whether the C compiler supports C89 (complete).
ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
return ok;
}
"
as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
# Auxiliary files required by this configure script.
ac_aux_files="compile missing install-sh"
# Locations in which to look for auxiliary files.
ac_aux_dir_candidates="${srcdir}/cnf"
# Search for a directory containing all of the required auxiliary files,
# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
# If we don't find one directory that contains all the files we need,
# we report the set of missing files from the *first* directory in
# $ac_aux_dir_candidates and give up.
ac_missing_aux_files=""
ac_first_candidate=:
printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in $ac_aux_dir_candidates
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
as_found=:
printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
ac_aux_dir_found=yes
ac_install_sh=
for ac_aux in $ac_aux_files
do
# As a special case, if "install-sh" is required, that requirement
# can be satisfied by any of "install-sh", "install.sh", or "shtool",
# and $ac_install_sh is set appropriately for whichever one is found.
if test x"$ac_aux" = x"install-sh"
then
if test -f "${as_dir}install-sh"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
ac_install_sh="${as_dir}install-sh -c"
elif test -f "${as_dir}install.sh"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
ac_install_sh="${as_dir}install.sh -c"
elif test -f "${as_dir}shtool"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
ac_install_sh="${as_dir}shtool install -c"
else
ac_aux_dir_found=no
if $ac_first_candidate; then
ac_missing_aux_files="${ac_missing_aux_files} install-sh"
else
break
fi
fi
else
if test -f "${as_dir}${ac_aux}"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
else
ac_aux_dir_found=no
if $ac_first_candidate; then
ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
else
break
fi
fi
fi
done
if test "$ac_aux_dir_found" = yes; then
ac_aux_dir="$as_dir"
break
fi
ac_first_candidate=false
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
if test -f "${ac_aux_dir}config.guess"; then
ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
fi
if test -f "${ac_aux_dir}config.sub"; then
ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
fi
if test -f "$ac_aux_dir/configure"; then
ac_configure="$SHELL ${ac_aux_dir}configure"
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers include/config.h:include/config.hin"
am__api_version='1.16'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
printf %s "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test ${ac_cv_path_install+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
# Account for fact that we put trailing slashes in our PATH walk.
case $as_dir in #((
./ | /[cC]/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
elif test $ac_prog = install &&
grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# program-specific install script used by HP pwplus--don't use.
:
else
rm -rf conftest.one conftest.two conftest.dir
echo one > conftest.one
echo two > conftest.two
mkdir conftest.dir
if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
test -s conftest.one && test -s conftest.two &&
test -s conftest.dir/conftest.one &&
test -s conftest.dir/conftest.two
then
ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
break 3
fi
fi
fi
done
done
;;
esac
done
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
fi
if test ${ac_cv_path_install+y}; then
INSTALL=$ac_cv_path_install
else
# As a last resort, use the slow shell script. Don't cache a
# value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
printf "%s\n" "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
printf %s "checking whether build environment is sane... " >&6; }
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*)
as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$*" != "X $srcdir/configure conftest.file" \
&& test "$*" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
alias in your environment" "$LINENO" 5
fi
if test "$2" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$2" = conftest.file
)
then
# Ok.
:
else
as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
rm -f conftest.file
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
printf "%s\n" "$STRIP" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
printf "%s\n" "$ac_ct_STRIP" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
printf %s "checking for a race-free mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test ${ac_cv_path_mkdir+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir ('*'coreutils) '* | \
'BusyBox '* | \
'mkdir (fileutils) '4.1*)
ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
break 3;;
esac
done
done
done
IFS=$as_save_IFS
fi
test -d ./--version && rmdir ./--version
if test ${ac_cv_path_mkdir+y}; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# As a last resort, use the slow shell script. Don't cache a
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
MKDIR_P="$ac_install_sh -d"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
printf "%s\n" "$MKDIR_P" >&6; }
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
printf "%s\n" "$AWK" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$AWK" && break
done
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SET_MAKE=
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
then :
enableval=$enable_silent_rules;
fi
case $enable_silent_rules in # (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=1;;
esac
am_make=${MAKE-make}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
printf %s "(cached) " >&6
else $as_nop
if printf "%s\n" 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
if test $am_cv_make_support_nested_variables = yes; then
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AM_BACKSLASH='\'
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
# Define the identity of the package.
PACKAGE='anupq'
VERSION='package'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
# Some tools Automake needs.
ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
#
#
mkdir_p='$(MKDIR_P)'
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar pax cpio none'
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
CTAGS=ctags
fi
if test -z "$ETAGS"; then
ETAGS=etags
fi
if test -z "$CSCOPE"; then
CSCOPE=cscope
fi
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard:
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: .
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
fi
fi
# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
then :
enableval=$enable_silent_rules;
fi
case $enable_silent_rules in # (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=0;;
esac
am_make=${MAKE-make}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
printf %s "(cached) " >&6
else $as_nop
if printf "%s\n" 'TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
if test $am_cv_make_support_nested_variables = yes; then
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AM_BACKSLASH='\'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test ${enable_maintainer_mode+y}
then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else $as_nop
USE_MAINTAINER_MODE=no
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
printf "%s\n" "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
else
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
MAINT=$MAINTAINER_MODE_TRUE
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
printf "%s\n" "$AWK" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$AWK" && break
done
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
printf %s "checking whether the C compiler works... " >&6; }
ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
if { { ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else $as_nop
ac_file=''
fi
if test -z "$ac_file"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
printf %s "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
printf %s "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
printf %s "checking whether $CC understands -c and -o together... " >&6; }
if test ${am_cv_prog_cc_c_o+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
cat > confinc.mk << 'END'
am__doit:
@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
am__include="#"
am__quote=
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
case $?:`cat confinc.out 2>/dev/null` in #(
'0:this is the am__doit target') :
case $s in #(
BSD) :
am__include='.include' am__quote='"' ;; #(
*) :
am__include='include' am__quote='' ;;
esac ;; #(
*) :
;;
esac
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
done
rm -f confinc.* confmf.*
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
printf "%s\n" "${_am_result}" >&6; }
# Check whether --enable-dependency-tracking was given.
if test ${enable_dependency_tracking+y}
then :
enableval=$enable_dependency_tracking;
fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
AMDEP_TRUE='#'
AMDEP_FALSE=
fi
depcc="$CC" am_compiler_list=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CC_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named 'D' -- because '-MD' means "put the output
# in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CC_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle '-M -o', and we need to detect this. Also, some Intel
# versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# After this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CC_dependencies_compiler_type=none
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
am__fastdepCC_FALSE='#'
else
am__fastdepCC_TRUE='#'
am__fastdepCC_FALSE=
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SET_MAKE=
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
printf %s "checking for a sed that does not truncate output... " >&6; }
if test ${ac_cv_path_SED+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
{ ac_script=; unset ac_script;}
if test -z "$SED"; then
ac_path_SED_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_prog in sed gsed
do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_SED_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_SED="$ac_path_SED"
ac_path_SED_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_SED_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_SED"; then
as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
fi
else
ac_cv_path_SED=$SED
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
printf "%s\n" "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Make sure CDPATH is portably set to a sensible value
CDPATH=${ZSH_VERSION+.}:
GAP_CPPFLAGS=""
######################################
# Find the GAP root directory by
# checking for the sysinfo.gap file
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP root directory" >&5
printf %s "checking for GAP root directory... " >&6; }
GAPROOT="../.."
# Allow the user to specify the location of GAP
# Check whether --with-gaproot was given.
if test ${with_gaproot+y}
then :
withval=$with_gaproot; GAPROOT="$withval"
fi
# Convert the path to absolute
GAPROOT=`cd $GAPROOT > /dev/null 2>&1 && pwd`
if test -e ${GAPROOT}/sysinfo.gap; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${GAPROOT}" >&5
printf "%s\n" "${GAPROOT}" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
printf "%s\n" "Not found" >&6; }
echo ""
echo "********************************************************************"
echo " ERROR"
echo ""
echo " Cannot find your GAP installation. Please specify the location of"
echo " GAP's root directory using --with-gaproot="
echo ""
echo " The GAP root directory (as far as this package is concerned) is"
echo " the one containing the file sysinfo.gap"
echo "********************************************************************"
echo ""
as_fn_error $? "Unable to find GAP root directory" "$LINENO" 5
fi
#####################################
# Now find the architecture
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GAP architecture" >&5
printf %s "checking for GAP architecture... " >&6; }
GAPARCH="Unknown"
. $GAPROOT/sysinfo.gap
if test "x$GAParch" != "x"; then
GAPARCH=$GAParch
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GAPARCH" >&5
printf "%s\n" "$GAPARCH" >&6; }
if test "x$GAPARCH" = "xUnknown" ; then
echo ""
echo "********************************************************************"
echo " ERROR"
echo ""
echo " Found a GAP installation at $GAPROOT but could not find"
echo " information about GAP's architecture in the file"
echo " ${GAPROOT}/sysinfo.gap ."
echo " This file should be present: please check your GAP installation."
echo "********************************************************************"
echo ""
as_fn_error $? "Unable to find plausible GAParch information." "$LINENO" 5
fi
# require GAP >= 4.9
if test "x$GAP_CPPFLAGS" = x; then
echo ""
echo "********************************************************************"
echo " ERROR"
echo ""
echo " This version of GAP is too old and not supported by this package."
echo "********************************************************************"
echo ""
as_fn_error $? "No GAP_CPPFLAGS is given" "$LINENO" 5
fi
# compatibility with GAP 4.9 (not needed in GAP >= 4.10)
GAP_CPPFLAGS="$GAP_CPPFLAGS -I${GAP_LIB_DIR}/src"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
GMP_CPPFLAGS=
GMP_LIBS=
# Check whether --with-gmp was given.
if test ${with_gmp+y}
then :
withval=$with_gmp;
else $as_nop
with_gmp=yes
fi
if test "x$with_gmp" = "xno" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Building without GMP support" >&5
printf "%s\n" "$as_me: Building without GMP support" >&6;}
elif test "x$with_gmp" = "xsystem" ; then
# Try using system GMP
GMP_CPPFLAGS=""
GMP_LIBS="-lgmp"
else
# Try using static linked GMP in the specified location
if test "x$with_gmp" = "xyes" ; then
# Try to use GAP's GMP, if available
GMP_HOME="$GAPROOT/extern/install/gmp"
else
GMP_HOME="$with_gmp"
fi;
if test -d ${GMP_HOME}/include && test -d ${GMP_HOME}/lib ; then
GMP_CPPFLAGS="-I${GMP_HOME}/include"
# gross hack follows
if test -r "${GMP_HOME}/lib/libgmp.a" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.a"
elif test -r "${GMP_HOME}/lib/libgmp.dylib" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.dylib"
elif test -r "${GMP_HOME}/lib/libgmp.so" ; then
GMP_LIBS="${GMP_HOME}/lib/libgmp.so"
else
# generic fallback -- unfortunately, this does not ensure that we
# link against exactly that version of libgmp
GMP_LIBS="-L${GMP_HOME}/lib -lgmp"
fi
elif test "x$with_gmp" = "xyes" ; then
# fallback to trying system wide GMP
GMP_CPPFLAGS=""
GMP_LIBS="-lgmp"
else
as_fn_error $? "Could not locate libgmp.a in the specified location" "$LINENO" 5
fi
fi;
have_gmp=no
if test "x$with_gmp" != xno; then
pq_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GMP_CPPFLAGS"
pq_save_LIBS="$LIBS"
LIBS="$LIBS $GMP_LIBS"
ac_header= ac_cache=
for ac_item in $ac_header_c_list
do
if test $ac_cache; then
ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
printf "%s\n" "#define $ac_item 1" >> confdefs.h
fi
ac_header= ac_cache=
elif test $ac_header; then
ac_cache=$ac_item
else
ac_header=$ac_item
fi
done
if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
then :
printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
fi
ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default"
if test "x$ac_cv_header_gmp_h" = xyes
then :
# TODO: Disable linker check for now: It causes problems on Linux, because
# libgmp.a is in the linker command line before the test C file. On the long
# run, this should be re-enabled, though perhaps in a different form.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether linking against GMP works" >&5
printf %s "checking whether linking against GMP works... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
__gmpz_init(0);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
have_gmp=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_gmp" >&5
printf "%s\n" "$have_gmp" >&6; }
fi
# restore FLAGS
CPPFLAGS="$pq_save_CPPFLAGS"
LIBS="$pq_save_LIBS"
fi;
if test "x$have_gmp" = xyes; then
printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h
else
GMP_CPPFLAGS=""
GMP_LIBS=""
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
printf %s "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
if test ${ac_cv_header_sys_wait_h+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#ifndef WEXITSTATUS
# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
#endif
#ifndef WIFEXITED
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
#endif
int
main (void)
{
int s;
wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_header_sys_wait_h=yes
else $as_nop
ac_cv_header_sys_wait_h=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5
printf "%s\n" "$ac_cv_header_sys_wait_h" >&6; }
if test $ac_cv_header_sys_wait_h = yes; then
printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
if test "x$ac_cv_func_gethostname" = xyes
then :
printf "%s\n" "#define HAVE_GETHOSTNAME 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
if test "x$ac_cv_func_strftime" = xyes
then :
printf "%s\n" "#define HAVE_STRFTIME 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing log10" >&5
printf %s "checking for library containing log10... " >&6; }
if test ${ac_cv_search_log10+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char log10 ();
int
main (void)
{
return log10 ();
;
return 0;
}
_ACEOF
for ac_lib in '' m
do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_search_log10=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext
if test ${ac_cv_search_log10+y}
then :
break
fi
done
if test ${ac_cv_search_log10+y}
then :
else $as_nop
ac_cv_search_log10=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_log10" >&5
printf "%s\n" "$ac_cv_search_log10" >&6; }
ac_res=$ac_cv_search_log10
if test "$ac_res" != no
then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
else $as_nop
as_fn_error $? "unable to find the log10() function" "$LINENO" 5
fi
# hack for testPq:
GAP_EXEC="${GAP:-${GAPROOT}/bin/gap.sh}"
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files testPq"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
if test "x$cache_file" != "x/dev/null"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
case $cache_file in #(
*/* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
*)
mv -f confcache "$cache_file" ;;
esac
fi
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
printf %s "checking that generated files are newer than configure... " >&6; }
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
printf "%s\n" "done" >&6; }
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
else
am__EXEEXT_TRUE='#'
am__EXEEXT_FALSE=
fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
as_fn_error $? "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by ANU p-Quotient Program $as_me package, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
config_commands="$ac_config_commands"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
instantiate the configuration header FILE
Configuration files:
$config_files
Configuration headers:
$config_headers
Configuration commands:
$config_commands
Report bugs to .
ANU p-Quotient Program home page: ."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
ANU p-Quotient Program config.status package
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Copyright (C) 2021 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
printf "%s\n" "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
printf "%s\n" "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
printf "%s\n" "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
printf "%s\n" "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"include/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/config.h:include/config.hin" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"testPq") CONFIG_FILES="$CONFIG_FILES testPq" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp= ac_tmp=
trap 'exit_status=$?
: "${ac_tmp:=$tmp}"
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.
# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
if test -z "$ac_tt"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any. Preserve backslash
# newline sequences.
ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[ ]*#[ ]*define[ ][ ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' >$CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
for (key in D) D_is_set[key] = 1
FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
line = \$ 0
split(line, arg, " ")
if (arg[1] == "#") {
defundef = arg[2]
mac1 = arg[3]
} else {
defundef = substr(arg[1], 2)
mac1 = arg[2]
}
split(mac1, mac2, "(") #)
macro = mac2[1]
prefix = substr(line, 1, index(line, defundef) - 1)
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
print prefix "define", macro P[macro] D[macro]
next
} else {
# Replace #undef with comments. This is necessary, for example,
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
print "/*", prefix defundef, macro, "*/"
next
}
}
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
printf "%s\n" "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`printf "%s\n" "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
ac_MKDIR_P=$MKDIR_P
case $MKDIR_P in
[\\/$]* | ?:[\\/]* ) ;;
*/*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$ac_tmp/stdin"
case $ac_file in
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
# CONFIG_HEADER
#
if test x"$ac_file" != x-; then
{
printf "%s\n" "/* $configure_input */" >&1 \
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
} >"$ac_tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$ac_tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
printf "%s\n" "/* $configure_input */" >&1 \
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
:C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
# TODO: see whether this extra hack can be removed once we start
# requiring Autoconf 2.70 or later.
case $CONFIG_FILES in #(
*\'*) :
eval set x "$CONFIG_FILES" ;; #(
*) :
set x $CONFIG_FILES ;; #(
*) :
;;
esac
shift
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
do
# Strip MF so we end up with the name of the file.
am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile which includes
# dependency-tracking related rules and includes.
# Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|| continue
am_dirpart=`$as_dirname -- "$am_mf" ||
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$am_mf" : 'X\(//\)[^/]' \| \
X"$am_mf" : 'X\(//\)$' \| \
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$am_mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
am_filepart=`$as_basename -- "$am_mf" ||
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
X"$am_mf" : 'X\(//\)$' \| \
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$am_mf" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles" >&5
(cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } || am_rc=$?
done
if test $am_rc -ne 0; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. If GNU make was not used, consider
re-running the configure script with MAKE=\"gmake\" (or whatever is
necessary). You can also try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).
See \`config.log' for more details" "$LINENO" 5; }
fi
{ am_dirpart=; unset am_dirpart;}
{ am_filepart=; unset am_filepart;}
{ am_mf=; unset am_mf;}
{ am_rc=; unset am_rc;}
rm -f conftest-deps.mk
}
;;
"testPq":F) chmod +x testPq ;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
anupq-3.3.0/standalone/ 000755 000766 000024 00000000000 14355420571 015266 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/CHANGES 000644 000766 000024 00000032564 14355420571 014143 0 ustar 00mhorn staff 000000 000000 In this file we record the changes since the first GAP 4 release of
the ANUPQ package.
Version 3.3.0 (2023-01-05)
* Fix some issues in the documentation
* Remove `ANUPQGlobalVariables`
* Remove most uses of `HideGlobalVariables`
* Avoid using internal undocumented GAP functions
* Update build system
* Remove GAP 4.2 compatibility code
Version 3.2.6 (2022-03-07)
* Declared the ANUPQ package to be under the Artistic License 2.0.
* Fix crash in PqDescendantsTreeCoclassOne
* Various janitorial changes
Version 3.2.5 (2022-02-22)
* Fixed a hang on macOS 10.15 and later
Version 3.2.4 (2022-02-22)
* Fixed more compatibly issues under Windows/Cygwin
* Fixed an issue that prevents anupq from linking on some systems
Version 3.2.3 (2021-10-31)
* Various janitorial changes, e.g. to the build system
Version 3.2.2 (2021-04-11)
* Fixed compatibly issues under Windows/Cygwin
* Fixed many compiler warnings
* Removed use of TemporaryGlobalVarName
* Fixed building the manual on Linux
* Update Max Horn's contact details
Version 3.2.1 (2019-04-18)
* After some back and forth, drop the limitation on 32-bit builds again;
it turns out that 64-bit builds can work just fine
* Added a patch by Laurent Bartholdi to the ANUPQ standalone binary,
which helps computing lower central quotients in certain cases
* Fixed a bug in PqEpimorphism which could produce a wrong result if the
input was a p-group but not an fp-group
* Various janitorial changes, e.g. to the build system
Version 3.2 (2017-11-29)
* Document that ANUPQ is 32-bit only and requires a 32-bit compiler.
* Change build system to enforce 32-bit compilation by adding -m32 to CFLAGS
and LDFLAGS.
* Fix compilation if GMP was not found, and fix interaction between
GAP code and the anupq binary in that case
* Compatible with GAP 4.9
* Internal changes (avoid using GAP function SetFeatureObj, and the
unix functions tmpnam() and tempnam())
Version 3.1.5 (2017-07-20)
* Fix bug in configure script which made it warn about testPq
missing when running configure the first time
* Improve error message when launching child processes fails
* Updated README section about the ANUPQ documentation
Version 3.1.4 (2016-03-08)
* Remove some obsolete test scripts
* Revise how the manual is built
Version 3.1.3 (2016-01-10)
* Fixed version and release date in the manual
* Fixed some minor issues with the manual contents
* Fixed the PackageDoc entry in the PackageInfo.g file
Version 3.1.2 (2016-01-07)
o Converted manual to GAPDoc format.
o Once again tweaked the build system. It now uses automake, and
shares code with other packages like io and nq. This fixes various
annoyances and will make it easy to share future fixes and
improvements between multiple GAP packages.
o Moved package homepage to https://gap-packages.github.io/anupq/
Version 3.1.1 (2013-11-19)
o Updated the manual to match recent changes.
o Corrected Greg Gamble's email address.
o Further improved the build system.
o Fixed the testPq script.
Version 3.1 (2013-09-24; never publicly announced)
o Requires at least GAP 4.5 and AutPGrp 1.5.
o include/pq_author.h:
pq program is now version 1.9
o Improved the build system: It now makes use of GNU autoconf, and
the various Makefiles are now more robust, and compatible with
both GAP 4.4 and 4.5. This should simplify building anupq for
many users.
o Werner Nickel is no longer maintainer.
o Max Horn is new (co-)maintainer.
o Fixed some warnings in the C code.
Version 3.0 (2006-01-24)
o lib/{anupga.gi,anupq.gi,anupqprop.gi,anupqxdesc.gi}:
deprecated `PrimeOfPGroup' replaced by `PrimePGroup'
o lib/anusp.gi:
improved non-isomorphism test in `IsPqIsomorphicPGroup' from
checking the exponent-p length to checking the order of the
terms in the lower exponent-p central series (suggested by
Marco Costantini), and corrected by Jack Schmidt
o pre-GAP 4.4 compatibility features removed:
- lib/anupqhead.g:
. banner removed ... this role is performed by PackageInfo.g
since GAP 4.4; thus `pkgbanner' option no longer exists
. file split into lib/anupqhead.gd and lib/anupqhead.gi
- lib/anupq4r2cpt.g[di]:
(GAP 4.2 compatibility) deleted from distribution
- lib/anustab.gi:
changed `AutPGrp' package test to corresponding GAP 4.4 test
- read.g,init.g:
. removed all but the `ReadPkg' commands
. changed `ReadPkg' to `ReadPackage'
. made adjustments for lib/anupqhead.g split
o src/GAP_link_via_file.c:
deprecated GAP code updated for version 4.4
o include/pq_author.h:
pq program is now version 1.8
o standalone-doc/{README,guide.tex}:
modified for version 1.8 of the pq program
o testPq.in
- updated to check for GAP 4.4 and AutPGrp 1.2 as minimum versions
- now also checks the version of the pq program
o PackageInfo.g,README,VERSION,doc/{manual,intro,infra,install}.tex:
- package version changed from 2.2 to 3.0
- AutPGrp package (at least 1.2) is now essential, not just
recommended
- pq program now version 1.8
Version 2.2:
o PackageInfo.g, README, VERSION, doc/{intro,infra,install}.tex:
- fixed typo. in PackageInfo.g: test file is tst/anupqeg.tst
- package version changed from 2.1 to 2.2
Version 2.1:
o lib/anupqi, tst/anupqeg.tst
fix for a bug discovered by Tobias Rossmann: this bug was caused
in the ANUPQ package's interface by not passing on the parameter
StepSize to the standalone properly. This bug could result in
computing the wrong number of descendants. Produced a new
test file
o lib/anupqi.gi, Makefile.in, tst/anupqeg.tsk, tst/anupqeg.tst
changes suggested by Gary Zablackis in order to make the package
run under Windows:
- use '[grp]' as intermediate filename instead of ''
- add target to the makefile for compiling the standalone
with cygwin
- run PqQuitAll() more often in test example
o src/store_definition_sets.c:
binomial coefficient algorithm modified to avoid overflow
o include/pq_author.h:
pq program is now version 1.7
o standalone-doc/{README,guide.tex}:
modified for version 1.7 of the pq program
o PackageInfo.g, README, VERSION,
doc/{manual,intro,infra,anupq,options,install}.tex:
- package version changed from 2.0 to 2.1
- pq program version changed from 1.6 to 1.7
Version 2.0:
o include/pq_author.h:
pq program is now version 1.6
o src/GAP_link_via_file.c:
newline now added to output to GAP
o src/{GAP_present.c,pgroup.c},
lib/{anupga.gi,anupqi.gi,anustab.gi}:
changes to remedy bug reported by Boris Girnat (thanks Boris!)
where too many descendants were generated for a group of class
more than 1 with insoluble automorphism group
o standalone/examples/README:
updated with version 1.6 change
o standalone/examples/pga_*, tst/test[123].pga:
each file modified due to version 1.6 change
(pq now asks an additional question: how many soluble automorphisms?
- for all pga examples answer is 0)
o standalone-doc/{README,guide.tex}:
modified for version 1.6 of the pq program
o tst/out/test[123].out
modified as per above
o examples/PqSupplementInnerAutomorphisms:
`PqSupplementInnerAutomorphisms' now returns a record rather than
a group; example modified accordingly
o lib/anupq.gi:
`GAPInfo.DirectoriesTemporary' replaces `DIRECTORIES_TEMPORARY'
o lib/anupqopt.gi:
added two new options for `PqPGSupplyAutomorphisms', namely
`NumberOfSolubleAutomorphisms' and `RelativeOrders'
o README, VERSION,
doc/{manual,intro,infra,anupq,options,install}.tex:
- package version changed from 1.5 to 2.0
- pq program version changed from 1.5 to 1.6
- various GAP 4.4 documentation changes
- `PqSupplementInnerAutomorphisms' example modified
o PkgInfo.g replaced by PackageInfo.g
- `Pkg...' fields replaced by `Package...' fields
- `AutoLoad' fields replaced by `Autoload'
- now defines `Subtitle' fields
- package version changed from 1.5 to 2.0
o testPq.in:
changes for GAP 4.4
o init.g:
- for GAP 4.3 compatibility, if GAP 4.3 then
`GAPInfo' record defined with entries:
. `DirectoriesTemporary' defined to be `DIRECTORIES_TEMPORARY'
. `Version' which is defined to be the contents of VERSION
- commented out deprecated stuff deleted
- undocumented ANUPQPackageVersion() function removed
o make_zoo:
now includes doc/manual.{lab,toc}
o tst/anupqeg.tst:
modified for `PqSupplementInnerAutomorphisms' change
Version 1.5:
o lib/anupqios.gi:
typo. (and bug!) on line 541 fixed (1 changed to i);
thanks to Robert Morse for spotting it.
o PkgInfo.g, lib/anupqhead.g:
banner generated by `BannerString' field of PkgInfo.g
record, rather than by lib/anupqhead.g for GAP 4.4+.
o README, VERSION, PkgInfo.g, doc/{install,intro,infra}.tex
1.4 changed to 1.5
Version 1.4:
o src/malloc.h:
debugging file removed
o src/print_multiweight.c:
removed unnecessary line: #include
o README, VERSION, PkgInfo.g, doc/{install,intro,infra}.tex
1.3 changed to 1.4
o testPq.in:
Added more bullet-proofing, and more intelligent messages when
things go wrong
Version 1.3:
o init.g:
- now use `StringFile' rather than iostreams to read `VERSION'
(more efficient)
- now looks for version 1.1 of AutPGrp
o testPq.in:
- Added -A option to GAP command.
- now looks for version 1.1 of AutPGrp
o lib/{anusp.gi,anupga.gi}:
On suggestion of Alexander Hulpke added `IsSyllableWordsFamily'
as first argument to `FreeGroup' commands when the group is
subsequently converted to a pc group (more efficient)
o tst/anupqeg.tst:
Remade.
o doc/basics.tex:
Fixed typo.
o README, VERSION, PkgInfo.g, doc/{install,intro,infra}.tex
1.2 changed to 1.3
Version 1.2:
A number of bugs to do with the input of generators/relations were
identified by Robert Morse (thanks Robert):
o PQ_GROUP_FROM_PCP (lib/anupq.gi line 531):
`GroupHomomorphismByImages' replaced by `GroupHomomorphismByImagesNC'
Reason: The check was unnecessary and slowed things down enormously.
o PQ_PC_PRESENTATION (lib/anupq.gi):
- datarec.gens, datarec.rels: previously `String' was applied to
the generators/relators provided and then stored in datarec.gens,
datarec.rels; this can be enormously costly. Now, no processing
is done when GAP already has them in another form (for pc groups,
however, the relators are calculated as before and stored as
strings, in datec.rels). The conversion to String is now only done
at the point of transmission to the pq program, and done in `ToPQk'.
- datarec.gens: an Error is now emitted if the number of defining gen'rs
is larger than 511 (the limit imposed by the pq program, see MAXGENS
in `include/runtime.h').
o ToPQk (lib/anupqios.gi):
When `ToPQk' is called with `cmd' equal to "gens" or "rels", cmd is
treated as the field of `datarec' so that the transmission of generators
and relators to the pq program can be treated specially, to improve
efficiency. The data is still split into ``nice'' lines of length < 69
characters, but care is taken to avoid infinite loops when there are
no nice places to break the lines.
Also updated for changes made in GAP 4.3fix4.
o PqSupplementInnerAutomorphisms (lib/anupga.gi):
`SetPcgs' changed to `SetGeneralizedPcgs'.
o PQ_AUT_INPUT (lib/anupqi.gi):
`Pcgs' changed to `GeneralizedPcgs'.
Now requires at least GAP 4.3fix4 and updated AutPGrp package
(in .../autpgrp/gap/autos.gi `ConvertHybridAutGroup' uses
`SetGeneralizedPcgs' in lieu of `SetPcgs'.)
o lib/anupq4r2cpt.g[id]:
deprecated.
o init.g:
commented out backward compatibility with GAP 4.2, since version 1.2
requires GAP 4.3fix4 anyway.
Updated:
o testPq.in:
checks for new requirements mentioned above.
o make_zoo
o README
o doc/{intro.tex,install.tex}
Added:
o PkgInfo.g
Version 1.1:
First GAP 4 release (GAP 4.2 compatible). Updates the GAP 3 release
(Version 1.0). Basically, Version 1.0 and 1.1 are incompatible, being
for different versions of GAP, but as much as was feasible of the original
was retained. Principal differences are:
o the key commands all take one argument, with any of the previous
arguments being input as options; the GAP 3 way of inputting arguments is
still supported for Pq, PqEpimorphism, PqDescendants etc.;
o iostreams are used instead of files to communicate with the pq program;
o the source code has been modified to support a -G option that allows the
pq program to communicate with GAP via the iostream, rather than start
up a new GAP, when it needs GAP to compute stabilisers;
o the source code has also been modified to remove a few bugs;
o the functionality has been significantly increased.
- Greg Gamble -- 9 July, 2002; 3 November, 2002; 28 January, 2004.
anupq-3.3.0/include/ 000755 000766 000024 00000000000 14355420747 014566 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/Makefile.am 000644 000766 000024 00000011163 14355420571 015174 0 ustar 00mhorn staff 000000 000000 ACLOCAL_AMFLAGS = -I m4
BINARCHDIR = bin/$(GAPARCH)
#
# The following are valid compilation flags for the program.
#
#STANDARD_PCP -- if compiling version which permits construction of
# standard presentation
#
#GAP_LINK -- GAP is called by pq to perform insoluble stabiliser calculations
#
#GAP -- if compiling version for incorporation in GAP
#
#DEBUG -- debugging information is generated by a number of procedures
#
# Change features of executable
#
#RUN_TIME -- supply maximum number of defining generators and class bound
# at run-time (see README file for further details)
#
#TAILS_FILTER -- apply filter for exponent 4 and 5 and max occurrences
#
#CONSISTENCY_FILTER -- apply filter for exponent 4 and 5 and max occurrences
#
#
PQFLAGS = -DGAP_LINK_VIA_FILE -DGAP -DSTANDARD_PCP -DGROUP
PQFLAGS += -DANUPQ_GAP_EXEC='"@GAP_EXEC@"'
bin_PROGRAMS = pq
pq_LDADD = $(GMP_LIBS)
pq_CPPFLAGS = $(GMP_CPPFLAGS) $(PQFLAGS)
pq_CFLAGS = -Wall -Wextra -Wno-unused-parameter
pq_SOURCES = \
src/AllocateSpace.c \
src/CloseFile.c \
src/Extend_Auts.c \
src/FreeSpace.c \
src/GAP.c \
src/GAP_link_via_file.c \
src/GAP_present.c \
src/OpenFile.c \
src/TemporaryFile.c \
src/action.c \
src/assemble_matrix.c \
src/autgp_order.c \
src/calculate_jacobi.c \
src/central_auts.c \
src/check_exponent.c \
src/class1_eliminate.c \
src/close_relations.c \
src/close_subgroup.c \
src/collect.c \
src/collect_comm.c \
src/collect_gen_word.c \
src/collect_relations.c \
src/collect_word.c \
src/collectp2.c \
src/commutator.c \
src/commute_dgen.c \
src/compact.c \
src/compact_description.c \
src/consistency.c \
src/consistency_filter.c \
src/consistency_info.c \
src/construct.c \
src/convert.c \
src/defaults_pga.c \
src/degree.c \
src/delete_tables.c \
src/down_class.c \
src/echelon.c \
src/echelonise_matrix.c \
src/eliminate.c \
src/expand_commutator.c \
src/exponent_auts.c \
src/exponent_info.c \
src/extend_automorphisms.c \
src/extend_matrix.c \
src/extend_representation.c \
src/extra_relations.c \
src/find_allowable_subgroup.c \
src/find_image.c \
src/find_permutation.c \
src/formula.c \
src/generator_definition.c \
src/get_definition_sets.c \
src/identity.c \
src/immediate_descendant.c \
src/initialise_pcp.c \
src/initialise_pga.c \
src/insoluble_orbits.c \
src/int_power.c \
src/interactive_pga.c \
src/interactive_pq.c \
src/invert.c \
src/invert_auts.c \
src/invert_modp.c \
src/is_genlim_exceeded.c \
src/is_space_exhausted.c \
src/isom_options.c \
src/iteration.c \
src/jacobi.c \
src/label_to_subgroup.c \
src/last_class.c \
src/list_commutators.c \
src/map_relations.c \
src/matrix.c \
src/maxoccur.c \
src/multiply_word.c \
src/next_class.c \
src/options.c \
src/orbit_summary.c \
src/permute_elements.c \
src/permute_subgroups.c \
src/pgroup.c \
src/power.c \
src/pquotient.c \
src/pretty_filter.c \
src/pretty_filterfns.c \
src/print_arrays.c \
src/print_auts.c \
src/print_level.c \
src/print_multiweight.c \
src/print_presentation.c \
src/print_structure.c \
src/print_word.c \
src/read.c \
src/read_auts.c \
src/read_parameters.c \
src/read_relations.c \
src/read_relator_file.c \
src/read_value.c \
src/read_word.c \
src/reduce_matrix.c \
src/reduced_covers.c \
src/report_error.c \
src/restore_group.c \
src/setup.c \
src/setup_reps.c \
src/soluble_orbits.c \
src/solve_equation.c \
src/stabiliser.c \
src/stages.c \
src/standard.c \
src/start_group.c \
src/start_iteration.c \
src/step_range.c \
src/store_definition_sets.c \
src/strip_identities.c \
src/subgroup_to_label.c \
src/system.c \
src/tail_info.c \
src/tails.c \
src/tails_filter.c \
src/text.c \
src/update.c \
src/update_generators.c \
src/update_name.c \
src/write.c \
src/main.c
all-local: pq$(EXEEXT)
$(mkdir_p) $(top_srcdir)/$(BINARCHDIR)
rm -f $(abs_top_srcdir)/$(BINARCHDIR)/pq$(EXEEXT)
cp pq$(EXEEXT) $(abs_top_srcdir)/$(BINARCHDIR)
@echo "SUCCESS!"
clean-local:
rm -rf $(BINARCHDIR)
(cd doc && rm -f *.aux *.bbl *.blg *.brf *.idx *.ilg *.ind *.log *.out *.pnr *.toc)
(cd standalone-doc && rm -rf *.aux *.log *.toc)
distclean-local:
(cd examples; make distclean)
rm -rf standalone/bin
doc:
$(GAP_EXEC) -A --quitonbreak -b -q < makedoc.g
.PHONY: doc
#test:
# (cd examples; make)
anupq-3.3.0/README.md 000644 000766 000024 00000020322 14355420571 014414 0 ustar 00mhorn staff 000000 000000 [](https://github.com/gap-packages/anupq/actions?query=workflow%3ACI+branch%3Amaster)
[](https://codecov.io/gh/gap-packages/anupq)
# The ANUPQ package
The ANUPQ package is a GAP4 interface with the ANU pq C program written
by Eamonn O'Brien. The ANU pq C program provides access to
implementations of the following algorithms:
1. A p-quotient algorithm to compute a power-commutator presentation for
a group of prime power order. The algorithm implemented here is based on
that described in Newman and O'Brien (1996), Havas and Newman (1980), and
papers referred to there. Another description of the algorithm appears in
Vaughan-Lee (1990). A FORTRAN implementation of this algorithm was
programmed by Alford and Havas. The basic data structures of that
implementation are retained.
2. A p-group generation algorithm to generate descriptions of groups of
prime power order. The algorithm implemented here is based on the
algorithms described in Newman (1977) and O'Brien (1990). A FORTRAN
implementation of this algorithm was earlier developed by Newman and
O'Brien.
3. A standard presentation algorithm used to compute a canonical
power-commutator presentation of a p-group. The algorithm implemented
here is described in O'Brien (1994).
4. An algorithm which can be used to compute the automorphism group of a
p-group. The algorithm implemented here is described in O'Brien (1994).
The following section describes the installation of the ANUPQ package. A
description of the functions available in the ANUPQ package is given in
the package manual in the doc directory. For details about the
implementation and the standalone version see the README and guide.dvi in
the standalone-doc directory.
## Obtaining the ANUPQ package
Note that, owing to its C code component, the ANUPQ package can be
installed under UNIX or in environments similar to UNIX. In particular
it is known to work on Linux and Mac OS X, and also on Windows equipped
with cygwin.
You can download `anupq-XXX.tar.gz` (where `XXX` is the package version
number) from the home page for the ANUPQ package
or via the GAP web site
## Installing the ANUPQ package
To install the ANUPQ package, move the file `anupq-.tar.gz` into the
`pkg` directory in which you plan to install ANUPQ. Usually, this will be
the directory `pkg` in the hierarchy of your version of GAP 4. (However,
it is also possible to keep an additional `pkg` directory in your private
directories, see section "ref:Installing GAP Packages" of the GAP 4
reference manual for details on how to do this.)
ANUPQ package requires at least GAP 4.9 and AutPGrp 1.5, although we
recommend using the most recent versions of each. ANUPQ optionally
supports using GMP for large integer support.
Unpack the archive `anupq-.tar.gz` in the `pkg` directory.
Change directory to the newly created `anupq` directory. Now you need to
call `configure`. If you installed ANUPQ into the main `pkg` directory,
simply do this:
./configure
If you installed ANUPQ in another directory than the usual `pkg`
subdirectory, do
./configure --with-gaproot=path
where `path` is a path to the GAP home directory. See
./configure --help
for further options.
Afterwards, you can simply call
make
to compile the binary and to install it in the appropriate place.
The path of GAP (see *Note* below) used by the `pq` binary (the value
`GAP` is set to in the `make` command) may be over-ridden by setting the
environment variable `ANUPQ_GAP_EXEC`. These values are only of interest
when the `pq` program is run as a standalone; however, the `testPq`
script assumes you have set one of these correctly (see Section "Testing
your ANUPQ installation"). When the `pq` program is started from GAP
communication occurs via an iostream, so that the `pq` binary does not
actually need to know a valid path for GAP is this case.
*Note.* By "path of GAP" we mean the path of the command used to invoke
GAP (which should be a script, e.g. the `gap.sh` script generated in the
`bin` directory for the version of GAP when GAP was compiled). The usual
strategy is to copy the `gap.sh` script to a standard location, e.g.
`/usr/local/bin/gap`. It is a mistake to copy the GAP executable `gap`
(in a directory with name of form `bin/`) to the
standard location, since direct invocation of the executable results in
GAP starting without being able to find its own library (a fatal error).
## The ANUPQ package documentation
The ANUPQ package documentation source files, now XML (for GAPDoc), are
found in the `doc` directory. There you should also find `manual.pdf`, a
PDF version of the manual, and various HTML files constituting the HTML
version of the manual (actually there are two HTML versions of the manual,
the one with `_mj` files have MathJax enabled). The initial page for
the HTML version of the manual is `chap0.html` (or `chap0_mj.html` with
MathJax enabled), but you can toggle between the versions, once you have
opened either, with your favourite browser.
## Testing the ANUPQ package installation
Now it is time to test the installation. After doing `configure` and
`make` you will have a `testPq` script. The script assumes that, if the
environment variable `ANUPQ_GAP_EXEC` is set, it is a correct path for
GAP, or otherwise that the `make` call that compiled the `pq` program set
`GAP` to a correct path for GAP (see Section "Running the pq program as a
standalone" in the ANUPQ package manual for more details). To run the
tests, just type:
./testPq
Some of the tests the script runs take a while. Please be patient.
The output you see should be something like the following:
Made dir: /tmp/testPq
Testing installation of ANUPQ Package (version 3.3.0)
The first two tests check that the pq C program compiled ok.
Testing the pq binary ... OK.
Testing the pq binary's stack size ... OK.
The pq C program compiled ok! We test it's the right one below.
The next tests check that you have the right version of GAP
for version 3.1 of the ANUPQ package and that GAP is finding
the right versions of the ANUPQ and AutPGrp packages.
Checking GAP ...
pq binary made with GAP set to: /usr/local/bin/gap
Starting GAP to determine version and package availability ...
GAP version (4.10.1) ... OK.
GAP found ANUPQ package (version 3.3.0) ... good.
GAP found pq binary (version 1.9) ... good.
GAP found AutPGrp package (version 1.5) ... good.
GAP is OK.
Checking the link between the pq binary and GAP ... OK.
Testing the standard presentation part of the pq binary ... OK.
Doing p-group generation (final GAP/ANUPQ) test ... OK.
Tests complete.
Removed dir: /tmp/testPq
Enjoy using your functional ANUPQ package!
## Bug reports
For bug reports, feature requests and suggestions, please refer to
When sending a bug report, remember we will need to be able to reproduce
the problem; so please include:
* The version of GAP you are using; either look at the header when
you start up GAP, or at the gap> prompt type: GAPInfo.Version;
* The operating system you are using e.g. Linux, Mac OS X, Windows,
FreeBSD, Solaris...
* The compiler you used to compile `pq` and the options you used.
Type: gcc -v or: cc -version, and look in Makefile for the
value of CC to find out.
* A script, either in GAP or standalone `pq`, that demonstrates the
bug, along with a description of why it's a bug (e.g. by adding
comments to the script - recall, comments, both in GAP or
standalone `pq`, begin with a #).
## License
The ANUPQ package is licensed under the Artistic License 2.0.
For the exact terms of this license, please refer to the `LICENSE`
file provided to you as part of the ANUPQ package, or refer to
.
anupq-3.3.0/cnf/ 000755 000766 000024 00000000000 14355420747 013711 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/makedoc.g 000644 000766 000024 00000001162 14355420571 014711 0 ustar 00mhorn staff 000000 000000 if fail = LoadPackage("AutoDoc", ">= 2016.01.21") then
Error("AutoDoc 2016.01.21 or newer is required");
fi;
# Use AutoDoc to regenerate the manual title page with data from
# PackageInfo.g (i.e. make sure the author and version information is
# up-to-date).
AutoDoc(rec(
scaffold := rec(
includes := [
"intro.xml",
"basics.xml",
"infra.xml",
"non-interact.xml",
"interact.xml",
"options.xml",
"install.xml",
],
appendix := [ "examples.xml" ],
entities := [ "ANUPQ", "AutPGrp" ],
)
));
QUIT;
anupq-3.3.0/examples/ 000755 000766 000024 00000000000 14355420571 014754 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/testPq.in 000644 000766 000024 00000022061 14355420571 014747 0 ustar 00mhorn staff 000000 000000 #!/usr/bin/env perl
# Turn on autoflush
local $| = 1;
$pwd = `pwd`;
chomp $pwd;
$tstdir = "$pwd/tst";
$i = "";
$tmpdir = "/tmp/testPq";
while ( (-d "$tmpdir$i") && !(-W "$tmpdir$i") ) { $i++ }
$tmpdir .= $i;
system("rm -rf $tmpdir; mkdir $tmpdir");
print "Made dir: $tmpdir\n";
$ANUPQversion = "@PACKAGE_VERSION@";
$pqbinaryversion = "1.9";
$AutPGrpversion = "1.5";
$GAPversion = "4.5"; # required GAP version for ANUPQ
print "Testing installation of ANUPQ Package (version $ANUPQversion)\n\n",
"The first two tests check that the pq C program compiled ok.\n";
$pq = "$pwd/bin/@GAPARCH@/pq";
### standalone tests ###############################################
# Test 1
print "Test 1: Testing the pq binary ...";
check("test1.pga", "");
# Test 2
print "Test 2: Testing the pq binary's stack size ...";
check("test2.pga", "");
print "The pq C program compiled ok! We test it's the right one below.\n\n",
"The next tests check that you have the right version of GAP\n",
"for version $ANUPQversion of the ANUPQ package and that GAP is finding\n",
"the right versions of the ANUPQ and AutPGrp packages.\n\n";
### GAP - ANUPQ package tests #####################################
# Test GAP
print "Checking GAP ...\n";
$pq_does_not_know_GAP = 0;
$GAP_EXEC = "@GAP_EXEC@";
if ( ($gap = $ENV{ANUPQ_GAP_EXEC}) ne "" ) {
print " Found ANUPQ_GAP_EXEC environment variable set to: $gap\n";
} elsif ($GAP_EXEC ne "") {
chomp($gap = $GAP_EXEC);
print " pq binary made with GAP set to: $gap\n";
} else {
$pq_does_not_know_GAP = 1;
chomp($gap = `which gap4` || `which gap`);
print " Found gap: $gap\n";
}
open( GAPIN, ">$tmpdir/gapinput");
print GAPIN
"CompareVersionNumbers(GAPInfo.Version, \"$GAPversion\");\n",
"GAPInfo.Version;\n",
"SetInfoLevel(InfoWarning, 0); # switch off warning messages\n",
"TestPackageAvailability(\"anupq\", \"$ANUPQversion\");\n",
"if LoadPackage(\"anupq\", \"$ANUPQversion\") = true then\n",
" Print(GAPInfo.PackagesInfo.anupq[1].Version, \"\\n\");\n",
" Print(ANUPQData.version, \"\\n\");\n",
"fi;\n",
"TestPackageAvailability(\"autpgrp\", \"\");\n",
"TestPackageAvailability(\"autpgrp\", \"$AutPGrpversion\");\n",
"if LoadPackage(\"autpgrp\", \"$AutPGrpversion\") = true then\n",
" Print(GAPInfo.PackagesInfo.autpgrp[1].Version);\n",
"elif LoadPackage(\"autpgrp\") = true then\n",
" Print(GAPInfo.PackagesInfo.autpgrp[1].Version, \"\\n\");\n",
"fi;\n";
close GAPIN;
print " Starting GAP to determine version and package availability ...\n";
system("$gap -A -q -r < $tmpdir/gapinput > $tmpdir/gapout");
#print "$tmpdir/gapinput:\n";
#system("more $tmpdir/gapinput");
#print "$tmpdir/gapoutput:\n";
#system("more $tmpdir/gapoutput");
open(GAPOUT, "<$tmpdir/gapout");
$line = ;
while ( $line =~ /^\#W/ ) {
$line = ;
}
$version = ;
if ( $line !~ /(true|false)/ ) { # the GAP 3 case
$version = $line;
}
$version =~ s/"//g;
chomp $version;
if ( $line =~ /true/ ) {
print " GAP version ($version) ... OK.\n";
} elsif ( $line =~ /false/ ) {
die " GAP version ($version) ... too old! At least GAP $GAPversion required!\n";
} else {
die " GAP version ($version) ... please install GAP 4,",
" at least version $GAPversion required!\n\n",
" If you already have a new enough version of GAP 4 installed\n",
" then you probably need to compile pq with an",
" explicit GAP path, e.g.\n\n",
" make GAP=/usr/local/bin/gap4\n";
}
if ( ($line = ) !~ /(fail|#I Error)/ ) {
while ( ($line = ) =~ /^#I/ ) { }
chomp ($ANUPQfoundversion = $line);
if ($ANUPQfoundversion == $ANUPQversion) {
print " GAP found ANUPQ package (version $ANUPQfoundversion) ... good.\n";
} else { # $ANUPQfoundversion > $ANUPQversion
print " GAP found ANUPQ package in a more recent version ",
"($ANUPQfoundversion) ...\n",
" Please check your installation!\n";
}
} else {
die " GAP did not find version $ANUPQversion of ANUPQ package ... \n".
" Please check installation instructions for ANUPQ package.\n";
}
if ( ($line = ) !~ /(fail|#I Error)/ ) {
chomp ($pqbinaryfoundversion = $line);
if ($pqbinaryversion eq $pqbinaryfoundversion) {
print " GAP found pq binary (version $pqbinaryfoundversion) ... good.\n";
} else {
die " GAP found pq binary (version $pqbinaryfoundversion) ... not current!\n",
" ANUPQ $ANUPQversion uses version $pqbinaryversion of ",
"the pq program.\n",
" It seems an earlier installation has been found?!\n";
}
} else {
die " GAP does not have the appropriate pq program installed ... \n",
" ANUPQ $ANUPQversion uses version $pqbinaryversion of \n",
" the pq program.\n";
}
if ( ($line = ) !~ /(fail|#I Error)/ ) {
if ( ($line = ) !~ /(fail|#I Error)/ ) {
chomp ($AutPGrpfoundversion = );
print " GAP found AutPGrp package (version $AutPGrpfoundversion) ... good.\n";
} else {
chomp ($AutPGrpfoundversion = );
die " GAP found AutPGrp package (version $AutPGrpfoundversion) ... too old!\n",
" The ANUPQ package requires at least version $AutPGrpversion of ",
"the AutPGrp package.\n";
}
} else {
die " GAP does not have the AutPGrp package installed ... \n",
" The ANUPQ package requires the AutPGrp package \n",
" (at least version $AutPGrpversion) for the computation of \n",
" automorphism groups.\n";
}
close GAPOUT;
print " GAP is OK.\n\n";
# Test 3
print "Test 3: Checking the link between the pq binary and GAP ...";
if ( $pq_does_not_know_GAP ) {
print " failed\n";
die " The environment variable: ANUPQ_GAP_EXEC is not set;\n".
" and the pq binary was made with: make ... GAP=\"\" ??\n".
" Please check the ANUPQ package installation instructions\n".
" and either set the environment variable: ANUPQ_GAP_EXEC, or\n".
" re-make the pq binary setting GAP to a valid path.\n";
}
check("test3.pga", "");
# Test 4
print "Test 4: Testing the standard presentation part of the pq binary ...";
check("test4.sp", "-i -k ");
# Test 5
print "Test 5: Doing p-group generation (final GAP/ANUPQ) test ...";
open( GAPIN, ">$tmpdir/gapinput");
print GAPIN "SetInfoLevel(InfoWarning, 0); LoadPackage( \"anupq\" );;\n",
"SetInfoLevel(InfoWarning, 1);\n",
"SetInfoLevel(InfoANUPQ, 1);\n",
"Test( \"tst/anupga.tst\" );\n";
close GAPIN;
system("$gap -b < $tmpdir/gapinput > $tmpdir/gapout");
open(GAPOUT, "<$tmpdir/gapout");
$seen_gap_prompt = 0;
while () {
$seen_gap_prompt = 1 if ( /^gap> /);
next if ( !$seen_gap_prompt );
if ( /^((gap> )*(\#I --|[+] |Line|$)|true$)/ ) {
next;
} elsif( /Pcgs\(\[ f1, f2, f3, f4 \]\) -> \[ / ) {
next;
} else {
print " error.\n";
die " Please email the file: $tmpdir/gapout\n",
" to Greg.Gamble\@uwa.edu.au\n";
}
}
print " OK.\n",
"Tests complete.\n";
system("rm -rf $tmpdir; mkdir $tmpdir");
print "Removed dir: $tmpdir\n",
"Enjoy using your functional ANUPQ package!\n";
sub check {
my ($file, $opts) = @_;
(my $outfile = $file) =~ s/[.](pga|sp)/.out/;
# run pq over test file and clean out system-dependent stuff
system("( cd $tmpdir; ".
" $pq $opts< $tstdir/$file ".
# ignore first two lines containing hostname and date information
" | tail -n +3 ".
" | grep -v seconds | grep -v '#I --' ".
# sometimes emitted by gap-dev if a C source file CRC is out-of-date
" | grep -v '#W ' ".
# sometimes some shell escape sequence is printed
" | sed -e 's/.\\[\\?.\\[\\?1034h//' ".
# sometimes Info-ed by other packages
" | grep -v 'GAPDoc not available' ".
" | grep -v '#I default' | grep -v '#I a method' ".
" | grep -v '#I underly' | grep -v '#I probably' ".
" | grep -v ' g1, g2' | grep -v ' g18, g19, g20' ".
" > $outfile )");
# now the only differences with the master copy should be due to pq's banner
my @diff = `diff $tstdir/out/$outfile $tmpdir/$outfile`;
if ($diff[0] =~ /^0a1,2/) {
@diff = splice(@diff, 3); #remove first three difference lines
}
if (@diff == 0) {
print " OK.\n";
} else {
#print " differences:\n @diff";
if ( $file =~ /3/ ) {
if ($ENV{ANUPQ_GAP_EXEC} ne "") {
die " Please check the ANUPQ package installation instructions.\n"
." The setting of the environment variable: ANUPQ_GAP_EXEC\n"
." is not a valid path for GAP.\n";
} else {
die " Please check the ANUPQ package installation instructions.\n"
." Value of when the pq was made with: make ... GAP=\n"
." is not a valid path for GAP.\n";
}
} else {
if ( $file =~ /4/ && @diff == 10 &&
!(grep { !/^\d+d\d+$/ && !/^<.*automorphism group/ } @diff) ) {
#differences due to not compiling with gmp
print " OK.\n";
} else {
print " error.\n";
die " Please email the file: $tmpdir/$outfile\n",
" to Greg.Gamble\@uwa.edu.au\n";
}
}
}
}
anupq-3.3.0/lib/ 000755 000766 000024 00000000000 14355420571 013704 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/m4/ 000755 000766 000024 00000000000 14355420571 013456 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/doc/ 000755 000766 000024 00000000000 14355420744 013705 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/tst/ 000755 000766 000024 00000000000 14355420571 013750 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/init.g 000644 000766 000024 00000001623 14355420571 014253 0 ustar 00mhorn staff 000000 000000 #############################################################################
##
#W init.g ANUPQ package Werner Nickel
#W Greg Gamble
##
#############################################################################
##
#R Read the head file and declaration files.
##
ReadPackage( "anupq", "lib/anupqhead.gd" );
ReadPackage( "anupq", "lib/anupqprop.gd" );
ReadPackage( "anupq", "lib/anupq.gd" );
ReadPackage( "anupq", "lib/anupga.gd" );
ReadPackage( "anupq", "lib/anusp.gd" );
ReadPackage( "anupq", "lib/anupqopt.gd" );
ReadPackage( "anupq", "lib/anupqios.gd" );
ReadPackage( "anupq", "lib/anupqi.gd" );
ReadPackage( "anupq", "lib/anupqid.gd" );
ReadPackage( "anupq", "lib/anustab.gd" );
ReadPackage( "anupq", "lib/anupqxdesc.gd" );
#E init.g . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here
anupq-3.3.0/standalone-doc/ 000755 000766 000024 00000000000 14355420571 016031 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/Makefile.in 000644 000766 000024 00001141403 14355420747 015214 0 ustar 00mhorn staff 000000 000000 # Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
bin_PROGRAMS = pq$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/find_gap.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES = testPq
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__dirstamp = $(am__leading_dot)dirstamp
am_pq_OBJECTS = src/pq-AllocateSpace.$(OBJEXT) \
src/pq-CloseFile.$(OBJEXT) src/pq-Extend_Auts.$(OBJEXT) \
src/pq-FreeSpace.$(OBJEXT) src/pq-GAP.$(OBJEXT) \
src/pq-GAP_link_via_file.$(OBJEXT) \
src/pq-GAP_present.$(OBJEXT) src/pq-OpenFile.$(OBJEXT) \
src/pq-TemporaryFile.$(OBJEXT) src/pq-action.$(OBJEXT) \
src/pq-assemble_matrix.$(OBJEXT) src/pq-autgp_order.$(OBJEXT) \
src/pq-calculate_jacobi.$(OBJEXT) \
src/pq-central_auts.$(OBJEXT) src/pq-check_exponent.$(OBJEXT) \
src/pq-class1_eliminate.$(OBJEXT) \
src/pq-close_relations.$(OBJEXT) \
src/pq-close_subgroup.$(OBJEXT) src/pq-collect.$(OBJEXT) \
src/pq-collect_comm.$(OBJEXT) \
src/pq-collect_gen_word.$(OBJEXT) \
src/pq-collect_relations.$(OBJEXT) \
src/pq-collect_word.$(OBJEXT) src/pq-collectp2.$(OBJEXT) \
src/pq-commutator.$(OBJEXT) src/pq-commute_dgen.$(OBJEXT) \
src/pq-compact.$(OBJEXT) src/pq-compact_description.$(OBJEXT) \
src/pq-consistency.$(OBJEXT) \
src/pq-consistency_filter.$(OBJEXT) \
src/pq-consistency_info.$(OBJEXT) src/pq-construct.$(OBJEXT) \
src/pq-convert.$(OBJEXT) src/pq-defaults_pga.$(OBJEXT) \
src/pq-degree.$(OBJEXT) src/pq-delete_tables.$(OBJEXT) \
src/pq-down_class.$(OBJEXT) src/pq-echelon.$(OBJEXT) \
src/pq-echelonise_matrix.$(OBJEXT) src/pq-eliminate.$(OBJEXT) \
src/pq-expand_commutator.$(OBJEXT) \
src/pq-exponent_auts.$(OBJEXT) src/pq-exponent_info.$(OBJEXT) \
src/pq-extend_automorphisms.$(OBJEXT) \
src/pq-extend_matrix.$(OBJEXT) \
src/pq-extend_representation.$(OBJEXT) \
src/pq-extra_relations.$(OBJEXT) \
src/pq-find_allowable_subgroup.$(OBJEXT) \
src/pq-find_image.$(OBJEXT) src/pq-find_permutation.$(OBJEXT) \
src/pq-formula.$(OBJEXT) src/pq-generator_definition.$(OBJEXT) \
src/pq-get_definition_sets.$(OBJEXT) src/pq-identity.$(OBJEXT) \
src/pq-immediate_descendant.$(OBJEXT) \
src/pq-initialise_pcp.$(OBJEXT) \
src/pq-initialise_pga.$(OBJEXT) \
src/pq-insoluble_orbits.$(OBJEXT) src/pq-int_power.$(OBJEXT) \
src/pq-interactive_pga.$(OBJEXT) \
src/pq-interactive_pq.$(OBJEXT) src/pq-invert.$(OBJEXT) \
src/pq-invert_auts.$(OBJEXT) src/pq-invert_modp.$(OBJEXT) \
src/pq-is_genlim_exceeded.$(OBJEXT) \
src/pq-is_space_exhausted.$(OBJEXT) \
src/pq-isom_options.$(OBJEXT) src/pq-iteration.$(OBJEXT) \
src/pq-jacobi.$(OBJEXT) src/pq-label_to_subgroup.$(OBJEXT) \
src/pq-last_class.$(OBJEXT) src/pq-list_commutators.$(OBJEXT) \
src/pq-map_relations.$(OBJEXT) src/pq-matrix.$(OBJEXT) \
src/pq-maxoccur.$(OBJEXT) src/pq-multiply_word.$(OBJEXT) \
src/pq-next_class.$(OBJEXT) src/pq-options.$(OBJEXT) \
src/pq-orbit_summary.$(OBJEXT) \
src/pq-permute_elements.$(OBJEXT) \
src/pq-permute_subgroups.$(OBJEXT) src/pq-pgroup.$(OBJEXT) \
src/pq-power.$(OBJEXT) src/pq-pquotient.$(OBJEXT) \
src/pq-pretty_filter.$(OBJEXT) \
src/pq-pretty_filterfns.$(OBJEXT) \
src/pq-print_arrays.$(OBJEXT) src/pq-print_auts.$(OBJEXT) \
src/pq-print_level.$(OBJEXT) \
src/pq-print_multiweight.$(OBJEXT) \
src/pq-print_presentation.$(OBJEXT) \
src/pq-print_structure.$(OBJEXT) src/pq-print_word.$(OBJEXT) \
src/pq-read.$(OBJEXT) src/pq-read_auts.$(OBJEXT) \
src/pq-read_parameters.$(OBJEXT) \
src/pq-read_relations.$(OBJEXT) \
src/pq-read_relator_file.$(OBJEXT) src/pq-read_value.$(OBJEXT) \
src/pq-read_word.$(OBJEXT) src/pq-reduce_matrix.$(OBJEXT) \
src/pq-reduced_covers.$(OBJEXT) src/pq-report_error.$(OBJEXT) \
src/pq-restore_group.$(OBJEXT) src/pq-setup.$(OBJEXT) \
src/pq-setup_reps.$(OBJEXT) src/pq-soluble_orbits.$(OBJEXT) \
src/pq-solve_equation.$(OBJEXT) src/pq-stabiliser.$(OBJEXT) \
src/pq-stages.$(OBJEXT) src/pq-standard.$(OBJEXT) \
src/pq-start_group.$(OBJEXT) src/pq-start_iteration.$(OBJEXT) \
src/pq-step_range.$(OBJEXT) \
src/pq-store_definition_sets.$(OBJEXT) \
src/pq-strip_identities.$(OBJEXT) \
src/pq-subgroup_to_label.$(OBJEXT) src/pq-system.$(OBJEXT) \
src/pq-tail_info.$(OBJEXT) src/pq-tails.$(OBJEXT) \
src/pq-tails_filter.$(OBJEXT) src/pq-text.$(OBJEXT) \
src/pq-update.$(OBJEXT) src/pq-update_generators.$(OBJEXT) \
src/pq-update_name.$(OBJEXT) src/pq-write.$(OBJEXT) \
src/pq-main.$(OBJEXT)
pq_OBJECTS = $(am_pq_OBJECTS)
am__DEPENDENCIES_1 =
pq_DEPENDENCIES = $(am__DEPENDENCIES_1)
pq_LINK = $(CCLD) $(pq_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
$@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/cnf/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = src/$(DEPDIR)/pq-AllocateSpace.Po \
src/$(DEPDIR)/pq-CloseFile.Po src/$(DEPDIR)/pq-Extend_Auts.Po \
src/$(DEPDIR)/pq-FreeSpace.Po src/$(DEPDIR)/pq-GAP.Po \
src/$(DEPDIR)/pq-GAP_link_via_file.Po \
src/$(DEPDIR)/pq-GAP_present.Po src/$(DEPDIR)/pq-OpenFile.Po \
src/$(DEPDIR)/pq-TemporaryFile.Po src/$(DEPDIR)/pq-action.Po \
src/$(DEPDIR)/pq-assemble_matrix.Po \
src/$(DEPDIR)/pq-autgp_order.Po \
src/$(DEPDIR)/pq-calculate_jacobi.Po \
src/$(DEPDIR)/pq-central_auts.Po \
src/$(DEPDIR)/pq-check_exponent.Po \
src/$(DEPDIR)/pq-class1_eliminate.Po \
src/$(DEPDIR)/pq-close_relations.Po \
src/$(DEPDIR)/pq-close_subgroup.Po src/$(DEPDIR)/pq-collect.Po \
src/$(DEPDIR)/pq-collect_comm.Po \
src/$(DEPDIR)/pq-collect_gen_word.Po \
src/$(DEPDIR)/pq-collect_relations.Po \
src/$(DEPDIR)/pq-collect_word.Po src/$(DEPDIR)/pq-collectp2.Po \
src/$(DEPDIR)/pq-commutator.Po \
src/$(DEPDIR)/pq-commute_dgen.Po src/$(DEPDIR)/pq-compact.Po \
src/$(DEPDIR)/pq-compact_description.Po \
src/$(DEPDIR)/pq-consistency.Po \
src/$(DEPDIR)/pq-consistency_filter.Po \
src/$(DEPDIR)/pq-consistency_info.Po \
src/$(DEPDIR)/pq-construct.Po src/$(DEPDIR)/pq-convert.Po \
src/$(DEPDIR)/pq-defaults_pga.Po src/$(DEPDIR)/pq-degree.Po \
src/$(DEPDIR)/pq-delete_tables.Po \
src/$(DEPDIR)/pq-down_class.Po src/$(DEPDIR)/pq-echelon.Po \
src/$(DEPDIR)/pq-echelonise_matrix.Po \
src/$(DEPDIR)/pq-eliminate.Po \
src/$(DEPDIR)/pq-expand_commutator.Po \
src/$(DEPDIR)/pq-exponent_auts.Po \
src/$(DEPDIR)/pq-exponent_info.Po \
src/$(DEPDIR)/pq-extend_automorphisms.Po \
src/$(DEPDIR)/pq-extend_matrix.Po \
src/$(DEPDIR)/pq-extend_representation.Po \
src/$(DEPDIR)/pq-extra_relations.Po \
src/$(DEPDIR)/pq-find_allowable_subgroup.Po \
src/$(DEPDIR)/pq-find_image.Po \
src/$(DEPDIR)/pq-find_permutation.Po \
src/$(DEPDIR)/pq-formula.Po \
src/$(DEPDIR)/pq-generator_definition.Po \
src/$(DEPDIR)/pq-get_definition_sets.Po \
src/$(DEPDIR)/pq-identity.Po \
src/$(DEPDIR)/pq-immediate_descendant.Po \
src/$(DEPDIR)/pq-initialise_pcp.Po \
src/$(DEPDIR)/pq-initialise_pga.Po \
src/$(DEPDIR)/pq-insoluble_orbits.Po \
src/$(DEPDIR)/pq-int_power.Po \
src/$(DEPDIR)/pq-interactive_pga.Po \
src/$(DEPDIR)/pq-interactive_pq.Po src/$(DEPDIR)/pq-invert.Po \
src/$(DEPDIR)/pq-invert_auts.Po \
src/$(DEPDIR)/pq-invert_modp.Po \
src/$(DEPDIR)/pq-is_genlim_exceeded.Po \
src/$(DEPDIR)/pq-is_space_exhausted.Po \
src/$(DEPDIR)/pq-isom_options.Po src/$(DEPDIR)/pq-iteration.Po \
src/$(DEPDIR)/pq-jacobi.Po \
src/$(DEPDIR)/pq-label_to_subgroup.Po \
src/$(DEPDIR)/pq-last_class.Po \
src/$(DEPDIR)/pq-list_commutators.Po src/$(DEPDIR)/pq-main.Po \
src/$(DEPDIR)/pq-map_relations.Po src/$(DEPDIR)/pq-matrix.Po \
src/$(DEPDIR)/pq-maxoccur.Po src/$(DEPDIR)/pq-multiply_word.Po \
src/$(DEPDIR)/pq-next_class.Po src/$(DEPDIR)/pq-options.Po \
src/$(DEPDIR)/pq-orbit_summary.Po \
src/$(DEPDIR)/pq-permute_elements.Po \
src/$(DEPDIR)/pq-permute_subgroups.Po \
src/$(DEPDIR)/pq-pgroup.Po src/$(DEPDIR)/pq-power.Po \
src/$(DEPDIR)/pq-pquotient.Po \
src/$(DEPDIR)/pq-pretty_filter.Po \
src/$(DEPDIR)/pq-pretty_filterfns.Po \
src/$(DEPDIR)/pq-print_arrays.Po \
src/$(DEPDIR)/pq-print_auts.Po src/$(DEPDIR)/pq-print_level.Po \
src/$(DEPDIR)/pq-print_multiweight.Po \
src/$(DEPDIR)/pq-print_presentation.Po \
src/$(DEPDIR)/pq-print_structure.Po \
src/$(DEPDIR)/pq-print_word.Po src/$(DEPDIR)/pq-read.Po \
src/$(DEPDIR)/pq-read_auts.Po \
src/$(DEPDIR)/pq-read_parameters.Po \
src/$(DEPDIR)/pq-read_relations.Po \
src/$(DEPDIR)/pq-read_relator_file.Po \
src/$(DEPDIR)/pq-read_value.Po src/$(DEPDIR)/pq-read_word.Po \
src/$(DEPDIR)/pq-reduce_matrix.Po \
src/$(DEPDIR)/pq-reduced_covers.Po \
src/$(DEPDIR)/pq-report_error.Po \
src/$(DEPDIR)/pq-restore_group.Po src/$(DEPDIR)/pq-setup.Po \
src/$(DEPDIR)/pq-setup_reps.Po \
src/$(DEPDIR)/pq-soluble_orbits.Po \
src/$(DEPDIR)/pq-solve_equation.Po \
src/$(DEPDIR)/pq-stabiliser.Po src/$(DEPDIR)/pq-stages.Po \
src/$(DEPDIR)/pq-standard.Po src/$(DEPDIR)/pq-start_group.Po \
src/$(DEPDIR)/pq-start_iteration.Po \
src/$(DEPDIR)/pq-step_range.Po \
src/$(DEPDIR)/pq-store_definition_sets.Po \
src/$(DEPDIR)/pq-strip_identities.Po \
src/$(DEPDIR)/pq-subgroup_to_label.Po \
src/$(DEPDIR)/pq-system.Po src/$(DEPDIR)/pq-tail_info.Po \
src/$(DEPDIR)/pq-tails.Po src/$(DEPDIR)/pq-tails_filter.Po \
src/$(DEPDIR)/pq-text.Po src/$(DEPDIR)/pq-update.Po \
src/$(DEPDIR)/pq-update_generators.Po \
src/$(DEPDIR)/pq-update_name.Po src/$(DEPDIR)/pq-write.Po
am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(pq_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
AM_RECURSIVE_TARGETS = cscope
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
GAPARCH = @GAPARCH@
GAPROOT = @GAPROOT@
GAP_CFLAGS = @GAP_CFLAGS@
GAP_CPPFLAGS = @GAP_CPPFLAGS@
GAP_EXEC = @GAP_EXEC@
GAP_LDFLAGS = @GAP_LDFLAGS@
GMP_CPPFLAGS = @GMP_CPPFLAGS@
GMP_LIBS = @GMP_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
BINARCHDIR = bin/$(GAPARCH)
#
# The following are valid compilation flags for the program.
#
#STANDARD_PCP -- if compiling version which permits construction of
# standard presentation
#
#GAP_LINK -- GAP is called by pq to perform insoluble stabiliser calculations
#
#GAP -- if compiling version for incorporation in GAP
#
#DEBUG -- debugging information is generated by a number of procedures
#
# Change features of executable
#
#RUN_TIME -- supply maximum number of defining generators and class bound
# at run-time (see README file for further details)
#
#TAILS_FILTER -- apply filter for exponent 4 and 5 and max occurrences
#
#CONSISTENCY_FILTER -- apply filter for exponent 4 and 5 and max occurrences
#
#
PQFLAGS = -DGAP_LINK_VIA_FILE -DGAP -DSTANDARD_PCP -DGROUP \
-DANUPQ_GAP_EXEC='"@GAP_EXEC@"'
pq_LDADD = $(GMP_LIBS)
pq_CPPFLAGS = $(GMP_CPPFLAGS) $(PQFLAGS)
pq_CFLAGS = -Wall -Wextra -Wno-unused-parameter
pq_SOURCES = \
src/AllocateSpace.c \
src/CloseFile.c \
src/Extend_Auts.c \
src/FreeSpace.c \
src/GAP.c \
src/GAP_link_via_file.c \
src/GAP_present.c \
src/OpenFile.c \
src/TemporaryFile.c \
src/action.c \
src/assemble_matrix.c \
src/autgp_order.c \
src/calculate_jacobi.c \
src/central_auts.c \
src/check_exponent.c \
src/class1_eliminate.c \
src/close_relations.c \
src/close_subgroup.c \
src/collect.c \
src/collect_comm.c \
src/collect_gen_word.c \
src/collect_relations.c \
src/collect_word.c \
src/collectp2.c \
src/commutator.c \
src/commute_dgen.c \
src/compact.c \
src/compact_description.c \
src/consistency.c \
src/consistency_filter.c \
src/consistency_info.c \
src/construct.c \
src/convert.c \
src/defaults_pga.c \
src/degree.c \
src/delete_tables.c \
src/down_class.c \
src/echelon.c \
src/echelonise_matrix.c \
src/eliminate.c \
src/expand_commutator.c \
src/exponent_auts.c \
src/exponent_info.c \
src/extend_automorphisms.c \
src/extend_matrix.c \
src/extend_representation.c \
src/extra_relations.c \
src/find_allowable_subgroup.c \
src/find_image.c \
src/find_permutation.c \
src/formula.c \
src/generator_definition.c \
src/get_definition_sets.c \
src/identity.c \
src/immediate_descendant.c \
src/initialise_pcp.c \
src/initialise_pga.c \
src/insoluble_orbits.c \
src/int_power.c \
src/interactive_pga.c \
src/interactive_pq.c \
src/invert.c \
src/invert_auts.c \
src/invert_modp.c \
src/is_genlim_exceeded.c \
src/is_space_exhausted.c \
src/isom_options.c \
src/iteration.c \
src/jacobi.c \
src/label_to_subgroup.c \
src/last_class.c \
src/list_commutators.c \
src/map_relations.c \
src/matrix.c \
src/maxoccur.c \
src/multiply_word.c \
src/next_class.c \
src/options.c \
src/orbit_summary.c \
src/permute_elements.c \
src/permute_subgroups.c \
src/pgroup.c \
src/power.c \
src/pquotient.c \
src/pretty_filter.c \
src/pretty_filterfns.c \
src/print_arrays.c \
src/print_auts.c \
src/print_level.c \
src/print_multiweight.c \
src/print_presentation.c \
src/print_structure.c \
src/print_word.c \
src/read.c \
src/read_auts.c \
src/read_parameters.c \
src/read_relations.c \
src/read_relator_file.c \
src/read_value.c \
src/read_word.c \
src/reduce_matrix.c \
src/reduced_covers.c \
src/report_error.c \
src/restore_group.c \
src/setup.c \
src/setup_reps.c \
src/soluble_orbits.c \
src/solve_equation.c \
src/stabiliser.c \
src/stages.c \
src/standard.c \
src/start_group.c \
src/start_iteration.c \
src/step_range.c \
src/store_definition_sets.c \
src/strip_identities.c \
src/subgroup_to_label.c \
src/system.c \
src/tail_info.c \
src/tails.c \
src/tails_filter.c \
src/text.c \
src/update.c \
src/update_generators.c \
src/update_name.c \
src/write.c \
src/main.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
include/config.h: include/stamp-h1
@test -f $@ || rm -f include/stamp-h1
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/stamp-h1
include/stamp-h1: $(top_srcdir)/include/config.hin $(top_builddir)/config.status
@rm -f include/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status include/config.h
$(top_srcdir)/include/config.hin: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f include/stamp-h1
touch $@
distclean-hdr:
-rm -f include/config.h include/stamp-h1
testPq: $(top_builddir)/config.status $(srcdir)/testPq.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
src/$(am__dirstamp):
@$(MKDIR_P) src
@: > src/$(am__dirstamp)
src/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) src/$(DEPDIR)
@: > src/$(DEPDIR)/$(am__dirstamp)
src/pq-AllocateSpace.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-CloseFile.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-Extend_Auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-FreeSpace.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-GAP.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-GAP_link_via_file.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-GAP_present.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-OpenFile.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-TemporaryFile.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-action.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-assemble_matrix.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-autgp_order.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-calculate_jacobi.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-central_auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-check_exponent.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-class1_eliminate.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-close_relations.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-close_subgroup.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collect.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collect_comm.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collect_gen_word.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collect_relations.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collect_word.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-collectp2.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-commutator.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-commute_dgen.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-compact.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-compact_description.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-consistency.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-consistency_filter.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-consistency_info.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-construct.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-convert.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-defaults_pga.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-degree.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-delete_tables.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-down_class.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-echelon.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-echelonise_matrix.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-eliminate.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-expand_commutator.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-exponent_auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-exponent_info.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-extend_automorphisms.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-extend_matrix.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-extend_representation.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-extra_relations.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-find_allowable_subgroup.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-find_image.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-find_permutation.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-formula.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-generator_definition.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-get_definition_sets.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-identity.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-immediate_descendant.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-initialise_pcp.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-initialise_pga.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-insoluble_orbits.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-int_power.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-interactive_pga.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-interactive_pq.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-invert.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-invert_auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-invert_modp.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-is_genlim_exceeded.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-is_space_exhausted.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-isom_options.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-iteration.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-jacobi.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-label_to_subgroup.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-last_class.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-list_commutators.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-map_relations.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-matrix.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-maxoccur.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-multiply_word.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-next_class.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-options.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-orbit_summary.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-permute_elements.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-permute_subgroups.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-pgroup.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-power.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-pquotient.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-pretty_filter.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-pretty_filterfns.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_arrays.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_level.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_multiweight.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_presentation.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_structure.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-print_word.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_auts.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_parameters.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_relations.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_relator_file.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_value.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-read_word.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-reduce_matrix.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-reduced_covers.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-report_error.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-restore_group.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-setup.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-setup_reps.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-soluble_orbits.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-solve_equation.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-stabiliser.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-stages.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-standard.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-start_group.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-start_iteration.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-step_range.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-store_definition_sets.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-strip_identities.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-subgroup_to_label.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-system.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-tail_info.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-tails.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-tails_filter.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-text.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-update.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-update_generators.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-update_name.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-write.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/pq-main.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
pq$(EXEEXT): $(pq_OBJECTS) $(pq_DEPENDENCIES) $(EXTRA_pq_DEPENDENCIES)
@rm -f pq$(EXEEXT)
$(AM_V_CCLD)$(pq_LINK) $(pq_OBJECTS) $(pq_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f src/*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-AllocateSpace.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-CloseFile.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-Extend_Auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-FreeSpace.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-GAP.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-GAP_link_via_file.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-GAP_present.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-OpenFile.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-TemporaryFile.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-action.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-assemble_matrix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-autgp_order.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-calculate_jacobi.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-central_auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-check_exponent.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-class1_eliminate.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-close_relations.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-close_subgroup.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collect.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collect_comm.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collect_gen_word.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collect_relations.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collect_word.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-collectp2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-commutator.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-commute_dgen.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-compact.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-compact_description.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-consistency.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-consistency_filter.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-consistency_info.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-construct.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-convert.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-defaults_pga.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-degree.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-delete_tables.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-down_class.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-echelon.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-echelonise_matrix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-eliminate.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-expand_commutator.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-exponent_auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-exponent_info.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-extend_automorphisms.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-extend_matrix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-extend_representation.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-extra_relations.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-find_allowable_subgroup.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-find_image.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-find_permutation.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-formula.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-generator_definition.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-get_definition_sets.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-identity.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-immediate_descendant.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-initialise_pcp.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-initialise_pga.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-insoluble_orbits.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-int_power.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-interactive_pga.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-interactive_pq.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-invert.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-invert_auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-invert_modp.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-is_genlim_exceeded.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-is_space_exhausted.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-isom_options.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-iteration.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-jacobi.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-label_to_subgroup.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-last_class.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-list_commutators.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-main.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-map_relations.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-matrix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-maxoccur.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-multiply_word.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-next_class.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-options.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-orbit_summary.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-permute_elements.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-permute_subgroups.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-pgroup.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-power.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-pquotient.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-pretty_filter.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-pretty_filterfns.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_arrays.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_level.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_multiweight.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_presentation.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_structure.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-print_word.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_auts.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_parameters.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_relations.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_relator_file.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_value.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-read_word.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-reduce_matrix.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-reduced_covers.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-report_error.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-restore_group.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-setup.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-setup_reps.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-soluble_orbits.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-solve_equation.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-stabiliser.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-stages.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-standard.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-start_group.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-start_iteration.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-step_range.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-store_definition_sets.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-strip_identities.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-subgroup_to_label.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-system.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-tail_info.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-tails.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-tails_filter.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-text.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-update.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-update_generators.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-update_name.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pq-write.Po@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
src/pq-AllocateSpace.o: src/AllocateSpace.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-AllocateSpace.o -MD -MP -MF src/$(DEPDIR)/pq-AllocateSpace.Tpo -c -o src/pq-AllocateSpace.o `test -f 'src/AllocateSpace.c' || echo '$(srcdir)/'`src/AllocateSpace.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-AllocateSpace.Tpo src/$(DEPDIR)/pq-AllocateSpace.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AllocateSpace.c' object='src/pq-AllocateSpace.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-AllocateSpace.o `test -f 'src/AllocateSpace.c' || echo '$(srcdir)/'`src/AllocateSpace.c
src/pq-AllocateSpace.obj: src/AllocateSpace.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-AllocateSpace.obj -MD -MP -MF src/$(DEPDIR)/pq-AllocateSpace.Tpo -c -o src/pq-AllocateSpace.obj `if test -f 'src/AllocateSpace.c'; then $(CYGPATH_W) 'src/AllocateSpace.c'; else $(CYGPATH_W) '$(srcdir)/src/AllocateSpace.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-AllocateSpace.Tpo src/$(DEPDIR)/pq-AllocateSpace.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/AllocateSpace.c' object='src/pq-AllocateSpace.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-AllocateSpace.obj `if test -f 'src/AllocateSpace.c'; then $(CYGPATH_W) 'src/AllocateSpace.c'; else $(CYGPATH_W) '$(srcdir)/src/AllocateSpace.c'; fi`
src/pq-CloseFile.o: src/CloseFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-CloseFile.o -MD -MP -MF src/$(DEPDIR)/pq-CloseFile.Tpo -c -o src/pq-CloseFile.o `test -f 'src/CloseFile.c' || echo '$(srcdir)/'`src/CloseFile.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-CloseFile.Tpo src/$(DEPDIR)/pq-CloseFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CloseFile.c' object='src/pq-CloseFile.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-CloseFile.o `test -f 'src/CloseFile.c' || echo '$(srcdir)/'`src/CloseFile.c
src/pq-CloseFile.obj: src/CloseFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-CloseFile.obj -MD -MP -MF src/$(DEPDIR)/pq-CloseFile.Tpo -c -o src/pq-CloseFile.obj `if test -f 'src/CloseFile.c'; then $(CYGPATH_W) 'src/CloseFile.c'; else $(CYGPATH_W) '$(srcdir)/src/CloseFile.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-CloseFile.Tpo src/$(DEPDIR)/pq-CloseFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/CloseFile.c' object='src/pq-CloseFile.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-CloseFile.obj `if test -f 'src/CloseFile.c'; then $(CYGPATH_W) 'src/CloseFile.c'; else $(CYGPATH_W) '$(srcdir)/src/CloseFile.c'; fi`
src/pq-Extend_Auts.o: src/Extend_Auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-Extend_Auts.o -MD -MP -MF src/$(DEPDIR)/pq-Extend_Auts.Tpo -c -o src/pq-Extend_Auts.o `test -f 'src/Extend_Auts.c' || echo '$(srcdir)/'`src/Extend_Auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-Extend_Auts.Tpo src/$(DEPDIR)/pq-Extend_Auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Extend_Auts.c' object='src/pq-Extend_Auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-Extend_Auts.o `test -f 'src/Extend_Auts.c' || echo '$(srcdir)/'`src/Extend_Auts.c
src/pq-Extend_Auts.obj: src/Extend_Auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-Extend_Auts.obj -MD -MP -MF src/$(DEPDIR)/pq-Extend_Auts.Tpo -c -o src/pq-Extend_Auts.obj `if test -f 'src/Extend_Auts.c'; then $(CYGPATH_W) 'src/Extend_Auts.c'; else $(CYGPATH_W) '$(srcdir)/src/Extend_Auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-Extend_Auts.Tpo src/$(DEPDIR)/pq-Extend_Auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/Extend_Auts.c' object='src/pq-Extend_Auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-Extend_Auts.obj `if test -f 'src/Extend_Auts.c'; then $(CYGPATH_W) 'src/Extend_Auts.c'; else $(CYGPATH_W) '$(srcdir)/src/Extend_Auts.c'; fi`
src/pq-FreeSpace.o: src/FreeSpace.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-FreeSpace.o -MD -MP -MF src/$(DEPDIR)/pq-FreeSpace.Tpo -c -o src/pq-FreeSpace.o `test -f 'src/FreeSpace.c' || echo '$(srcdir)/'`src/FreeSpace.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-FreeSpace.Tpo src/$(DEPDIR)/pq-FreeSpace.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/FreeSpace.c' object='src/pq-FreeSpace.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-FreeSpace.o `test -f 'src/FreeSpace.c' || echo '$(srcdir)/'`src/FreeSpace.c
src/pq-FreeSpace.obj: src/FreeSpace.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-FreeSpace.obj -MD -MP -MF src/$(DEPDIR)/pq-FreeSpace.Tpo -c -o src/pq-FreeSpace.obj `if test -f 'src/FreeSpace.c'; then $(CYGPATH_W) 'src/FreeSpace.c'; else $(CYGPATH_W) '$(srcdir)/src/FreeSpace.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-FreeSpace.Tpo src/$(DEPDIR)/pq-FreeSpace.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/FreeSpace.c' object='src/pq-FreeSpace.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-FreeSpace.obj `if test -f 'src/FreeSpace.c'; then $(CYGPATH_W) 'src/FreeSpace.c'; else $(CYGPATH_W) '$(srcdir)/src/FreeSpace.c'; fi`
src/pq-GAP.o: src/GAP.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP.o -MD -MP -MF src/$(DEPDIR)/pq-GAP.Tpo -c -o src/pq-GAP.o `test -f 'src/GAP.c' || echo '$(srcdir)/'`src/GAP.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP.Tpo src/$(DEPDIR)/pq-GAP.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP.c' object='src/pq-GAP.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP.o `test -f 'src/GAP.c' || echo '$(srcdir)/'`src/GAP.c
src/pq-GAP.obj: src/GAP.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP.obj -MD -MP -MF src/$(DEPDIR)/pq-GAP.Tpo -c -o src/pq-GAP.obj `if test -f 'src/GAP.c'; then $(CYGPATH_W) 'src/GAP.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP.Tpo src/$(DEPDIR)/pq-GAP.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP.c' object='src/pq-GAP.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP.obj `if test -f 'src/GAP.c'; then $(CYGPATH_W) 'src/GAP.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP.c'; fi`
src/pq-GAP_link_via_file.o: src/GAP_link_via_file.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP_link_via_file.o -MD -MP -MF src/$(DEPDIR)/pq-GAP_link_via_file.Tpo -c -o src/pq-GAP_link_via_file.o `test -f 'src/GAP_link_via_file.c' || echo '$(srcdir)/'`src/GAP_link_via_file.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP_link_via_file.Tpo src/$(DEPDIR)/pq-GAP_link_via_file.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP_link_via_file.c' object='src/pq-GAP_link_via_file.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP_link_via_file.o `test -f 'src/GAP_link_via_file.c' || echo '$(srcdir)/'`src/GAP_link_via_file.c
src/pq-GAP_link_via_file.obj: src/GAP_link_via_file.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP_link_via_file.obj -MD -MP -MF src/$(DEPDIR)/pq-GAP_link_via_file.Tpo -c -o src/pq-GAP_link_via_file.obj `if test -f 'src/GAP_link_via_file.c'; then $(CYGPATH_W) 'src/GAP_link_via_file.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP_link_via_file.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP_link_via_file.Tpo src/$(DEPDIR)/pq-GAP_link_via_file.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP_link_via_file.c' object='src/pq-GAP_link_via_file.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP_link_via_file.obj `if test -f 'src/GAP_link_via_file.c'; then $(CYGPATH_W) 'src/GAP_link_via_file.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP_link_via_file.c'; fi`
src/pq-GAP_present.o: src/GAP_present.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP_present.o -MD -MP -MF src/$(DEPDIR)/pq-GAP_present.Tpo -c -o src/pq-GAP_present.o `test -f 'src/GAP_present.c' || echo '$(srcdir)/'`src/GAP_present.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP_present.Tpo src/$(DEPDIR)/pq-GAP_present.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP_present.c' object='src/pq-GAP_present.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP_present.o `test -f 'src/GAP_present.c' || echo '$(srcdir)/'`src/GAP_present.c
src/pq-GAP_present.obj: src/GAP_present.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-GAP_present.obj -MD -MP -MF src/$(DEPDIR)/pq-GAP_present.Tpo -c -o src/pq-GAP_present.obj `if test -f 'src/GAP_present.c'; then $(CYGPATH_W) 'src/GAP_present.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP_present.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-GAP_present.Tpo src/$(DEPDIR)/pq-GAP_present.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/GAP_present.c' object='src/pq-GAP_present.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-GAP_present.obj `if test -f 'src/GAP_present.c'; then $(CYGPATH_W) 'src/GAP_present.c'; else $(CYGPATH_W) '$(srcdir)/src/GAP_present.c'; fi`
src/pq-OpenFile.o: src/OpenFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-OpenFile.o -MD -MP -MF src/$(DEPDIR)/pq-OpenFile.Tpo -c -o src/pq-OpenFile.o `test -f 'src/OpenFile.c' || echo '$(srcdir)/'`src/OpenFile.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-OpenFile.Tpo src/$(DEPDIR)/pq-OpenFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/OpenFile.c' object='src/pq-OpenFile.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-OpenFile.o `test -f 'src/OpenFile.c' || echo '$(srcdir)/'`src/OpenFile.c
src/pq-OpenFile.obj: src/OpenFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-OpenFile.obj -MD -MP -MF src/$(DEPDIR)/pq-OpenFile.Tpo -c -o src/pq-OpenFile.obj `if test -f 'src/OpenFile.c'; then $(CYGPATH_W) 'src/OpenFile.c'; else $(CYGPATH_W) '$(srcdir)/src/OpenFile.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-OpenFile.Tpo src/$(DEPDIR)/pq-OpenFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/OpenFile.c' object='src/pq-OpenFile.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-OpenFile.obj `if test -f 'src/OpenFile.c'; then $(CYGPATH_W) 'src/OpenFile.c'; else $(CYGPATH_W) '$(srcdir)/src/OpenFile.c'; fi`
src/pq-TemporaryFile.o: src/TemporaryFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-TemporaryFile.o -MD -MP -MF src/$(DEPDIR)/pq-TemporaryFile.Tpo -c -o src/pq-TemporaryFile.o `test -f 'src/TemporaryFile.c' || echo '$(srcdir)/'`src/TemporaryFile.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-TemporaryFile.Tpo src/$(DEPDIR)/pq-TemporaryFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/TemporaryFile.c' object='src/pq-TemporaryFile.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-TemporaryFile.o `test -f 'src/TemporaryFile.c' || echo '$(srcdir)/'`src/TemporaryFile.c
src/pq-TemporaryFile.obj: src/TemporaryFile.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-TemporaryFile.obj -MD -MP -MF src/$(DEPDIR)/pq-TemporaryFile.Tpo -c -o src/pq-TemporaryFile.obj `if test -f 'src/TemporaryFile.c'; then $(CYGPATH_W) 'src/TemporaryFile.c'; else $(CYGPATH_W) '$(srcdir)/src/TemporaryFile.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-TemporaryFile.Tpo src/$(DEPDIR)/pq-TemporaryFile.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/TemporaryFile.c' object='src/pq-TemporaryFile.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-TemporaryFile.obj `if test -f 'src/TemporaryFile.c'; then $(CYGPATH_W) 'src/TemporaryFile.c'; else $(CYGPATH_W) '$(srcdir)/src/TemporaryFile.c'; fi`
src/pq-action.o: src/action.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-action.o -MD -MP -MF src/$(DEPDIR)/pq-action.Tpo -c -o src/pq-action.o `test -f 'src/action.c' || echo '$(srcdir)/'`src/action.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-action.Tpo src/$(DEPDIR)/pq-action.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/action.c' object='src/pq-action.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-action.o `test -f 'src/action.c' || echo '$(srcdir)/'`src/action.c
src/pq-action.obj: src/action.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-action.obj -MD -MP -MF src/$(DEPDIR)/pq-action.Tpo -c -o src/pq-action.obj `if test -f 'src/action.c'; then $(CYGPATH_W) 'src/action.c'; else $(CYGPATH_W) '$(srcdir)/src/action.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-action.Tpo src/$(DEPDIR)/pq-action.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/action.c' object='src/pq-action.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-action.obj `if test -f 'src/action.c'; then $(CYGPATH_W) 'src/action.c'; else $(CYGPATH_W) '$(srcdir)/src/action.c'; fi`
src/pq-assemble_matrix.o: src/assemble_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-assemble_matrix.o -MD -MP -MF src/$(DEPDIR)/pq-assemble_matrix.Tpo -c -o src/pq-assemble_matrix.o `test -f 'src/assemble_matrix.c' || echo '$(srcdir)/'`src/assemble_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-assemble_matrix.Tpo src/$(DEPDIR)/pq-assemble_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/assemble_matrix.c' object='src/pq-assemble_matrix.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-assemble_matrix.o `test -f 'src/assemble_matrix.c' || echo '$(srcdir)/'`src/assemble_matrix.c
src/pq-assemble_matrix.obj: src/assemble_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-assemble_matrix.obj -MD -MP -MF src/$(DEPDIR)/pq-assemble_matrix.Tpo -c -o src/pq-assemble_matrix.obj `if test -f 'src/assemble_matrix.c'; then $(CYGPATH_W) 'src/assemble_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/assemble_matrix.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-assemble_matrix.Tpo src/$(DEPDIR)/pq-assemble_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/assemble_matrix.c' object='src/pq-assemble_matrix.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-assemble_matrix.obj `if test -f 'src/assemble_matrix.c'; then $(CYGPATH_W) 'src/assemble_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/assemble_matrix.c'; fi`
src/pq-autgp_order.o: src/autgp_order.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-autgp_order.o -MD -MP -MF src/$(DEPDIR)/pq-autgp_order.Tpo -c -o src/pq-autgp_order.o `test -f 'src/autgp_order.c' || echo '$(srcdir)/'`src/autgp_order.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-autgp_order.Tpo src/$(DEPDIR)/pq-autgp_order.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/autgp_order.c' object='src/pq-autgp_order.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-autgp_order.o `test -f 'src/autgp_order.c' || echo '$(srcdir)/'`src/autgp_order.c
src/pq-autgp_order.obj: src/autgp_order.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-autgp_order.obj -MD -MP -MF src/$(DEPDIR)/pq-autgp_order.Tpo -c -o src/pq-autgp_order.obj `if test -f 'src/autgp_order.c'; then $(CYGPATH_W) 'src/autgp_order.c'; else $(CYGPATH_W) '$(srcdir)/src/autgp_order.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-autgp_order.Tpo src/$(DEPDIR)/pq-autgp_order.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/autgp_order.c' object='src/pq-autgp_order.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-autgp_order.obj `if test -f 'src/autgp_order.c'; then $(CYGPATH_W) 'src/autgp_order.c'; else $(CYGPATH_W) '$(srcdir)/src/autgp_order.c'; fi`
src/pq-calculate_jacobi.o: src/calculate_jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-calculate_jacobi.o -MD -MP -MF src/$(DEPDIR)/pq-calculate_jacobi.Tpo -c -o src/pq-calculate_jacobi.o `test -f 'src/calculate_jacobi.c' || echo '$(srcdir)/'`src/calculate_jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-calculate_jacobi.Tpo src/$(DEPDIR)/pq-calculate_jacobi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/calculate_jacobi.c' object='src/pq-calculate_jacobi.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-calculate_jacobi.o `test -f 'src/calculate_jacobi.c' || echo '$(srcdir)/'`src/calculate_jacobi.c
src/pq-calculate_jacobi.obj: src/calculate_jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-calculate_jacobi.obj -MD -MP -MF src/$(DEPDIR)/pq-calculate_jacobi.Tpo -c -o src/pq-calculate_jacobi.obj `if test -f 'src/calculate_jacobi.c'; then $(CYGPATH_W) 'src/calculate_jacobi.c'; else $(CYGPATH_W) '$(srcdir)/src/calculate_jacobi.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-calculate_jacobi.Tpo src/$(DEPDIR)/pq-calculate_jacobi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/calculate_jacobi.c' object='src/pq-calculate_jacobi.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-calculate_jacobi.obj `if test -f 'src/calculate_jacobi.c'; then $(CYGPATH_W) 'src/calculate_jacobi.c'; else $(CYGPATH_W) '$(srcdir)/src/calculate_jacobi.c'; fi`
src/pq-central_auts.o: src/central_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-central_auts.o -MD -MP -MF src/$(DEPDIR)/pq-central_auts.Tpo -c -o src/pq-central_auts.o `test -f 'src/central_auts.c' || echo '$(srcdir)/'`src/central_auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-central_auts.Tpo src/$(DEPDIR)/pq-central_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/central_auts.c' object='src/pq-central_auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-central_auts.o `test -f 'src/central_auts.c' || echo '$(srcdir)/'`src/central_auts.c
src/pq-central_auts.obj: src/central_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-central_auts.obj -MD -MP -MF src/$(DEPDIR)/pq-central_auts.Tpo -c -o src/pq-central_auts.obj `if test -f 'src/central_auts.c'; then $(CYGPATH_W) 'src/central_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/central_auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-central_auts.Tpo src/$(DEPDIR)/pq-central_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/central_auts.c' object='src/pq-central_auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-central_auts.obj `if test -f 'src/central_auts.c'; then $(CYGPATH_W) 'src/central_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/central_auts.c'; fi`
src/pq-check_exponent.o: src/check_exponent.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-check_exponent.o -MD -MP -MF src/$(DEPDIR)/pq-check_exponent.Tpo -c -o src/pq-check_exponent.o `test -f 'src/check_exponent.c' || echo '$(srcdir)/'`src/check_exponent.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-check_exponent.Tpo src/$(DEPDIR)/pq-check_exponent.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/check_exponent.c' object='src/pq-check_exponent.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-check_exponent.o `test -f 'src/check_exponent.c' || echo '$(srcdir)/'`src/check_exponent.c
src/pq-check_exponent.obj: src/check_exponent.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-check_exponent.obj -MD -MP -MF src/$(DEPDIR)/pq-check_exponent.Tpo -c -o src/pq-check_exponent.obj `if test -f 'src/check_exponent.c'; then $(CYGPATH_W) 'src/check_exponent.c'; else $(CYGPATH_W) '$(srcdir)/src/check_exponent.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-check_exponent.Tpo src/$(DEPDIR)/pq-check_exponent.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/check_exponent.c' object='src/pq-check_exponent.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-check_exponent.obj `if test -f 'src/check_exponent.c'; then $(CYGPATH_W) 'src/check_exponent.c'; else $(CYGPATH_W) '$(srcdir)/src/check_exponent.c'; fi`
src/pq-class1_eliminate.o: src/class1_eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-class1_eliminate.o -MD -MP -MF src/$(DEPDIR)/pq-class1_eliminate.Tpo -c -o src/pq-class1_eliminate.o `test -f 'src/class1_eliminate.c' || echo '$(srcdir)/'`src/class1_eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-class1_eliminate.Tpo src/$(DEPDIR)/pq-class1_eliminate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/class1_eliminate.c' object='src/pq-class1_eliminate.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-class1_eliminate.o `test -f 'src/class1_eliminate.c' || echo '$(srcdir)/'`src/class1_eliminate.c
src/pq-class1_eliminate.obj: src/class1_eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-class1_eliminate.obj -MD -MP -MF src/$(DEPDIR)/pq-class1_eliminate.Tpo -c -o src/pq-class1_eliminate.obj `if test -f 'src/class1_eliminate.c'; then $(CYGPATH_W) 'src/class1_eliminate.c'; else $(CYGPATH_W) '$(srcdir)/src/class1_eliminate.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-class1_eliminate.Tpo src/$(DEPDIR)/pq-class1_eliminate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/class1_eliminate.c' object='src/pq-class1_eliminate.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-class1_eliminate.obj `if test -f 'src/class1_eliminate.c'; then $(CYGPATH_W) 'src/class1_eliminate.c'; else $(CYGPATH_W) '$(srcdir)/src/class1_eliminate.c'; fi`
src/pq-close_relations.o: src/close_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-close_relations.o -MD -MP -MF src/$(DEPDIR)/pq-close_relations.Tpo -c -o src/pq-close_relations.o `test -f 'src/close_relations.c' || echo '$(srcdir)/'`src/close_relations.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-close_relations.Tpo src/$(DEPDIR)/pq-close_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/close_relations.c' object='src/pq-close_relations.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-close_relations.o `test -f 'src/close_relations.c' || echo '$(srcdir)/'`src/close_relations.c
src/pq-close_relations.obj: src/close_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-close_relations.obj -MD -MP -MF src/$(DEPDIR)/pq-close_relations.Tpo -c -o src/pq-close_relations.obj `if test -f 'src/close_relations.c'; then $(CYGPATH_W) 'src/close_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/close_relations.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-close_relations.Tpo src/$(DEPDIR)/pq-close_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/close_relations.c' object='src/pq-close_relations.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-close_relations.obj `if test -f 'src/close_relations.c'; then $(CYGPATH_W) 'src/close_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/close_relations.c'; fi`
src/pq-close_subgroup.o: src/close_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-close_subgroup.o -MD -MP -MF src/$(DEPDIR)/pq-close_subgroup.Tpo -c -o src/pq-close_subgroup.o `test -f 'src/close_subgroup.c' || echo '$(srcdir)/'`src/close_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-close_subgroup.Tpo src/$(DEPDIR)/pq-close_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/close_subgroup.c' object='src/pq-close_subgroup.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-close_subgroup.o `test -f 'src/close_subgroup.c' || echo '$(srcdir)/'`src/close_subgroup.c
src/pq-close_subgroup.obj: src/close_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-close_subgroup.obj -MD -MP -MF src/$(DEPDIR)/pq-close_subgroup.Tpo -c -o src/pq-close_subgroup.obj `if test -f 'src/close_subgroup.c'; then $(CYGPATH_W) 'src/close_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/close_subgroup.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-close_subgroup.Tpo src/$(DEPDIR)/pq-close_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/close_subgroup.c' object='src/pq-close_subgroup.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-close_subgroup.obj `if test -f 'src/close_subgroup.c'; then $(CYGPATH_W) 'src/close_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/close_subgroup.c'; fi`
src/pq-collect.o: src/collect.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect.o -MD -MP -MF src/$(DEPDIR)/pq-collect.Tpo -c -o src/pq-collect.o `test -f 'src/collect.c' || echo '$(srcdir)/'`src/collect.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect.Tpo src/$(DEPDIR)/pq-collect.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect.c' object='src/pq-collect.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect.o `test -f 'src/collect.c' || echo '$(srcdir)/'`src/collect.c
src/pq-collect.obj: src/collect.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect.obj -MD -MP -MF src/$(DEPDIR)/pq-collect.Tpo -c -o src/pq-collect.obj `if test -f 'src/collect.c'; then $(CYGPATH_W) 'src/collect.c'; else $(CYGPATH_W) '$(srcdir)/src/collect.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect.Tpo src/$(DEPDIR)/pq-collect.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect.c' object='src/pq-collect.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect.obj `if test -f 'src/collect.c'; then $(CYGPATH_W) 'src/collect.c'; else $(CYGPATH_W) '$(srcdir)/src/collect.c'; fi`
src/pq-collect_comm.o: src/collect_comm.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_comm.o -MD -MP -MF src/$(DEPDIR)/pq-collect_comm.Tpo -c -o src/pq-collect_comm.o `test -f 'src/collect_comm.c' || echo '$(srcdir)/'`src/collect_comm.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_comm.Tpo src/$(DEPDIR)/pq-collect_comm.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_comm.c' object='src/pq-collect_comm.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_comm.o `test -f 'src/collect_comm.c' || echo '$(srcdir)/'`src/collect_comm.c
src/pq-collect_comm.obj: src/collect_comm.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_comm.obj -MD -MP -MF src/$(DEPDIR)/pq-collect_comm.Tpo -c -o src/pq-collect_comm.obj `if test -f 'src/collect_comm.c'; then $(CYGPATH_W) 'src/collect_comm.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_comm.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_comm.Tpo src/$(DEPDIR)/pq-collect_comm.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_comm.c' object='src/pq-collect_comm.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_comm.obj `if test -f 'src/collect_comm.c'; then $(CYGPATH_W) 'src/collect_comm.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_comm.c'; fi`
src/pq-collect_gen_word.o: src/collect_gen_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_gen_word.o -MD -MP -MF src/$(DEPDIR)/pq-collect_gen_word.Tpo -c -o src/pq-collect_gen_word.o `test -f 'src/collect_gen_word.c' || echo '$(srcdir)/'`src/collect_gen_word.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_gen_word.Tpo src/$(DEPDIR)/pq-collect_gen_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_gen_word.c' object='src/pq-collect_gen_word.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_gen_word.o `test -f 'src/collect_gen_word.c' || echo '$(srcdir)/'`src/collect_gen_word.c
src/pq-collect_gen_word.obj: src/collect_gen_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_gen_word.obj -MD -MP -MF src/$(DEPDIR)/pq-collect_gen_word.Tpo -c -o src/pq-collect_gen_word.obj `if test -f 'src/collect_gen_word.c'; then $(CYGPATH_W) 'src/collect_gen_word.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_gen_word.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_gen_word.Tpo src/$(DEPDIR)/pq-collect_gen_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_gen_word.c' object='src/pq-collect_gen_word.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_gen_word.obj `if test -f 'src/collect_gen_word.c'; then $(CYGPATH_W) 'src/collect_gen_word.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_gen_word.c'; fi`
src/pq-collect_relations.o: src/collect_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_relations.o -MD -MP -MF src/$(DEPDIR)/pq-collect_relations.Tpo -c -o src/pq-collect_relations.o `test -f 'src/collect_relations.c' || echo '$(srcdir)/'`src/collect_relations.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_relations.Tpo src/$(DEPDIR)/pq-collect_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_relations.c' object='src/pq-collect_relations.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_relations.o `test -f 'src/collect_relations.c' || echo '$(srcdir)/'`src/collect_relations.c
src/pq-collect_relations.obj: src/collect_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_relations.obj -MD -MP -MF src/$(DEPDIR)/pq-collect_relations.Tpo -c -o src/pq-collect_relations.obj `if test -f 'src/collect_relations.c'; then $(CYGPATH_W) 'src/collect_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_relations.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_relations.Tpo src/$(DEPDIR)/pq-collect_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_relations.c' object='src/pq-collect_relations.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_relations.obj `if test -f 'src/collect_relations.c'; then $(CYGPATH_W) 'src/collect_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_relations.c'; fi`
src/pq-collect_word.o: src/collect_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_word.o -MD -MP -MF src/$(DEPDIR)/pq-collect_word.Tpo -c -o src/pq-collect_word.o `test -f 'src/collect_word.c' || echo '$(srcdir)/'`src/collect_word.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_word.Tpo src/$(DEPDIR)/pq-collect_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_word.c' object='src/pq-collect_word.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_word.o `test -f 'src/collect_word.c' || echo '$(srcdir)/'`src/collect_word.c
src/pq-collect_word.obj: src/collect_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collect_word.obj -MD -MP -MF src/$(DEPDIR)/pq-collect_word.Tpo -c -o src/pq-collect_word.obj `if test -f 'src/collect_word.c'; then $(CYGPATH_W) 'src/collect_word.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_word.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collect_word.Tpo src/$(DEPDIR)/pq-collect_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collect_word.c' object='src/pq-collect_word.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collect_word.obj `if test -f 'src/collect_word.c'; then $(CYGPATH_W) 'src/collect_word.c'; else $(CYGPATH_W) '$(srcdir)/src/collect_word.c'; fi`
src/pq-collectp2.o: src/collectp2.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collectp2.o -MD -MP -MF src/$(DEPDIR)/pq-collectp2.Tpo -c -o src/pq-collectp2.o `test -f 'src/collectp2.c' || echo '$(srcdir)/'`src/collectp2.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collectp2.Tpo src/$(DEPDIR)/pq-collectp2.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collectp2.c' object='src/pq-collectp2.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collectp2.o `test -f 'src/collectp2.c' || echo '$(srcdir)/'`src/collectp2.c
src/pq-collectp2.obj: src/collectp2.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-collectp2.obj -MD -MP -MF src/$(DEPDIR)/pq-collectp2.Tpo -c -o src/pq-collectp2.obj `if test -f 'src/collectp2.c'; then $(CYGPATH_W) 'src/collectp2.c'; else $(CYGPATH_W) '$(srcdir)/src/collectp2.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-collectp2.Tpo src/$(DEPDIR)/pq-collectp2.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/collectp2.c' object='src/pq-collectp2.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-collectp2.obj `if test -f 'src/collectp2.c'; then $(CYGPATH_W) 'src/collectp2.c'; else $(CYGPATH_W) '$(srcdir)/src/collectp2.c'; fi`
src/pq-commutator.o: src/commutator.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-commutator.o -MD -MP -MF src/$(DEPDIR)/pq-commutator.Tpo -c -o src/pq-commutator.o `test -f 'src/commutator.c' || echo '$(srcdir)/'`src/commutator.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-commutator.Tpo src/$(DEPDIR)/pq-commutator.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/commutator.c' object='src/pq-commutator.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-commutator.o `test -f 'src/commutator.c' || echo '$(srcdir)/'`src/commutator.c
src/pq-commutator.obj: src/commutator.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-commutator.obj -MD -MP -MF src/$(DEPDIR)/pq-commutator.Tpo -c -o src/pq-commutator.obj `if test -f 'src/commutator.c'; then $(CYGPATH_W) 'src/commutator.c'; else $(CYGPATH_W) '$(srcdir)/src/commutator.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-commutator.Tpo src/$(DEPDIR)/pq-commutator.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/commutator.c' object='src/pq-commutator.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-commutator.obj `if test -f 'src/commutator.c'; then $(CYGPATH_W) 'src/commutator.c'; else $(CYGPATH_W) '$(srcdir)/src/commutator.c'; fi`
src/pq-commute_dgen.o: src/commute_dgen.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-commute_dgen.o -MD -MP -MF src/$(DEPDIR)/pq-commute_dgen.Tpo -c -o src/pq-commute_dgen.o `test -f 'src/commute_dgen.c' || echo '$(srcdir)/'`src/commute_dgen.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-commute_dgen.Tpo src/$(DEPDIR)/pq-commute_dgen.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/commute_dgen.c' object='src/pq-commute_dgen.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-commute_dgen.o `test -f 'src/commute_dgen.c' || echo '$(srcdir)/'`src/commute_dgen.c
src/pq-commute_dgen.obj: src/commute_dgen.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-commute_dgen.obj -MD -MP -MF src/$(DEPDIR)/pq-commute_dgen.Tpo -c -o src/pq-commute_dgen.obj `if test -f 'src/commute_dgen.c'; then $(CYGPATH_W) 'src/commute_dgen.c'; else $(CYGPATH_W) '$(srcdir)/src/commute_dgen.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-commute_dgen.Tpo src/$(DEPDIR)/pq-commute_dgen.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/commute_dgen.c' object='src/pq-commute_dgen.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-commute_dgen.obj `if test -f 'src/commute_dgen.c'; then $(CYGPATH_W) 'src/commute_dgen.c'; else $(CYGPATH_W) '$(srcdir)/src/commute_dgen.c'; fi`
src/pq-compact.o: src/compact.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-compact.o -MD -MP -MF src/$(DEPDIR)/pq-compact.Tpo -c -o src/pq-compact.o `test -f 'src/compact.c' || echo '$(srcdir)/'`src/compact.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-compact.Tpo src/$(DEPDIR)/pq-compact.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/compact.c' object='src/pq-compact.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-compact.o `test -f 'src/compact.c' || echo '$(srcdir)/'`src/compact.c
src/pq-compact.obj: src/compact.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-compact.obj -MD -MP -MF src/$(DEPDIR)/pq-compact.Tpo -c -o src/pq-compact.obj `if test -f 'src/compact.c'; then $(CYGPATH_W) 'src/compact.c'; else $(CYGPATH_W) '$(srcdir)/src/compact.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-compact.Tpo src/$(DEPDIR)/pq-compact.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/compact.c' object='src/pq-compact.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-compact.obj `if test -f 'src/compact.c'; then $(CYGPATH_W) 'src/compact.c'; else $(CYGPATH_W) '$(srcdir)/src/compact.c'; fi`
src/pq-compact_description.o: src/compact_description.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-compact_description.o -MD -MP -MF src/$(DEPDIR)/pq-compact_description.Tpo -c -o src/pq-compact_description.o `test -f 'src/compact_description.c' || echo '$(srcdir)/'`src/compact_description.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-compact_description.Tpo src/$(DEPDIR)/pq-compact_description.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/compact_description.c' object='src/pq-compact_description.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-compact_description.o `test -f 'src/compact_description.c' || echo '$(srcdir)/'`src/compact_description.c
src/pq-compact_description.obj: src/compact_description.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-compact_description.obj -MD -MP -MF src/$(DEPDIR)/pq-compact_description.Tpo -c -o src/pq-compact_description.obj `if test -f 'src/compact_description.c'; then $(CYGPATH_W) 'src/compact_description.c'; else $(CYGPATH_W) '$(srcdir)/src/compact_description.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-compact_description.Tpo src/$(DEPDIR)/pq-compact_description.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/compact_description.c' object='src/pq-compact_description.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-compact_description.obj `if test -f 'src/compact_description.c'; then $(CYGPATH_W) 'src/compact_description.c'; else $(CYGPATH_W) '$(srcdir)/src/compact_description.c'; fi`
src/pq-consistency.o: src/consistency.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency.o -MD -MP -MF src/$(DEPDIR)/pq-consistency.Tpo -c -o src/pq-consistency.o `test -f 'src/consistency.c' || echo '$(srcdir)/'`src/consistency.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency.Tpo src/$(DEPDIR)/pq-consistency.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency.c' object='src/pq-consistency.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency.o `test -f 'src/consistency.c' || echo '$(srcdir)/'`src/consistency.c
src/pq-consistency.obj: src/consistency.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency.obj -MD -MP -MF src/$(DEPDIR)/pq-consistency.Tpo -c -o src/pq-consistency.obj `if test -f 'src/consistency.c'; then $(CYGPATH_W) 'src/consistency.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency.Tpo src/$(DEPDIR)/pq-consistency.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency.c' object='src/pq-consistency.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency.obj `if test -f 'src/consistency.c'; then $(CYGPATH_W) 'src/consistency.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency.c'; fi`
src/pq-consistency_filter.o: src/consistency_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency_filter.o -MD -MP -MF src/$(DEPDIR)/pq-consistency_filter.Tpo -c -o src/pq-consistency_filter.o `test -f 'src/consistency_filter.c' || echo '$(srcdir)/'`src/consistency_filter.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency_filter.Tpo src/$(DEPDIR)/pq-consistency_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency_filter.c' object='src/pq-consistency_filter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency_filter.o `test -f 'src/consistency_filter.c' || echo '$(srcdir)/'`src/consistency_filter.c
src/pq-consistency_filter.obj: src/consistency_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency_filter.obj -MD -MP -MF src/$(DEPDIR)/pq-consistency_filter.Tpo -c -o src/pq-consistency_filter.obj `if test -f 'src/consistency_filter.c'; then $(CYGPATH_W) 'src/consistency_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency_filter.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency_filter.Tpo src/$(DEPDIR)/pq-consistency_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency_filter.c' object='src/pq-consistency_filter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency_filter.obj `if test -f 'src/consistency_filter.c'; then $(CYGPATH_W) 'src/consistency_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency_filter.c'; fi`
src/pq-consistency_info.o: src/consistency_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency_info.o -MD -MP -MF src/$(DEPDIR)/pq-consistency_info.Tpo -c -o src/pq-consistency_info.o `test -f 'src/consistency_info.c' || echo '$(srcdir)/'`src/consistency_info.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency_info.Tpo src/$(DEPDIR)/pq-consistency_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency_info.c' object='src/pq-consistency_info.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency_info.o `test -f 'src/consistency_info.c' || echo '$(srcdir)/'`src/consistency_info.c
src/pq-consistency_info.obj: src/consistency_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-consistency_info.obj -MD -MP -MF src/$(DEPDIR)/pq-consistency_info.Tpo -c -o src/pq-consistency_info.obj `if test -f 'src/consistency_info.c'; then $(CYGPATH_W) 'src/consistency_info.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency_info.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-consistency_info.Tpo src/$(DEPDIR)/pq-consistency_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/consistency_info.c' object='src/pq-consistency_info.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-consistency_info.obj `if test -f 'src/consistency_info.c'; then $(CYGPATH_W) 'src/consistency_info.c'; else $(CYGPATH_W) '$(srcdir)/src/consistency_info.c'; fi`
src/pq-construct.o: src/construct.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-construct.o -MD -MP -MF src/$(DEPDIR)/pq-construct.Tpo -c -o src/pq-construct.o `test -f 'src/construct.c' || echo '$(srcdir)/'`src/construct.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-construct.Tpo src/$(DEPDIR)/pq-construct.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/construct.c' object='src/pq-construct.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-construct.o `test -f 'src/construct.c' || echo '$(srcdir)/'`src/construct.c
src/pq-construct.obj: src/construct.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-construct.obj -MD -MP -MF src/$(DEPDIR)/pq-construct.Tpo -c -o src/pq-construct.obj `if test -f 'src/construct.c'; then $(CYGPATH_W) 'src/construct.c'; else $(CYGPATH_W) '$(srcdir)/src/construct.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-construct.Tpo src/$(DEPDIR)/pq-construct.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/construct.c' object='src/pq-construct.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-construct.obj `if test -f 'src/construct.c'; then $(CYGPATH_W) 'src/construct.c'; else $(CYGPATH_W) '$(srcdir)/src/construct.c'; fi`
src/pq-convert.o: src/convert.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-convert.o -MD -MP -MF src/$(DEPDIR)/pq-convert.Tpo -c -o src/pq-convert.o `test -f 'src/convert.c' || echo '$(srcdir)/'`src/convert.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-convert.Tpo src/$(DEPDIR)/pq-convert.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/convert.c' object='src/pq-convert.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-convert.o `test -f 'src/convert.c' || echo '$(srcdir)/'`src/convert.c
src/pq-convert.obj: src/convert.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-convert.obj -MD -MP -MF src/$(DEPDIR)/pq-convert.Tpo -c -o src/pq-convert.obj `if test -f 'src/convert.c'; then $(CYGPATH_W) 'src/convert.c'; else $(CYGPATH_W) '$(srcdir)/src/convert.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-convert.Tpo src/$(DEPDIR)/pq-convert.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/convert.c' object='src/pq-convert.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-convert.obj `if test -f 'src/convert.c'; then $(CYGPATH_W) 'src/convert.c'; else $(CYGPATH_W) '$(srcdir)/src/convert.c'; fi`
src/pq-defaults_pga.o: src/defaults_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-defaults_pga.o -MD -MP -MF src/$(DEPDIR)/pq-defaults_pga.Tpo -c -o src/pq-defaults_pga.o `test -f 'src/defaults_pga.c' || echo '$(srcdir)/'`src/defaults_pga.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-defaults_pga.Tpo src/$(DEPDIR)/pq-defaults_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/defaults_pga.c' object='src/pq-defaults_pga.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-defaults_pga.o `test -f 'src/defaults_pga.c' || echo '$(srcdir)/'`src/defaults_pga.c
src/pq-defaults_pga.obj: src/defaults_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-defaults_pga.obj -MD -MP -MF src/$(DEPDIR)/pq-defaults_pga.Tpo -c -o src/pq-defaults_pga.obj `if test -f 'src/defaults_pga.c'; then $(CYGPATH_W) 'src/defaults_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/defaults_pga.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-defaults_pga.Tpo src/$(DEPDIR)/pq-defaults_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/defaults_pga.c' object='src/pq-defaults_pga.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-defaults_pga.obj `if test -f 'src/defaults_pga.c'; then $(CYGPATH_W) 'src/defaults_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/defaults_pga.c'; fi`
src/pq-degree.o: src/degree.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-degree.o -MD -MP -MF src/$(DEPDIR)/pq-degree.Tpo -c -o src/pq-degree.o `test -f 'src/degree.c' || echo '$(srcdir)/'`src/degree.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-degree.Tpo src/$(DEPDIR)/pq-degree.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/degree.c' object='src/pq-degree.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-degree.o `test -f 'src/degree.c' || echo '$(srcdir)/'`src/degree.c
src/pq-degree.obj: src/degree.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-degree.obj -MD -MP -MF src/$(DEPDIR)/pq-degree.Tpo -c -o src/pq-degree.obj `if test -f 'src/degree.c'; then $(CYGPATH_W) 'src/degree.c'; else $(CYGPATH_W) '$(srcdir)/src/degree.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-degree.Tpo src/$(DEPDIR)/pq-degree.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/degree.c' object='src/pq-degree.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-degree.obj `if test -f 'src/degree.c'; then $(CYGPATH_W) 'src/degree.c'; else $(CYGPATH_W) '$(srcdir)/src/degree.c'; fi`
src/pq-delete_tables.o: src/delete_tables.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-delete_tables.o -MD -MP -MF src/$(DEPDIR)/pq-delete_tables.Tpo -c -o src/pq-delete_tables.o `test -f 'src/delete_tables.c' || echo '$(srcdir)/'`src/delete_tables.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-delete_tables.Tpo src/$(DEPDIR)/pq-delete_tables.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/delete_tables.c' object='src/pq-delete_tables.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-delete_tables.o `test -f 'src/delete_tables.c' || echo '$(srcdir)/'`src/delete_tables.c
src/pq-delete_tables.obj: src/delete_tables.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-delete_tables.obj -MD -MP -MF src/$(DEPDIR)/pq-delete_tables.Tpo -c -o src/pq-delete_tables.obj `if test -f 'src/delete_tables.c'; then $(CYGPATH_W) 'src/delete_tables.c'; else $(CYGPATH_W) '$(srcdir)/src/delete_tables.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-delete_tables.Tpo src/$(DEPDIR)/pq-delete_tables.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/delete_tables.c' object='src/pq-delete_tables.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-delete_tables.obj `if test -f 'src/delete_tables.c'; then $(CYGPATH_W) 'src/delete_tables.c'; else $(CYGPATH_W) '$(srcdir)/src/delete_tables.c'; fi`
src/pq-down_class.o: src/down_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-down_class.o -MD -MP -MF src/$(DEPDIR)/pq-down_class.Tpo -c -o src/pq-down_class.o `test -f 'src/down_class.c' || echo '$(srcdir)/'`src/down_class.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-down_class.Tpo src/$(DEPDIR)/pq-down_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/down_class.c' object='src/pq-down_class.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-down_class.o `test -f 'src/down_class.c' || echo '$(srcdir)/'`src/down_class.c
src/pq-down_class.obj: src/down_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-down_class.obj -MD -MP -MF src/$(DEPDIR)/pq-down_class.Tpo -c -o src/pq-down_class.obj `if test -f 'src/down_class.c'; then $(CYGPATH_W) 'src/down_class.c'; else $(CYGPATH_W) '$(srcdir)/src/down_class.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-down_class.Tpo src/$(DEPDIR)/pq-down_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/down_class.c' object='src/pq-down_class.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-down_class.obj `if test -f 'src/down_class.c'; then $(CYGPATH_W) 'src/down_class.c'; else $(CYGPATH_W) '$(srcdir)/src/down_class.c'; fi`
src/pq-echelon.o: src/echelon.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-echelon.o -MD -MP -MF src/$(DEPDIR)/pq-echelon.Tpo -c -o src/pq-echelon.o `test -f 'src/echelon.c' || echo '$(srcdir)/'`src/echelon.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-echelon.Tpo src/$(DEPDIR)/pq-echelon.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/echelon.c' object='src/pq-echelon.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-echelon.o `test -f 'src/echelon.c' || echo '$(srcdir)/'`src/echelon.c
src/pq-echelon.obj: src/echelon.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-echelon.obj -MD -MP -MF src/$(DEPDIR)/pq-echelon.Tpo -c -o src/pq-echelon.obj `if test -f 'src/echelon.c'; then $(CYGPATH_W) 'src/echelon.c'; else $(CYGPATH_W) '$(srcdir)/src/echelon.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-echelon.Tpo src/$(DEPDIR)/pq-echelon.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/echelon.c' object='src/pq-echelon.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-echelon.obj `if test -f 'src/echelon.c'; then $(CYGPATH_W) 'src/echelon.c'; else $(CYGPATH_W) '$(srcdir)/src/echelon.c'; fi`
src/pq-echelonise_matrix.o: src/echelonise_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-echelonise_matrix.o -MD -MP -MF src/$(DEPDIR)/pq-echelonise_matrix.Tpo -c -o src/pq-echelonise_matrix.o `test -f 'src/echelonise_matrix.c' || echo '$(srcdir)/'`src/echelonise_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-echelonise_matrix.Tpo src/$(DEPDIR)/pq-echelonise_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/echelonise_matrix.c' object='src/pq-echelonise_matrix.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-echelonise_matrix.o `test -f 'src/echelonise_matrix.c' || echo '$(srcdir)/'`src/echelonise_matrix.c
src/pq-echelonise_matrix.obj: src/echelonise_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-echelonise_matrix.obj -MD -MP -MF src/$(DEPDIR)/pq-echelonise_matrix.Tpo -c -o src/pq-echelonise_matrix.obj `if test -f 'src/echelonise_matrix.c'; then $(CYGPATH_W) 'src/echelonise_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/echelonise_matrix.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-echelonise_matrix.Tpo src/$(DEPDIR)/pq-echelonise_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/echelonise_matrix.c' object='src/pq-echelonise_matrix.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-echelonise_matrix.obj `if test -f 'src/echelonise_matrix.c'; then $(CYGPATH_W) 'src/echelonise_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/echelonise_matrix.c'; fi`
src/pq-eliminate.o: src/eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-eliminate.o -MD -MP -MF src/$(DEPDIR)/pq-eliminate.Tpo -c -o src/pq-eliminate.o `test -f 'src/eliminate.c' || echo '$(srcdir)/'`src/eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-eliminate.Tpo src/$(DEPDIR)/pq-eliminate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/eliminate.c' object='src/pq-eliminate.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-eliminate.o `test -f 'src/eliminate.c' || echo '$(srcdir)/'`src/eliminate.c
src/pq-eliminate.obj: src/eliminate.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-eliminate.obj -MD -MP -MF src/$(DEPDIR)/pq-eliminate.Tpo -c -o src/pq-eliminate.obj `if test -f 'src/eliminate.c'; then $(CYGPATH_W) 'src/eliminate.c'; else $(CYGPATH_W) '$(srcdir)/src/eliminate.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-eliminate.Tpo src/$(DEPDIR)/pq-eliminate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/eliminate.c' object='src/pq-eliminate.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-eliminate.obj `if test -f 'src/eliminate.c'; then $(CYGPATH_W) 'src/eliminate.c'; else $(CYGPATH_W) '$(srcdir)/src/eliminate.c'; fi`
src/pq-expand_commutator.o: src/expand_commutator.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-expand_commutator.o -MD -MP -MF src/$(DEPDIR)/pq-expand_commutator.Tpo -c -o src/pq-expand_commutator.o `test -f 'src/expand_commutator.c' || echo '$(srcdir)/'`src/expand_commutator.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-expand_commutator.Tpo src/$(DEPDIR)/pq-expand_commutator.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/expand_commutator.c' object='src/pq-expand_commutator.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-expand_commutator.o `test -f 'src/expand_commutator.c' || echo '$(srcdir)/'`src/expand_commutator.c
src/pq-expand_commutator.obj: src/expand_commutator.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-expand_commutator.obj -MD -MP -MF src/$(DEPDIR)/pq-expand_commutator.Tpo -c -o src/pq-expand_commutator.obj `if test -f 'src/expand_commutator.c'; then $(CYGPATH_W) 'src/expand_commutator.c'; else $(CYGPATH_W) '$(srcdir)/src/expand_commutator.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-expand_commutator.Tpo src/$(DEPDIR)/pq-expand_commutator.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/expand_commutator.c' object='src/pq-expand_commutator.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-expand_commutator.obj `if test -f 'src/expand_commutator.c'; then $(CYGPATH_W) 'src/expand_commutator.c'; else $(CYGPATH_W) '$(srcdir)/src/expand_commutator.c'; fi`
src/pq-exponent_auts.o: src/exponent_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-exponent_auts.o -MD -MP -MF src/$(DEPDIR)/pq-exponent_auts.Tpo -c -o src/pq-exponent_auts.o `test -f 'src/exponent_auts.c' || echo '$(srcdir)/'`src/exponent_auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-exponent_auts.Tpo src/$(DEPDIR)/pq-exponent_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/exponent_auts.c' object='src/pq-exponent_auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-exponent_auts.o `test -f 'src/exponent_auts.c' || echo '$(srcdir)/'`src/exponent_auts.c
src/pq-exponent_auts.obj: src/exponent_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-exponent_auts.obj -MD -MP -MF src/$(DEPDIR)/pq-exponent_auts.Tpo -c -o src/pq-exponent_auts.obj `if test -f 'src/exponent_auts.c'; then $(CYGPATH_W) 'src/exponent_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/exponent_auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-exponent_auts.Tpo src/$(DEPDIR)/pq-exponent_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/exponent_auts.c' object='src/pq-exponent_auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-exponent_auts.obj `if test -f 'src/exponent_auts.c'; then $(CYGPATH_W) 'src/exponent_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/exponent_auts.c'; fi`
src/pq-exponent_info.o: src/exponent_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-exponent_info.o -MD -MP -MF src/$(DEPDIR)/pq-exponent_info.Tpo -c -o src/pq-exponent_info.o `test -f 'src/exponent_info.c' || echo '$(srcdir)/'`src/exponent_info.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-exponent_info.Tpo src/$(DEPDIR)/pq-exponent_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/exponent_info.c' object='src/pq-exponent_info.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-exponent_info.o `test -f 'src/exponent_info.c' || echo '$(srcdir)/'`src/exponent_info.c
src/pq-exponent_info.obj: src/exponent_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-exponent_info.obj -MD -MP -MF src/$(DEPDIR)/pq-exponent_info.Tpo -c -o src/pq-exponent_info.obj `if test -f 'src/exponent_info.c'; then $(CYGPATH_W) 'src/exponent_info.c'; else $(CYGPATH_W) '$(srcdir)/src/exponent_info.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-exponent_info.Tpo src/$(DEPDIR)/pq-exponent_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/exponent_info.c' object='src/pq-exponent_info.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-exponent_info.obj `if test -f 'src/exponent_info.c'; then $(CYGPATH_W) 'src/exponent_info.c'; else $(CYGPATH_W) '$(srcdir)/src/exponent_info.c'; fi`
src/pq-extend_automorphisms.o: src/extend_automorphisms.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_automorphisms.o -MD -MP -MF src/$(DEPDIR)/pq-extend_automorphisms.Tpo -c -o src/pq-extend_automorphisms.o `test -f 'src/extend_automorphisms.c' || echo '$(srcdir)/'`src/extend_automorphisms.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_automorphisms.Tpo src/$(DEPDIR)/pq-extend_automorphisms.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_automorphisms.c' object='src/pq-extend_automorphisms.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_automorphisms.o `test -f 'src/extend_automorphisms.c' || echo '$(srcdir)/'`src/extend_automorphisms.c
src/pq-extend_automorphisms.obj: src/extend_automorphisms.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_automorphisms.obj -MD -MP -MF src/$(DEPDIR)/pq-extend_automorphisms.Tpo -c -o src/pq-extend_automorphisms.obj `if test -f 'src/extend_automorphisms.c'; then $(CYGPATH_W) 'src/extend_automorphisms.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_automorphisms.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_automorphisms.Tpo src/$(DEPDIR)/pq-extend_automorphisms.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_automorphisms.c' object='src/pq-extend_automorphisms.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_automorphisms.obj `if test -f 'src/extend_automorphisms.c'; then $(CYGPATH_W) 'src/extend_automorphisms.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_automorphisms.c'; fi`
src/pq-extend_matrix.o: src/extend_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_matrix.o -MD -MP -MF src/$(DEPDIR)/pq-extend_matrix.Tpo -c -o src/pq-extend_matrix.o `test -f 'src/extend_matrix.c' || echo '$(srcdir)/'`src/extend_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_matrix.Tpo src/$(DEPDIR)/pq-extend_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_matrix.c' object='src/pq-extend_matrix.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_matrix.o `test -f 'src/extend_matrix.c' || echo '$(srcdir)/'`src/extend_matrix.c
src/pq-extend_matrix.obj: src/extend_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_matrix.obj -MD -MP -MF src/$(DEPDIR)/pq-extend_matrix.Tpo -c -o src/pq-extend_matrix.obj `if test -f 'src/extend_matrix.c'; then $(CYGPATH_W) 'src/extend_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_matrix.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_matrix.Tpo src/$(DEPDIR)/pq-extend_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_matrix.c' object='src/pq-extend_matrix.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_matrix.obj `if test -f 'src/extend_matrix.c'; then $(CYGPATH_W) 'src/extend_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_matrix.c'; fi`
src/pq-extend_representation.o: src/extend_representation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_representation.o -MD -MP -MF src/$(DEPDIR)/pq-extend_representation.Tpo -c -o src/pq-extend_representation.o `test -f 'src/extend_representation.c' || echo '$(srcdir)/'`src/extend_representation.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_representation.Tpo src/$(DEPDIR)/pq-extend_representation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_representation.c' object='src/pq-extend_representation.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_representation.o `test -f 'src/extend_representation.c' || echo '$(srcdir)/'`src/extend_representation.c
src/pq-extend_representation.obj: src/extend_representation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extend_representation.obj -MD -MP -MF src/$(DEPDIR)/pq-extend_representation.Tpo -c -o src/pq-extend_representation.obj `if test -f 'src/extend_representation.c'; then $(CYGPATH_W) 'src/extend_representation.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_representation.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extend_representation.Tpo src/$(DEPDIR)/pq-extend_representation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extend_representation.c' object='src/pq-extend_representation.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extend_representation.obj `if test -f 'src/extend_representation.c'; then $(CYGPATH_W) 'src/extend_representation.c'; else $(CYGPATH_W) '$(srcdir)/src/extend_representation.c'; fi`
src/pq-extra_relations.o: src/extra_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extra_relations.o -MD -MP -MF src/$(DEPDIR)/pq-extra_relations.Tpo -c -o src/pq-extra_relations.o `test -f 'src/extra_relations.c' || echo '$(srcdir)/'`src/extra_relations.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extra_relations.Tpo src/$(DEPDIR)/pq-extra_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extra_relations.c' object='src/pq-extra_relations.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extra_relations.o `test -f 'src/extra_relations.c' || echo '$(srcdir)/'`src/extra_relations.c
src/pq-extra_relations.obj: src/extra_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-extra_relations.obj -MD -MP -MF src/$(DEPDIR)/pq-extra_relations.Tpo -c -o src/pq-extra_relations.obj `if test -f 'src/extra_relations.c'; then $(CYGPATH_W) 'src/extra_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/extra_relations.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-extra_relations.Tpo src/$(DEPDIR)/pq-extra_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/extra_relations.c' object='src/pq-extra_relations.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-extra_relations.obj `if test -f 'src/extra_relations.c'; then $(CYGPATH_W) 'src/extra_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/extra_relations.c'; fi`
src/pq-find_allowable_subgroup.o: src/find_allowable_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_allowable_subgroup.o -MD -MP -MF src/$(DEPDIR)/pq-find_allowable_subgroup.Tpo -c -o src/pq-find_allowable_subgroup.o `test -f 'src/find_allowable_subgroup.c' || echo '$(srcdir)/'`src/find_allowable_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_allowable_subgroup.Tpo src/$(DEPDIR)/pq-find_allowable_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_allowable_subgroup.c' object='src/pq-find_allowable_subgroup.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_allowable_subgroup.o `test -f 'src/find_allowable_subgroup.c' || echo '$(srcdir)/'`src/find_allowable_subgroup.c
src/pq-find_allowable_subgroup.obj: src/find_allowable_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_allowable_subgroup.obj -MD -MP -MF src/$(DEPDIR)/pq-find_allowable_subgroup.Tpo -c -o src/pq-find_allowable_subgroup.obj `if test -f 'src/find_allowable_subgroup.c'; then $(CYGPATH_W) 'src/find_allowable_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/find_allowable_subgroup.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_allowable_subgroup.Tpo src/$(DEPDIR)/pq-find_allowable_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_allowable_subgroup.c' object='src/pq-find_allowable_subgroup.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_allowable_subgroup.obj `if test -f 'src/find_allowable_subgroup.c'; then $(CYGPATH_W) 'src/find_allowable_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/find_allowable_subgroup.c'; fi`
src/pq-find_image.o: src/find_image.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_image.o -MD -MP -MF src/$(DEPDIR)/pq-find_image.Tpo -c -o src/pq-find_image.o `test -f 'src/find_image.c' || echo '$(srcdir)/'`src/find_image.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_image.Tpo src/$(DEPDIR)/pq-find_image.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_image.c' object='src/pq-find_image.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_image.o `test -f 'src/find_image.c' || echo '$(srcdir)/'`src/find_image.c
src/pq-find_image.obj: src/find_image.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_image.obj -MD -MP -MF src/$(DEPDIR)/pq-find_image.Tpo -c -o src/pq-find_image.obj `if test -f 'src/find_image.c'; then $(CYGPATH_W) 'src/find_image.c'; else $(CYGPATH_W) '$(srcdir)/src/find_image.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_image.Tpo src/$(DEPDIR)/pq-find_image.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_image.c' object='src/pq-find_image.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_image.obj `if test -f 'src/find_image.c'; then $(CYGPATH_W) 'src/find_image.c'; else $(CYGPATH_W) '$(srcdir)/src/find_image.c'; fi`
src/pq-find_permutation.o: src/find_permutation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_permutation.o -MD -MP -MF src/$(DEPDIR)/pq-find_permutation.Tpo -c -o src/pq-find_permutation.o `test -f 'src/find_permutation.c' || echo '$(srcdir)/'`src/find_permutation.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_permutation.Tpo src/$(DEPDIR)/pq-find_permutation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_permutation.c' object='src/pq-find_permutation.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_permutation.o `test -f 'src/find_permutation.c' || echo '$(srcdir)/'`src/find_permutation.c
src/pq-find_permutation.obj: src/find_permutation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-find_permutation.obj -MD -MP -MF src/$(DEPDIR)/pq-find_permutation.Tpo -c -o src/pq-find_permutation.obj `if test -f 'src/find_permutation.c'; then $(CYGPATH_W) 'src/find_permutation.c'; else $(CYGPATH_W) '$(srcdir)/src/find_permutation.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-find_permutation.Tpo src/$(DEPDIR)/pq-find_permutation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/find_permutation.c' object='src/pq-find_permutation.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-find_permutation.obj `if test -f 'src/find_permutation.c'; then $(CYGPATH_W) 'src/find_permutation.c'; else $(CYGPATH_W) '$(srcdir)/src/find_permutation.c'; fi`
src/pq-formula.o: src/formula.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-formula.o -MD -MP -MF src/$(DEPDIR)/pq-formula.Tpo -c -o src/pq-formula.o `test -f 'src/formula.c' || echo '$(srcdir)/'`src/formula.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-formula.Tpo src/$(DEPDIR)/pq-formula.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/formula.c' object='src/pq-formula.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-formula.o `test -f 'src/formula.c' || echo '$(srcdir)/'`src/formula.c
src/pq-formula.obj: src/formula.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-formula.obj -MD -MP -MF src/$(DEPDIR)/pq-formula.Tpo -c -o src/pq-formula.obj `if test -f 'src/formula.c'; then $(CYGPATH_W) 'src/formula.c'; else $(CYGPATH_W) '$(srcdir)/src/formula.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-formula.Tpo src/$(DEPDIR)/pq-formula.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/formula.c' object='src/pq-formula.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-formula.obj `if test -f 'src/formula.c'; then $(CYGPATH_W) 'src/formula.c'; else $(CYGPATH_W) '$(srcdir)/src/formula.c'; fi`
src/pq-generator_definition.o: src/generator_definition.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-generator_definition.o -MD -MP -MF src/$(DEPDIR)/pq-generator_definition.Tpo -c -o src/pq-generator_definition.o `test -f 'src/generator_definition.c' || echo '$(srcdir)/'`src/generator_definition.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-generator_definition.Tpo src/$(DEPDIR)/pq-generator_definition.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/generator_definition.c' object='src/pq-generator_definition.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-generator_definition.o `test -f 'src/generator_definition.c' || echo '$(srcdir)/'`src/generator_definition.c
src/pq-generator_definition.obj: src/generator_definition.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-generator_definition.obj -MD -MP -MF src/$(DEPDIR)/pq-generator_definition.Tpo -c -o src/pq-generator_definition.obj `if test -f 'src/generator_definition.c'; then $(CYGPATH_W) 'src/generator_definition.c'; else $(CYGPATH_W) '$(srcdir)/src/generator_definition.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-generator_definition.Tpo src/$(DEPDIR)/pq-generator_definition.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/generator_definition.c' object='src/pq-generator_definition.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-generator_definition.obj `if test -f 'src/generator_definition.c'; then $(CYGPATH_W) 'src/generator_definition.c'; else $(CYGPATH_W) '$(srcdir)/src/generator_definition.c'; fi`
src/pq-get_definition_sets.o: src/get_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-get_definition_sets.o -MD -MP -MF src/$(DEPDIR)/pq-get_definition_sets.Tpo -c -o src/pq-get_definition_sets.o `test -f 'src/get_definition_sets.c' || echo '$(srcdir)/'`src/get_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-get_definition_sets.Tpo src/$(DEPDIR)/pq-get_definition_sets.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/get_definition_sets.c' object='src/pq-get_definition_sets.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-get_definition_sets.o `test -f 'src/get_definition_sets.c' || echo '$(srcdir)/'`src/get_definition_sets.c
src/pq-get_definition_sets.obj: src/get_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-get_definition_sets.obj -MD -MP -MF src/$(DEPDIR)/pq-get_definition_sets.Tpo -c -o src/pq-get_definition_sets.obj `if test -f 'src/get_definition_sets.c'; then $(CYGPATH_W) 'src/get_definition_sets.c'; else $(CYGPATH_W) '$(srcdir)/src/get_definition_sets.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-get_definition_sets.Tpo src/$(DEPDIR)/pq-get_definition_sets.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/get_definition_sets.c' object='src/pq-get_definition_sets.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-get_definition_sets.obj `if test -f 'src/get_definition_sets.c'; then $(CYGPATH_W) 'src/get_definition_sets.c'; else $(CYGPATH_W) '$(srcdir)/src/get_definition_sets.c'; fi`
src/pq-identity.o: src/identity.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-identity.o -MD -MP -MF src/$(DEPDIR)/pq-identity.Tpo -c -o src/pq-identity.o `test -f 'src/identity.c' || echo '$(srcdir)/'`src/identity.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-identity.Tpo src/$(DEPDIR)/pq-identity.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/identity.c' object='src/pq-identity.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-identity.o `test -f 'src/identity.c' || echo '$(srcdir)/'`src/identity.c
src/pq-identity.obj: src/identity.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-identity.obj -MD -MP -MF src/$(DEPDIR)/pq-identity.Tpo -c -o src/pq-identity.obj `if test -f 'src/identity.c'; then $(CYGPATH_W) 'src/identity.c'; else $(CYGPATH_W) '$(srcdir)/src/identity.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-identity.Tpo src/$(DEPDIR)/pq-identity.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/identity.c' object='src/pq-identity.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-identity.obj `if test -f 'src/identity.c'; then $(CYGPATH_W) 'src/identity.c'; else $(CYGPATH_W) '$(srcdir)/src/identity.c'; fi`
src/pq-immediate_descendant.o: src/immediate_descendant.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-immediate_descendant.o -MD -MP -MF src/$(DEPDIR)/pq-immediate_descendant.Tpo -c -o src/pq-immediate_descendant.o `test -f 'src/immediate_descendant.c' || echo '$(srcdir)/'`src/immediate_descendant.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-immediate_descendant.Tpo src/$(DEPDIR)/pq-immediate_descendant.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/immediate_descendant.c' object='src/pq-immediate_descendant.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-immediate_descendant.o `test -f 'src/immediate_descendant.c' || echo '$(srcdir)/'`src/immediate_descendant.c
src/pq-immediate_descendant.obj: src/immediate_descendant.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-immediate_descendant.obj -MD -MP -MF src/$(DEPDIR)/pq-immediate_descendant.Tpo -c -o src/pq-immediate_descendant.obj `if test -f 'src/immediate_descendant.c'; then $(CYGPATH_W) 'src/immediate_descendant.c'; else $(CYGPATH_W) '$(srcdir)/src/immediate_descendant.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-immediate_descendant.Tpo src/$(DEPDIR)/pq-immediate_descendant.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/immediate_descendant.c' object='src/pq-immediate_descendant.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-immediate_descendant.obj `if test -f 'src/immediate_descendant.c'; then $(CYGPATH_W) 'src/immediate_descendant.c'; else $(CYGPATH_W) '$(srcdir)/src/immediate_descendant.c'; fi`
src/pq-initialise_pcp.o: src/initialise_pcp.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-initialise_pcp.o -MD -MP -MF src/$(DEPDIR)/pq-initialise_pcp.Tpo -c -o src/pq-initialise_pcp.o `test -f 'src/initialise_pcp.c' || echo '$(srcdir)/'`src/initialise_pcp.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-initialise_pcp.Tpo src/$(DEPDIR)/pq-initialise_pcp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/initialise_pcp.c' object='src/pq-initialise_pcp.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-initialise_pcp.o `test -f 'src/initialise_pcp.c' || echo '$(srcdir)/'`src/initialise_pcp.c
src/pq-initialise_pcp.obj: src/initialise_pcp.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-initialise_pcp.obj -MD -MP -MF src/$(DEPDIR)/pq-initialise_pcp.Tpo -c -o src/pq-initialise_pcp.obj `if test -f 'src/initialise_pcp.c'; then $(CYGPATH_W) 'src/initialise_pcp.c'; else $(CYGPATH_W) '$(srcdir)/src/initialise_pcp.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-initialise_pcp.Tpo src/$(DEPDIR)/pq-initialise_pcp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/initialise_pcp.c' object='src/pq-initialise_pcp.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-initialise_pcp.obj `if test -f 'src/initialise_pcp.c'; then $(CYGPATH_W) 'src/initialise_pcp.c'; else $(CYGPATH_W) '$(srcdir)/src/initialise_pcp.c'; fi`
src/pq-initialise_pga.o: src/initialise_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-initialise_pga.o -MD -MP -MF src/$(DEPDIR)/pq-initialise_pga.Tpo -c -o src/pq-initialise_pga.o `test -f 'src/initialise_pga.c' || echo '$(srcdir)/'`src/initialise_pga.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-initialise_pga.Tpo src/$(DEPDIR)/pq-initialise_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/initialise_pga.c' object='src/pq-initialise_pga.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-initialise_pga.o `test -f 'src/initialise_pga.c' || echo '$(srcdir)/'`src/initialise_pga.c
src/pq-initialise_pga.obj: src/initialise_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-initialise_pga.obj -MD -MP -MF src/$(DEPDIR)/pq-initialise_pga.Tpo -c -o src/pq-initialise_pga.obj `if test -f 'src/initialise_pga.c'; then $(CYGPATH_W) 'src/initialise_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/initialise_pga.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-initialise_pga.Tpo src/$(DEPDIR)/pq-initialise_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/initialise_pga.c' object='src/pq-initialise_pga.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-initialise_pga.obj `if test -f 'src/initialise_pga.c'; then $(CYGPATH_W) 'src/initialise_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/initialise_pga.c'; fi`
src/pq-insoluble_orbits.o: src/insoluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-insoluble_orbits.o -MD -MP -MF src/$(DEPDIR)/pq-insoluble_orbits.Tpo -c -o src/pq-insoluble_orbits.o `test -f 'src/insoluble_orbits.c' || echo '$(srcdir)/'`src/insoluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-insoluble_orbits.Tpo src/$(DEPDIR)/pq-insoluble_orbits.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/insoluble_orbits.c' object='src/pq-insoluble_orbits.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-insoluble_orbits.o `test -f 'src/insoluble_orbits.c' || echo '$(srcdir)/'`src/insoluble_orbits.c
src/pq-insoluble_orbits.obj: src/insoluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-insoluble_orbits.obj -MD -MP -MF src/$(DEPDIR)/pq-insoluble_orbits.Tpo -c -o src/pq-insoluble_orbits.obj `if test -f 'src/insoluble_orbits.c'; then $(CYGPATH_W) 'src/insoluble_orbits.c'; else $(CYGPATH_W) '$(srcdir)/src/insoluble_orbits.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-insoluble_orbits.Tpo src/$(DEPDIR)/pq-insoluble_orbits.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/insoluble_orbits.c' object='src/pq-insoluble_orbits.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-insoluble_orbits.obj `if test -f 'src/insoluble_orbits.c'; then $(CYGPATH_W) 'src/insoluble_orbits.c'; else $(CYGPATH_W) '$(srcdir)/src/insoluble_orbits.c'; fi`
src/pq-int_power.o: src/int_power.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-int_power.o -MD -MP -MF src/$(DEPDIR)/pq-int_power.Tpo -c -o src/pq-int_power.o `test -f 'src/int_power.c' || echo '$(srcdir)/'`src/int_power.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-int_power.Tpo src/$(DEPDIR)/pq-int_power.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/int_power.c' object='src/pq-int_power.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-int_power.o `test -f 'src/int_power.c' || echo '$(srcdir)/'`src/int_power.c
src/pq-int_power.obj: src/int_power.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-int_power.obj -MD -MP -MF src/$(DEPDIR)/pq-int_power.Tpo -c -o src/pq-int_power.obj `if test -f 'src/int_power.c'; then $(CYGPATH_W) 'src/int_power.c'; else $(CYGPATH_W) '$(srcdir)/src/int_power.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-int_power.Tpo src/$(DEPDIR)/pq-int_power.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/int_power.c' object='src/pq-int_power.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-int_power.obj `if test -f 'src/int_power.c'; then $(CYGPATH_W) 'src/int_power.c'; else $(CYGPATH_W) '$(srcdir)/src/int_power.c'; fi`
src/pq-interactive_pga.o: src/interactive_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-interactive_pga.o -MD -MP -MF src/$(DEPDIR)/pq-interactive_pga.Tpo -c -o src/pq-interactive_pga.o `test -f 'src/interactive_pga.c' || echo '$(srcdir)/'`src/interactive_pga.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-interactive_pga.Tpo src/$(DEPDIR)/pq-interactive_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/interactive_pga.c' object='src/pq-interactive_pga.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-interactive_pga.o `test -f 'src/interactive_pga.c' || echo '$(srcdir)/'`src/interactive_pga.c
src/pq-interactive_pga.obj: src/interactive_pga.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-interactive_pga.obj -MD -MP -MF src/$(DEPDIR)/pq-interactive_pga.Tpo -c -o src/pq-interactive_pga.obj `if test -f 'src/interactive_pga.c'; then $(CYGPATH_W) 'src/interactive_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/interactive_pga.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-interactive_pga.Tpo src/$(DEPDIR)/pq-interactive_pga.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/interactive_pga.c' object='src/pq-interactive_pga.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-interactive_pga.obj `if test -f 'src/interactive_pga.c'; then $(CYGPATH_W) 'src/interactive_pga.c'; else $(CYGPATH_W) '$(srcdir)/src/interactive_pga.c'; fi`
src/pq-interactive_pq.o: src/interactive_pq.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-interactive_pq.o -MD -MP -MF src/$(DEPDIR)/pq-interactive_pq.Tpo -c -o src/pq-interactive_pq.o `test -f 'src/interactive_pq.c' || echo '$(srcdir)/'`src/interactive_pq.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-interactive_pq.Tpo src/$(DEPDIR)/pq-interactive_pq.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/interactive_pq.c' object='src/pq-interactive_pq.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-interactive_pq.o `test -f 'src/interactive_pq.c' || echo '$(srcdir)/'`src/interactive_pq.c
src/pq-interactive_pq.obj: src/interactive_pq.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-interactive_pq.obj -MD -MP -MF src/$(DEPDIR)/pq-interactive_pq.Tpo -c -o src/pq-interactive_pq.obj `if test -f 'src/interactive_pq.c'; then $(CYGPATH_W) 'src/interactive_pq.c'; else $(CYGPATH_W) '$(srcdir)/src/interactive_pq.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-interactive_pq.Tpo src/$(DEPDIR)/pq-interactive_pq.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/interactive_pq.c' object='src/pq-interactive_pq.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-interactive_pq.obj `if test -f 'src/interactive_pq.c'; then $(CYGPATH_W) 'src/interactive_pq.c'; else $(CYGPATH_W) '$(srcdir)/src/interactive_pq.c'; fi`
src/pq-invert.o: src/invert.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert.o -MD -MP -MF src/$(DEPDIR)/pq-invert.Tpo -c -o src/pq-invert.o `test -f 'src/invert.c' || echo '$(srcdir)/'`src/invert.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert.Tpo src/$(DEPDIR)/pq-invert.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert.c' object='src/pq-invert.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert.o `test -f 'src/invert.c' || echo '$(srcdir)/'`src/invert.c
src/pq-invert.obj: src/invert.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert.obj -MD -MP -MF src/$(DEPDIR)/pq-invert.Tpo -c -o src/pq-invert.obj `if test -f 'src/invert.c'; then $(CYGPATH_W) 'src/invert.c'; else $(CYGPATH_W) '$(srcdir)/src/invert.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert.Tpo src/$(DEPDIR)/pq-invert.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert.c' object='src/pq-invert.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert.obj `if test -f 'src/invert.c'; then $(CYGPATH_W) 'src/invert.c'; else $(CYGPATH_W) '$(srcdir)/src/invert.c'; fi`
src/pq-invert_auts.o: src/invert_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert_auts.o -MD -MP -MF src/$(DEPDIR)/pq-invert_auts.Tpo -c -o src/pq-invert_auts.o `test -f 'src/invert_auts.c' || echo '$(srcdir)/'`src/invert_auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert_auts.Tpo src/$(DEPDIR)/pq-invert_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert_auts.c' object='src/pq-invert_auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert_auts.o `test -f 'src/invert_auts.c' || echo '$(srcdir)/'`src/invert_auts.c
src/pq-invert_auts.obj: src/invert_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert_auts.obj -MD -MP -MF src/$(DEPDIR)/pq-invert_auts.Tpo -c -o src/pq-invert_auts.obj `if test -f 'src/invert_auts.c'; then $(CYGPATH_W) 'src/invert_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/invert_auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert_auts.Tpo src/$(DEPDIR)/pq-invert_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert_auts.c' object='src/pq-invert_auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert_auts.obj `if test -f 'src/invert_auts.c'; then $(CYGPATH_W) 'src/invert_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/invert_auts.c'; fi`
src/pq-invert_modp.o: src/invert_modp.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert_modp.o -MD -MP -MF src/$(DEPDIR)/pq-invert_modp.Tpo -c -o src/pq-invert_modp.o `test -f 'src/invert_modp.c' || echo '$(srcdir)/'`src/invert_modp.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert_modp.Tpo src/$(DEPDIR)/pq-invert_modp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert_modp.c' object='src/pq-invert_modp.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert_modp.o `test -f 'src/invert_modp.c' || echo '$(srcdir)/'`src/invert_modp.c
src/pq-invert_modp.obj: src/invert_modp.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-invert_modp.obj -MD -MP -MF src/$(DEPDIR)/pq-invert_modp.Tpo -c -o src/pq-invert_modp.obj `if test -f 'src/invert_modp.c'; then $(CYGPATH_W) 'src/invert_modp.c'; else $(CYGPATH_W) '$(srcdir)/src/invert_modp.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-invert_modp.Tpo src/$(DEPDIR)/pq-invert_modp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/invert_modp.c' object='src/pq-invert_modp.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-invert_modp.obj `if test -f 'src/invert_modp.c'; then $(CYGPATH_W) 'src/invert_modp.c'; else $(CYGPATH_W) '$(srcdir)/src/invert_modp.c'; fi`
src/pq-is_genlim_exceeded.o: src/is_genlim_exceeded.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-is_genlim_exceeded.o -MD -MP -MF src/$(DEPDIR)/pq-is_genlim_exceeded.Tpo -c -o src/pq-is_genlim_exceeded.o `test -f 'src/is_genlim_exceeded.c' || echo '$(srcdir)/'`src/is_genlim_exceeded.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-is_genlim_exceeded.Tpo src/$(DEPDIR)/pq-is_genlim_exceeded.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/is_genlim_exceeded.c' object='src/pq-is_genlim_exceeded.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-is_genlim_exceeded.o `test -f 'src/is_genlim_exceeded.c' || echo '$(srcdir)/'`src/is_genlim_exceeded.c
src/pq-is_genlim_exceeded.obj: src/is_genlim_exceeded.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-is_genlim_exceeded.obj -MD -MP -MF src/$(DEPDIR)/pq-is_genlim_exceeded.Tpo -c -o src/pq-is_genlim_exceeded.obj `if test -f 'src/is_genlim_exceeded.c'; then $(CYGPATH_W) 'src/is_genlim_exceeded.c'; else $(CYGPATH_W) '$(srcdir)/src/is_genlim_exceeded.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-is_genlim_exceeded.Tpo src/$(DEPDIR)/pq-is_genlim_exceeded.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/is_genlim_exceeded.c' object='src/pq-is_genlim_exceeded.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-is_genlim_exceeded.obj `if test -f 'src/is_genlim_exceeded.c'; then $(CYGPATH_W) 'src/is_genlim_exceeded.c'; else $(CYGPATH_W) '$(srcdir)/src/is_genlim_exceeded.c'; fi`
src/pq-is_space_exhausted.o: src/is_space_exhausted.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-is_space_exhausted.o -MD -MP -MF src/$(DEPDIR)/pq-is_space_exhausted.Tpo -c -o src/pq-is_space_exhausted.o `test -f 'src/is_space_exhausted.c' || echo '$(srcdir)/'`src/is_space_exhausted.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-is_space_exhausted.Tpo src/$(DEPDIR)/pq-is_space_exhausted.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/is_space_exhausted.c' object='src/pq-is_space_exhausted.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-is_space_exhausted.o `test -f 'src/is_space_exhausted.c' || echo '$(srcdir)/'`src/is_space_exhausted.c
src/pq-is_space_exhausted.obj: src/is_space_exhausted.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-is_space_exhausted.obj -MD -MP -MF src/$(DEPDIR)/pq-is_space_exhausted.Tpo -c -o src/pq-is_space_exhausted.obj `if test -f 'src/is_space_exhausted.c'; then $(CYGPATH_W) 'src/is_space_exhausted.c'; else $(CYGPATH_W) '$(srcdir)/src/is_space_exhausted.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-is_space_exhausted.Tpo src/$(DEPDIR)/pq-is_space_exhausted.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/is_space_exhausted.c' object='src/pq-is_space_exhausted.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-is_space_exhausted.obj `if test -f 'src/is_space_exhausted.c'; then $(CYGPATH_W) 'src/is_space_exhausted.c'; else $(CYGPATH_W) '$(srcdir)/src/is_space_exhausted.c'; fi`
src/pq-isom_options.o: src/isom_options.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-isom_options.o -MD -MP -MF src/$(DEPDIR)/pq-isom_options.Tpo -c -o src/pq-isom_options.o `test -f 'src/isom_options.c' || echo '$(srcdir)/'`src/isom_options.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-isom_options.Tpo src/$(DEPDIR)/pq-isom_options.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/isom_options.c' object='src/pq-isom_options.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-isom_options.o `test -f 'src/isom_options.c' || echo '$(srcdir)/'`src/isom_options.c
src/pq-isom_options.obj: src/isom_options.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-isom_options.obj -MD -MP -MF src/$(DEPDIR)/pq-isom_options.Tpo -c -o src/pq-isom_options.obj `if test -f 'src/isom_options.c'; then $(CYGPATH_W) 'src/isom_options.c'; else $(CYGPATH_W) '$(srcdir)/src/isom_options.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-isom_options.Tpo src/$(DEPDIR)/pq-isom_options.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/isom_options.c' object='src/pq-isom_options.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-isom_options.obj `if test -f 'src/isom_options.c'; then $(CYGPATH_W) 'src/isom_options.c'; else $(CYGPATH_W) '$(srcdir)/src/isom_options.c'; fi`
src/pq-iteration.o: src/iteration.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-iteration.o -MD -MP -MF src/$(DEPDIR)/pq-iteration.Tpo -c -o src/pq-iteration.o `test -f 'src/iteration.c' || echo '$(srcdir)/'`src/iteration.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-iteration.Tpo src/$(DEPDIR)/pq-iteration.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/iteration.c' object='src/pq-iteration.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-iteration.o `test -f 'src/iteration.c' || echo '$(srcdir)/'`src/iteration.c
src/pq-iteration.obj: src/iteration.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-iteration.obj -MD -MP -MF src/$(DEPDIR)/pq-iteration.Tpo -c -o src/pq-iteration.obj `if test -f 'src/iteration.c'; then $(CYGPATH_W) 'src/iteration.c'; else $(CYGPATH_W) '$(srcdir)/src/iteration.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-iteration.Tpo src/$(DEPDIR)/pq-iteration.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/iteration.c' object='src/pq-iteration.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-iteration.obj `if test -f 'src/iteration.c'; then $(CYGPATH_W) 'src/iteration.c'; else $(CYGPATH_W) '$(srcdir)/src/iteration.c'; fi`
src/pq-jacobi.o: src/jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-jacobi.o -MD -MP -MF src/$(DEPDIR)/pq-jacobi.Tpo -c -o src/pq-jacobi.o `test -f 'src/jacobi.c' || echo '$(srcdir)/'`src/jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-jacobi.Tpo src/$(DEPDIR)/pq-jacobi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jacobi.c' object='src/pq-jacobi.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-jacobi.o `test -f 'src/jacobi.c' || echo '$(srcdir)/'`src/jacobi.c
src/pq-jacobi.obj: src/jacobi.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-jacobi.obj -MD -MP -MF src/$(DEPDIR)/pq-jacobi.Tpo -c -o src/pq-jacobi.obj `if test -f 'src/jacobi.c'; then $(CYGPATH_W) 'src/jacobi.c'; else $(CYGPATH_W) '$(srcdir)/src/jacobi.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-jacobi.Tpo src/$(DEPDIR)/pq-jacobi.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jacobi.c' object='src/pq-jacobi.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-jacobi.obj `if test -f 'src/jacobi.c'; then $(CYGPATH_W) 'src/jacobi.c'; else $(CYGPATH_W) '$(srcdir)/src/jacobi.c'; fi`
src/pq-label_to_subgroup.o: src/label_to_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-label_to_subgroup.o -MD -MP -MF src/$(DEPDIR)/pq-label_to_subgroup.Tpo -c -o src/pq-label_to_subgroup.o `test -f 'src/label_to_subgroup.c' || echo '$(srcdir)/'`src/label_to_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-label_to_subgroup.Tpo src/$(DEPDIR)/pq-label_to_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/label_to_subgroup.c' object='src/pq-label_to_subgroup.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-label_to_subgroup.o `test -f 'src/label_to_subgroup.c' || echo '$(srcdir)/'`src/label_to_subgroup.c
src/pq-label_to_subgroup.obj: src/label_to_subgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-label_to_subgroup.obj -MD -MP -MF src/$(DEPDIR)/pq-label_to_subgroup.Tpo -c -o src/pq-label_to_subgroup.obj `if test -f 'src/label_to_subgroup.c'; then $(CYGPATH_W) 'src/label_to_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/label_to_subgroup.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-label_to_subgroup.Tpo src/$(DEPDIR)/pq-label_to_subgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/label_to_subgroup.c' object='src/pq-label_to_subgroup.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-label_to_subgroup.obj `if test -f 'src/label_to_subgroup.c'; then $(CYGPATH_W) 'src/label_to_subgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/label_to_subgroup.c'; fi`
src/pq-last_class.o: src/last_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-last_class.o -MD -MP -MF src/$(DEPDIR)/pq-last_class.Tpo -c -o src/pq-last_class.o `test -f 'src/last_class.c' || echo '$(srcdir)/'`src/last_class.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-last_class.Tpo src/$(DEPDIR)/pq-last_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/last_class.c' object='src/pq-last_class.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-last_class.o `test -f 'src/last_class.c' || echo '$(srcdir)/'`src/last_class.c
src/pq-last_class.obj: src/last_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-last_class.obj -MD -MP -MF src/$(DEPDIR)/pq-last_class.Tpo -c -o src/pq-last_class.obj `if test -f 'src/last_class.c'; then $(CYGPATH_W) 'src/last_class.c'; else $(CYGPATH_W) '$(srcdir)/src/last_class.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-last_class.Tpo src/$(DEPDIR)/pq-last_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/last_class.c' object='src/pq-last_class.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-last_class.obj `if test -f 'src/last_class.c'; then $(CYGPATH_W) 'src/last_class.c'; else $(CYGPATH_W) '$(srcdir)/src/last_class.c'; fi`
src/pq-list_commutators.o: src/list_commutators.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-list_commutators.o -MD -MP -MF src/$(DEPDIR)/pq-list_commutators.Tpo -c -o src/pq-list_commutators.o `test -f 'src/list_commutators.c' || echo '$(srcdir)/'`src/list_commutators.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-list_commutators.Tpo src/$(DEPDIR)/pq-list_commutators.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/list_commutators.c' object='src/pq-list_commutators.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-list_commutators.o `test -f 'src/list_commutators.c' || echo '$(srcdir)/'`src/list_commutators.c
src/pq-list_commutators.obj: src/list_commutators.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-list_commutators.obj -MD -MP -MF src/$(DEPDIR)/pq-list_commutators.Tpo -c -o src/pq-list_commutators.obj `if test -f 'src/list_commutators.c'; then $(CYGPATH_W) 'src/list_commutators.c'; else $(CYGPATH_W) '$(srcdir)/src/list_commutators.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-list_commutators.Tpo src/$(DEPDIR)/pq-list_commutators.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/list_commutators.c' object='src/pq-list_commutators.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-list_commutators.obj `if test -f 'src/list_commutators.c'; then $(CYGPATH_W) 'src/list_commutators.c'; else $(CYGPATH_W) '$(srcdir)/src/list_commutators.c'; fi`
src/pq-map_relations.o: src/map_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-map_relations.o -MD -MP -MF src/$(DEPDIR)/pq-map_relations.Tpo -c -o src/pq-map_relations.o `test -f 'src/map_relations.c' || echo '$(srcdir)/'`src/map_relations.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-map_relations.Tpo src/$(DEPDIR)/pq-map_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/map_relations.c' object='src/pq-map_relations.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-map_relations.o `test -f 'src/map_relations.c' || echo '$(srcdir)/'`src/map_relations.c
src/pq-map_relations.obj: src/map_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-map_relations.obj -MD -MP -MF src/$(DEPDIR)/pq-map_relations.Tpo -c -o src/pq-map_relations.obj `if test -f 'src/map_relations.c'; then $(CYGPATH_W) 'src/map_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/map_relations.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-map_relations.Tpo src/$(DEPDIR)/pq-map_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/map_relations.c' object='src/pq-map_relations.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-map_relations.obj `if test -f 'src/map_relations.c'; then $(CYGPATH_W) 'src/map_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/map_relations.c'; fi`
src/pq-matrix.o: src/matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-matrix.o -MD -MP -MF src/$(DEPDIR)/pq-matrix.Tpo -c -o src/pq-matrix.o `test -f 'src/matrix.c' || echo '$(srcdir)/'`src/matrix.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-matrix.Tpo src/$(DEPDIR)/pq-matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/matrix.c' object='src/pq-matrix.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-matrix.o `test -f 'src/matrix.c' || echo '$(srcdir)/'`src/matrix.c
src/pq-matrix.obj: src/matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-matrix.obj -MD -MP -MF src/$(DEPDIR)/pq-matrix.Tpo -c -o src/pq-matrix.obj `if test -f 'src/matrix.c'; then $(CYGPATH_W) 'src/matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/matrix.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-matrix.Tpo src/$(DEPDIR)/pq-matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/matrix.c' object='src/pq-matrix.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-matrix.obj `if test -f 'src/matrix.c'; then $(CYGPATH_W) 'src/matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/matrix.c'; fi`
src/pq-maxoccur.o: src/maxoccur.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-maxoccur.o -MD -MP -MF src/$(DEPDIR)/pq-maxoccur.Tpo -c -o src/pq-maxoccur.o `test -f 'src/maxoccur.c' || echo '$(srcdir)/'`src/maxoccur.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-maxoccur.Tpo src/$(DEPDIR)/pq-maxoccur.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/maxoccur.c' object='src/pq-maxoccur.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-maxoccur.o `test -f 'src/maxoccur.c' || echo '$(srcdir)/'`src/maxoccur.c
src/pq-maxoccur.obj: src/maxoccur.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-maxoccur.obj -MD -MP -MF src/$(DEPDIR)/pq-maxoccur.Tpo -c -o src/pq-maxoccur.obj `if test -f 'src/maxoccur.c'; then $(CYGPATH_W) 'src/maxoccur.c'; else $(CYGPATH_W) '$(srcdir)/src/maxoccur.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-maxoccur.Tpo src/$(DEPDIR)/pq-maxoccur.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/maxoccur.c' object='src/pq-maxoccur.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-maxoccur.obj `if test -f 'src/maxoccur.c'; then $(CYGPATH_W) 'src/maxoccur.c'; else $(CYGPATH_W) '$(srcdir)/src/maxoccur.c'; fi`
src/pq-multiply_word.o: src/multiply_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-multiply_word.o -MD -MP -MF src/$(DEPDIR)/pq-multiply_word.Tpo -c -o src/pq-multiply_word.o `test -f 'src/multiply_word.c' || echo '$(srcdir)/'`src/multiply_word.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-multiply_word.Tpo src/$(DEPDIR)/pq-multiply_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/multiply_word.c' object='src/pq-multiply_word.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-multiply_word.o `test -f 'src/multiply_word.c' || echo '$(srcdir)/'`src/multiply_word.c
src/pq-multiply_word.obj: src/multiply_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-multiply_word.obj -MD -MP -MF src/$(DEPDIR)/pq-multiply_word.Tpo -c -o src/pq-multiply_word.obj `if test -f 'src/multiply_word.c'; then $(CYGPATH_W) 'src/multiply_word.c'; else $(CYGPATH_W) '$(srcdir)/src/multiply_word.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-multiply_word.Tpo src/$(DEPDIR)/pq-multiply_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/multiply_word.c' object='src/pq-multiply_word.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-multiply_word.obj `if test -f 'src/multiply_word.c'; then $(CYGPATH_W) 'src/multiply_word.c'; else $(CYGPATH_W) '$(srcdir)/src/multiply_word.c'; fi`
src/pq-next_class.o: src/next_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-next_class.o -MD -MP -MF src/$(DEPDIR)/pq-next_class.Tpo -c -o src/pq-next_class.o `test -f 'src/next_class.c' || echo '$(srcdir)/'`src/next_class.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-next_class.Tpo src/$(DEPDIR)/pq-next_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/next_class.c' object='src/pq-next_class.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-next_class.o `test -f 'src/next_class.c' || echo '$(srcdir)/'`src/next_class.c
src/pq-next_class.obj: src/next_class.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-next_class.obj -MD -MP -MF src/$(DEPDIR)/pq-next_class.Tpo -c -o src/pq-next_class.obj `if test -f 'src/next_class.c'; then $(CYGPATH_W) 'src/next_class.c'; else $(CYGPATH_W) '$(srcdir)/src/next_class.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-next_class.Tpo src/$(DEPDIR)/pq-next_class.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/next_class.c' object='src/pq-next_class.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-next_class.obj `if test -f 'src/next_class.c'; then $(CYGPATH_W) 'src/next_class.c'; else $(CYGPATH_W) '$(srcdir)/src/next_class.c'; fi`
src/pq-options.o: src/options.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-options.o -MD -MP -MF src/$(DEPDIR)/pq-options.Tpo -c -o src/pq-options.o `test -f 'src/options.c' || echo '$(srcdir)/'`src/options.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-options.Tpo src/$(DEPDIR)/pq-options.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/options.c' object='src/pq-options.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-options.o `test -f 'src/options.c' || echo '$(srcdir)/'`src/options.c
src/pq-options.obj: src/options.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-options.obj -MD -MP -MF src/$(DEPDIR)/pq-options.Tpo -c -o src/pq-options.obj `if test -f 'src/options.c'; then $(CYGPATH_W) 'src/options.c'; else $(CYGPATH_W) '$(srcdir)/src/options.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-options.Tpo src/$(DEPDIR)/pq-options.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/options.c' object='src/pq-options.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-options.obj `if test -f 'src/options.c'; then $(CYGPATH_W) 'src/options.c'; else $(CYGPATH_W) '$(srcdir)/src/options.c'; fi`
src/pq-orbit_summary.o: src/orbit_summary.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-orbit_summary.o -MD -MP -MF src/$(DEPDIR)/pq-orbit_summary.Tpo -c -o src/pq-orbit_summary.o `test -f 'src/orbit_summary.c' || echo '$(srcdir)/'`src/orbit_summary.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-orbit_summary.Tpo src/$(DEPDIR)/pq-orbit_summary.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/orbit_summary.c' object='src/pq-orbit_summary.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-orbit_summary.o `test -f 'src/orbit_summary.c' || echo '$(srcdir)/'`src/orbit_summary.c
src/pq-orbit_summary.obj: src/orbit_summary.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-orbit_summary.obj -MD -MP -MF src/$(DEPDIR)/pq-orbit_summary.Tpo -c -o src/pq-orbit_summary.obj `if test -f 'src/orbit_summary.c'; then $(CYGPATH_W) 'src/orbit_summary.c'; else $(CYGPATH_W) '$(srcdir)/src/orbit_summary.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-orbit_summary.Tpo src/$(DEPDIR)/pq-orbit_summary.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/orbit_summary.c' object='src/pq-orbit_summary.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-orbit_summary.obj `if test -f 'src/orbit_summary.c'; then $(CYGPATH_W) 'src/orbit_summary.c'; else $(CYGPATH_W) '$(srcdir)/src/orbit_summary.c'; fi`
src/pq-permute_elements.o: src/permute_elements.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-permute_elements.o -MD -MP -MF src/$(DEPDIR)/pq-permute_elements.Tpo -c -o src/pq-permute_elements.o `test -f 'src/permute_elements.c' || echo '$(srcdir)/'`src/permute_elements.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-permute_elements.Tpo src/$(DEPDIR)/pq-permute_elements.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/permute_elements.c' object='src/pq-permute_elements.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-permute_elements.o `test -f 'src/permute_elements.c' || echo '$(srcdir)/'`src/permute_elements.c
src/pq-permute_elements.obj: src/permute_elements.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-permute_elements.obj -MD -MP -MF src/$(DEPDIR)/pq-permute_elements.Tpo -c -o src/pq-permute_elements.obj `if test -f 'src/permute_elements.c'; then $(CYGPATH_W) 'src/permute_elements.c'; else $(CYGPATH_W) '$(srcdir)/src/permute_elements.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-permute_elements.Tpo src/$(DEPDIR)/pq-permute_elements.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/permute_elements.c' object='src/pq-permute_elements.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-permute_elements.obj `if test -f 'src/permute_elements.c'; then $(CYGPATH_W) 'src/permute_elements.c'; else $(CYGPATH_W) '$(srcdir)/src/permute_elements.c'; fi`
src/pq-permute_subgroups.o: src/permute_subgroups.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-permute_subgroups.o -MD -MP -MF src/$(DEPDIR)/pq-permute_subgroups.Tpo -c -o src/pq-permute_subgroups.o `test -f 'src/permute_subgroups.c' || echo '$(srcdir)/'`src/permute_subgroups.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-permute_subgroups.Tpo src/$(DEPDIR)/pq-permute_subgroups.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/permute_subgroups.c' object='src/pq-permute_subgroups.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-permute_subgroups.o `test -f 'src/permute_subgroups.c' || echo '$(srcdir)/'`src/permute_subgroups.c
src/pq-permute_subgroups.obj: src/permute_subgroups.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-permute_subgroups.obj -MD -MP -MF src/$(DEPDIR)/pq-permute_subgroups.Tpo -c -o src/pq-permute_subgroups.obj `if test -f 'src/permute_subgroups.c'; then $(CYGPATH_W) 'src/permute_subgroups.c'; else $(CYGPATH_W) '$(srcdir)/src/permute_subgroups.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-permute_subgroups.Tpo src/$(DEPDIR)/pq-permute_subgroups.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/permute_subgroups.c' object='src/pq-permute_subgroups.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-permute_subgroups.obj `if test -f 'src/permute_subgroups.c'; then $(CYGPATH_W) 'src/permute_subgroups.c'; else $(CYGPATH_W) '$(srcdir)/src/permute_subgroups.c'; fi`
src/pq-pgroup.o: src/pgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pgroup.o -MD -MP -MF src/$(DEPDIR)/pq-pgroup.Tpo -c -o src/pq-pgroup.o `test -f 'src/pgroup.c' || echo '$(srcdir)/'`src/pgroup.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pgroup.Tpo src/$(DEPDIR)/pq-pgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pgroup.c' object='src/pq-pgroup.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pgroup.o `test -f 'src/pgroup.c' || echo '$(srcdir)/'`src/pgroup.c
src/pq-pgroup.obj: src/pgroup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pgroup.obj -MD -MP -MF src/$(DEPDIR)/pq-pgroup.Tpo -c -o src/pq-pgroup.obj `if test -f 'src/pgroup.c'; then $(CYGPATH_W) 'src/pgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/pgroup.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pgroup.Tpo src/$(DEPDIR)/pq-pgroup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pgroup.c' object='src/pq-pgroup.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pgroup.obj `if test -f 'src/pgroup.c'; then $(CYGPATH_W) 'src/pgroup.c'; else $(CYGPATH_W) '$(srcdir)/src/pgroup.c'; fi`
src/pq-power.o: src/power.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-power.o -MD -MP -MF src/$(DEPDIR)/pq-power.Tpo -c -o src/pq-power.o `test -f 'src/power.c' || echo '$(srcdir)/'`src/power.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-power.Tpo src/$(DEPDIR)/pq-power.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/power.c' object='src/pq-power.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-power.o `test -f 'src/power.c' || echo '$(srcdir)/'`src/power.c
src/pq-power.obj: src/power.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-power.obj -MD -MP -MF src/$(DEPDIR)/pq-power.Tpo -c -o src/pq-power.obj `if test -f 'src/power.c'; then $(CYGPATH_W) 'src/power.c'; else $(CYGPATH_W) '$(srcdir)/src/power.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-power.Tpo src/$(DEPDIR)/pq-power.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/power.c' object='src/pq-power.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-power.obj `if test -f 'src/power.c'; then $(CYGPATH_W) 'src/power.c'; else $(CYGPATH_W) '$(srcdir)/src/power.c'; fi`
src/pq-pquotient.o: src/pquotient.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pquotient.o -MD -MP -MF src/$(DEPDIR)/pq-pquotient.Tpo -c -o src/pq-pquotient.o `test -f 'src/pquotient.c' || echo '$(srcdir)/'`src/pquotient.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pquotient.Tpo src/$(DEPDIR)/pq-pquotient.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pquotient.c' object='src/pq-pquotient.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pquotient.o `test -f 'src/pquotient.c' || echo '$(srcdir)/'`src/pquotient.c
src/pq-pquotient.obj: src/pquotient.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pquotient.obj -MD -MP -MF src/$(DEPDIR)/pq-pquotient.Tpo -c -o src/pq-pquotient.obj `if test -f 'src/pquotient.c'; then $(CYGPATH_W) 'src/pquotient.c'; else $(CYGPATH_W) '$(srcdir)/src/pquotient.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pquotient.Tpo src/$(DEPDIR)/pq-pquotient.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pquotient.c' object='src/pq-pquotient.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pquotient.obj `if test -f 'src/pquotient.c'; then $(CYGPATH_W) 'src/pquotient.c'; else $(CYGPATH_W) '$(srcdir)/src/pquotient.c'; fi`
src/pq-pretty_filter.o: src/pretty_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pretty_filter.o -MD -MP -MF src/$(DEPDIR)/pq-pretty_filter.Tpo -c -o src/pq-pretty_filter.o `test -f 'src/pretty_filter.c' || echo '$(srcdir)/'`src/pretty_filter.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pretty_filter.Tpo src/$(DEPDIR)/pq-pretty_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pretty_filter.c' object='src/pq-pretty_filter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pretty_filter.o `test -f 'src/pretty_filter.c' || echo '$(srcdir)/'`src/pretty_filter.c
src/pq-pretty_filter.obj: src/pretty_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pretty_filter.obj -MD -MP -MF src/$(DEPDIR)/pq-pretty_filter.Tpo -c -o src/pq-pretty_filter.obj `if test -f 'src/pretty_filter.c'; then $(CYGPATH_W) 'src/pretty_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/pretty_filter.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pretty_filter.Tpo src/$(DEPDIR)/pq-pretty_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pretty_filter.c' object='src/pq-pretty_filter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pretty_filter.obj `if test -f 'src/pretty_filter.c'; then $(CYGPATH_W) 'src/pretty_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/pretty_filter.c'; fi`
src/pq-pretty_filterfns.o: src/pretty_filterfns.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pretty_filterfns.o -MD -MP -MF src/$(DEPDIR)/pq-pretty_filterfns.Tpo -c -o src/pq-pretty_filterfns.o `test -f 'src/pretty_filterfns.c' || echo '$(srcdir)/'`src/pretty_filterfns.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pretty_filterfns.Tpo src/$(DEPDIR)/pq-pretty_filterfns.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pretty_filterfns.c' object='src/pq-pretty_filterfns.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pretty_filterfns.o `test -f 'src/pretty_filterfns.c' || echo '$(srcdir)/'`src/pretty_filterfns.c
src/pq-pretty_filterfns.obj: src/pretty_filterfns.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-pretty_filterfns.obj -MD -MP -MF src/$(DEPDIR)/pq-pretty_filterfns.Tpo -c -o src/pq-pretty_filterfns.obj `if test -f 'src/pretty_filterfns.c'; then $(CYGPATH_W) 'src/pretty_filterfns.c'; else $(CYGPATH_W) '$(srcdir)/src/pretty_filterfns.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-pretty_filterfns.Tpo src/$(DEPDIR)/pq-pretty_filterfns.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pretty_filterfns.c' object='src/pq-pretty_filterfns.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-pretty_filterfns.obj `if test -f 'src/pretty_filterfns.c'; then $(CYGPATH_W) 'src/pretty_filterfns.c'; else $(CYGPATH_W) '$(srcdir)/src/pretty_filterfns.c'; fi`
src/pq-print_arrays.o: src/print_arrays.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_arrays.o -MD -MP -MF src/$(DEPDIR)/pq-print_arrays.Tpo -c -o src/pq-print_arrays.o `test -f 'src/print_arrays.c' || echo '$(srcdir)/'`src/print_arrays.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_arrays.Tpo src/$(DEPDIR)/pq-print_arrays.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_arrays.c' object='src/pq-print_arrays.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_arrays.o `test -f 'src/print_arrays.c' || echo '$(srcdir)/'`src/print_arrays.c
src/pq-print_arrays.obj: src/print_arrays.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_arrays.obj -MD -MP -MF src/$(DEPDIR)/pq-print_arrays.Tpo -c -o src/pq-print_arrays.obj `if test -f 'src/print_arrays.c'; then $(CYGPATH_W) 'src/print_arrays.c'; else $(CYGPATH_W) '$(srcdir)/src/print_arrays.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_arrays.Tpo src/$(DEPDIR)/pq-print_arrays.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_arrays.c' object='src/pq-print_arrays.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_arrays.obj `if test -f 'src/print_arrays.c'; then $(CYGPATH_W) 'src/print_arrays.c'; else $(CYGPATH_W) '$(srcdir)/src/print_arrays.c'; fi`
src/pq-print_auts.o: src/print_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_auts.o -MD -MP -MF src/$(DEPDIR)/pq-print_auts.Tpo -c -o src/pq-print_auts.o `test -f 'src/print_auts.c' || echo '$(srcdir)/'`src/print_auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_auts.Tpo src/$(DEPDIR)/pq-print_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_auts.c' object='src/pq-print_auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_auts.o `test -f 'src/print_auts.c' || echo '$(srcdir)/'`src/print_auts.c
src/pq-print_auts.obj: src/print_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_auts.obj -MD -MP -MF src/$(DEPDIR)/pq-print_auts.Tpo -c -o src/pq-print_auts.obj `if test -f 'src/print_auts.c'; then $(CYGPATH_W) 'src/print_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/print_auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_auts.Tpo src/$(DEPDIR)/pq-print_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_auts.c' object='src/pq-print_auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_auts.obj `if test -f 'src/print_auts.c'; then $(CYGPATH_W) 'src/print_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/print_auts.c'; fi`
src/pq-print_level.o: src/print_level.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_level.o -MD -MP -MF src/$(DEPDIR)/pq-print_level.Tpo -c -o src/pq-print_level.o `test -f 'src/print_level.c' || echo '$(srcdir)/'`src/print_level.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_level.Tpo src/$(DEPDIR)/pq-print_level.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_level.c' object='src/pq-print_level.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_level.o `test -f 'src/print_level.c' || echo '$(srcdir)/'`src/print_level.c
src/pq-print_level.obj: src/print_level.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_level.obj -MD -MP -MF src/$(DEPDIR)/pq-print_level.Tpo -c -o src/pq-print_level.obj `if test -f 'src/print_level.c'; then $(CYGPATH_W) 'src/print_level.c'; else $(CYGPATH_W) '$(srcdir)/src/print_level.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_level.Tpo src/$(DEPDIR)/pq-print_level.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_level.c' object='src/pq-print_level.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_level.obj `if test -f 'src/print_level.c'; then $(CYGPATH_W) 'src/print_level.c'; else $(CYGPATH_W) '$(srcdir)/src/print_level.c'; fi`
src/pq-print_multiweight.o: src/print_multiweight.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_multiweight.o -MD -MP -MF src/$(DEPDIR)/pq-print_multiweight.Tpo -c -o src/pq-print_multiweight.o `test -f 'src/print_multiweight.c' || echo '$(srcdir)/'`src/print_multiweight.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_multiweight.Tpo src/$(DEPDIR)/pq-print_multiweight.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_multiweight.c' object='src/pq-print_multiweight.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_multiweight.o `test -f 'src/print_multiweight.c' || echo '$(srcdir)/'`src/print_multiweight.c
src/pq-print_multiweight.obj: src/print_multiweight.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_multiweight.obj -MD -MP -MF src/$(DEPDIR)/pq-print_multiweight.Tpo -c -o src/pq-print_multiweight.obj `if test -f 'src/print_multiweight.c'; then $(CYGPATH_W) 'src/print_multiweight.c'; else $(CYGPATH_W) '$(srcdir)/src/print_multiweight.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_multiweight.Tpo src/$(DEPDIR)/pq-print_multiweight.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_multiweight.c' object='src/pq-print_multiweight.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_multiweight.obj `if test -f 'src/print_multiweight.c'; then $(CYGPATH_W) 'src/print_multiweight.c'; else $(CYGPATH_W) '$(srcdir)/src/print_multiweight.c'; fi`
src/pq-print_presentation.o: src/print_presentation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_presentation.o -MD -MP -MF src/$(DEPDIR)/pq-print_presentation.Tpo -c -o src/pq-print_presentation.o `test -f 'src/print_presentation.c' || echo '$(srcdir)/'`src/print_presentation.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_presentation.Tpo src/$(DEPDIR)/pq-print_presentation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_presentation.c' object='src/pq-print_presentation.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_presentation.o `test -f 'src/print_presentation.c' || echo '$(srcdir)/'`src/print_presentation.c
src/pq-print_presentation.obj: src/print_presentation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_presentation.obj -MD -MP -MF src/$(DEPDIR)/pq-print_presentation.Tpo -c -o src/pq-print_presentation.obj `if test -f 'src/print_presentation.c'; then $(CYGPATH_W) 'src/print_presentation.c'; else $(CYGPATH_W) '$(srcdir)/src/print_presentation.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_presentation.Tpo src/$(DEPDIR)/pq-print_presentation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_presentation.c' object='src/pq-print_presentation.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_presentation.obj `if test -f 'src/print_presentation.c'; then $(CYGPATH_W) 'src/print_presentation.c'; else $(CYGPATH_W) '$(srcdir)/src/print_presentation.c'; fi`
src/pq-print_structure.o: src/print_structure.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_structure.o -MD -MP -MF src/$(DEPDIR)/pq-print_structure.Tpo -c -o src/pq-print_structure.o `test -f 'src/print_structure.c' || echo '$(srcdir)/'`src/print_structure.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_structure.Tpo src/$(DEPDIR)/pq-print_structure.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_structure.c' object='src/pq-print_structure.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_structure.o `test -f 'src/print_structure.c' || echo '$(srcdir)/'`src/print_structure.c
src/pq-print_structure.obj: src/print_structure.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_structure.obj -MD -MP -MF src/$(DEPDIR)/pq-print_structure.Tpo -c -o src/pq-print_structure.obj `if test -f 'src/print_structure.c'; then $(CYGPATH_W) 'src/print_structure.c'; else $(CYGPATH_W) '$(srcdir)/src/print_structure.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_structure.Tpo src/$(DEPDIR)/pq-print_structure.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_structure.c' object='src/pq-print_structure.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_structure.obj `if test -f 'src/print_structure.c'; then $(CYGPATH_W) 'src/print_structure.c'; else $(CYGPATH_W) '$(srcdir)/src/print_structure.c'; fi`
src/pq-print_word.o: src/print_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_word.o -MD -MP -MF src/$(DEPDIR)/pq-print_word.Tpo -c -o src/pq-print_word.o `test -f 'src/print_word.c' || echo '$(srcdir)/'`src/print_word.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_word.Tpo src/$(DEPDIR)/pq-print_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_word.c' object='src/pq-print_word.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_word.o `test -f 'src/print_word.c' || echo '$(srcdir)/'`src/print_word.c
src/pq-print_word.obj: src/print_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-print_word.obj -MD -MP -MF src/$(DEPDIR)/pq-print_word.Tpo -c -o src/pq-print_word.obj `if test -f 'src/print_word.c'; then $(CYGPATH_W) 'src/print_word.c'; else $(CYGPATH_W) '$(srcdir)/src/print_word.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-print_word.Tpo src/$(DEPDIR)/pq-print_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/print_word.c' object='src/pq-print_word.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-print_word.obj `if test -f 'src/print_word.c'; then $(CYGPATH_W) 'src/print_word.c'; else $(CYGPATH_W) '$(srcdir)/src/print_word.c'; fi`
src/pq-read.o: src/read.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read.o -MD -MP -MF src/$(DEPDIR)/pq-read.Tpo -c -o src/pq-read.o `test -f 'src/read.c' || echo '$(srcdir)/'`src/read.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read.Tpo src/$(DEPDIR)/pq-read.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read.c' object='src/pq-read.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read.o `test -f 'src/read.c' || echo '$(srcdir)/'`src/read.c
src/pq-read.obj: src/read.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read.obj -MD -MP -MF src/$(DEPDIR)/pq-read.Tpo -c -o src/pq-read.obj `if test -f 'src/read.c'; then $(CYGPATH_W) 'src/read.c'; else $(CYGPATH_W) '$(srcdir)/src/read.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read.Tpo src/$(DEPDIR)/pq-read.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read.c' object='src/pq-read.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read.obj `if test -f 'src/read.c'; then $(CYGPATH_W) 'src/read.c'; else $(CYGPATH_W) '$(srcdir)/src/read.c'; fi`
src/pq-read_auts.o: src/read_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_auts.o -MD -MP -MF src/$(DEPDIR)/pq-read_auts.Tpo -c -o src/pq-read_auts.o `test -f 'src/read_auts.c' || echo '$(srcdir)/'`src/read_auts.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_auts.Tpo src/$(DEPDIR)/pq-read_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_auts.c' object='src/pq-read_auts.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_auts.o `test -f 'src/read_auts.c' || echo '$(srcdir)/'`src/read_auts.c
src/pq-read_auts.obj: src/read_auts.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_auts.obj -MD -MP -MF src/$(DEPDIR)/pq-read_auts.Tpo -c -o src/pq-read_auts.obj `if test -f 'src/read_auts.c'; then $(CYGPATH_W) 'src/read_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/read_auts.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_auts.Tpo src/$(DEPDIR)/pq-read_auts.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_auts.c' object='src/pq-read_auts.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_auts.obj `if test -f 'src/read_auts.c'; then $(CYGPATH_W) 'src/read_auts.c'; else $(CYGPATH_W) '$(srcdir)/src/read_auts.c'; fi`
src/pq-read_parameters.o: src/read_parameters.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_parameters.o -MD -MP -MF src/$(DEPDIR)/pq-read_parameters.Tpo -c -o src/pq-read_parameters.o `test -f 'src/read_parameters.c' || echo '$(srcdir)/'`src/read_parameters.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_parameters.Tpo src/$(DEPDIR)/pq-read_parameters.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_parameters.c' object='src/pq-read_parameters.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_parameters.o `test -f 'src/read_parameters.c' || echo '$(srcdir)/'`src/read_parameters.c
src/pq-read_parameters.obj: src/read_parameters.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_parameters.obj -MD -MP -MF src/$(DEPDIR)/pq-read_parameters.Tpo -c -o src/pq-read_parameters.obj `if test -f 'src/read_parameters.c'; then $(CYGPATH_W) 'src/read_parameters.c'; else $(CYGPATH_W) '$(srcdir)/src/read_parameters.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_parameters.Tpo src/$(DEPDIR)/pq-read_parameters.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_parameters.c' object='src/pq-read_parameters.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_parameters.obj `if test -f 'src/read_parameters.c'; then $(CYGPATH_W) 'src/read_parameters.c'; else $(CYGPATH_W) '$(srcdir)/src/read_parameters.c'; fi`
src/pq-read_relations.o: src/read_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_relations.o -MD -MP -MF src/$(DEPDIR)/pq-read_relations.Tpo -c -o src/pq-read_relations.o `test -f 'src/read_relations.c' || echo '$(srcdir)/'`src/read_relations.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_relations.Tpo src/$(DEPDIR)/pq-read_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_relations.c' object='src/pq-read_relations.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_relations.o `test -f 'src/read_relations.c' || echo '$(srcdir)/'`src/read_relations.c
src/pq-read_relations.obj: src/read_relations.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_relations.obj -MD -MP -MF src/$(DEPDIR)/pq-read_relations.Tpo -c -o src/pq-read_relations.obj `if test -f 'src/read_relations.c'; then $(CYGPATH_W) 'src/read_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/read_relations.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_relations.Tpo src/$(DEPDIR)/pq-read_relations.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_relations.c' object='src/pq-read_relations.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_relations.obj `if test -f 'src/read_relations.c'; then $(CYGPATH_W) 'src/read_relations.c'; else $(CYGPATH_W) '$(srcdir)/src/read_relations.c'; fi`
src/pq-read_relator_file.o: src/read_relator_file.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_relator_file.o -MD -MP -MF src/$(DEPDIR)/pq-read_relator_file.Tpo -c -o src/pq-read_relator_file.o `test -f 'src/read_relator_file.c' || echo '$(srcdir)/'`src/read_relator_file.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_relator_file.Tpo src/$(DEPDIR)/pq-read_relator_file.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_relator_file.c' object='src/pq-read_relator_file.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_relator_file.o `test -f 'src/read_relator_file.c' || echo '$(srcdir)/'`src/read_relator_file.c
src/pq-read_relator_file.obj: src/read_relator_file.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_relator_file.obj -MD -MP -MF src/$(DEPDIR)/pq-read_relator_file.Tpo -c -o src/pq-read_relator_file.obj `if test -f 'src/read_relator_file.c'; then $(CYGPATH_W) 'src/read_relator_file.c'; else $(CYGPATH_W) '$(srcdir)/src/read_relator_file.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_relator_file.Tpo src/$(DEPDIR)/pq-read_relator_file.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_relator_file.c' object='src/pq-read_relator_file.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_relator_file.obj `if test -f 'src/read_relator_file.c'; then $(CYGPATH_W) 'src/read_relator_file.c'; else $(CYGPATH_W) '$(srcdir)/src/read_relator_file.c'; fi`
src/pq-read_value.o: src/read_value.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_value.o -MD -MP -MF src/$(DEPDIR)/pq-read_value.Tpo -c -o src/pq-read_value.o `test -f 'src/read_value.c' || echo '$(srcdir)/'`src/read_value.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_value.Tpo src/$(DEPDIR)/pq-read_value.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_value.c' object='src/pq-read_value.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_value.o `test -f 'src/read_value.c' || echo '$(srcdir)/'`src/read_value.c
src/pq-read_value.obj: src/read_value.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_value.obj -MD -MP -MF src/$(DEPDIR)/pq-read_value.Tpo -c -o src/pq-read_value.obj `if test -f 'src/read_value.c'; then $(CYGPATH_W) 'src/read_value.c'; else $(CYGPATH_W) '$(srcdir)/src/read_value.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_value.Tpo src/$(DEPDIR)/pq-read_value.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_value.c' object='src/pq-read_value.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_value.obj `if test -f 'src/read_value.c'; then $(CYGPATH_W) 'src/read_value.c'; else $(CYGPATH_W) '$(srcdir)/src/read_value.c'; fi`
src/pq-read_word.o: src/read_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_word.o -MD -MP -MF src/$(DEPDIR)/pq-read_word.Tpo -c -o src/pq-read_word.o `test -f 'src/read_word.c' || echo '$(srcdir)/'`src/read_word.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_word.Tpo src/$(DEPDIR)/pq-read_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_word.c' object='src/pq-read_word.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_word.o `test -f 'src/read_word.c' || echo '$(srcdir)/'`src/read_word.c
src/pq-read_word.obj: src/read_word.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-read_word.obj -MD -MP -MF src/$(DEPDIR)/pq-read_word.Tpo -c -o src/pq-read_word.obj `if test -f 'src/read_word.c'; then $(CYGPATH_W) 'src/read_word.c'; else $(CYGPATH_W) '$(srcdir)/src/read_word.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-read_word.Tpo src/$(DEPDIR)/pq-read_word.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/read_word.c' object='src/pq-read_word.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-read_word.obj `if test -f 'src/read_word.c'; then $(CYGPATH_W) 'src/read_word.c'; else $(CYGPATH_W) '$(srcdir)/src/read_word.c'; fi`
src/pq-reduce_matrix.o: src/reduce_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-reduce_matrix.o -MD -MP -MF src/$(DEPDIR)/pq-reduce_matrix.Tpo -c -o src/pq-reduce_matrix.o `test -f 'src/reduce_matrix.c' || echo '$(srcdir)/'`src/reduce_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-reduce_matrix.Tpo src/$(DEPDIR)/pq-reduce_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/reduce_matrix.c' object='src/pq-reduce_matrix.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-reduce_matrix.o `test -f 'src/reduce_matrix.c' || echo '$(srcdir)/'`src/reduce_matrix.c
src/pq-reduce_matrix.obj: src/reduce_matrix.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-reduce_matrix.obj -MD -MP -MF src/$(DEPDIR)/pq-reduce_matrix.Tpo -c -o src/pq-reduce_matrix.obj `if test -f 'src/reduce_matrix.c'; then $(CYGPATH_W) 'src/reduce_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/reduce_matrix.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-reduce_matrix.Tpo src/$(DEPDIR)/pq-reduce_matrix.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/reduce_matrix.c' object='src/pq-reduce_matrix.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-reduce_matrix.obj `if test -f 'src/reduce_matrix.c'; then $(CYGPATH_W) 'src/reduce_matrix.c'; else $(CYGPATH_W) '$(srcdir)/src/reduce_matrix.c'; fi`
src/pq-reduced_covers.o: src/reduced_covers.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-reduced_covers.o -MD -MP -MF src/$(DEPDIR)/pq-reduced_covers.Tpo -c -o src/pq-reduced_covers.o `test -f 'src/reduced_covers.c' || echo '$(srcdir)/'`src/reduced_covers.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-reduced_covers.Tpo src/$(DEPDIR)/pq-reduced_covers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/reduced_covers.c' object='src/pq-reduced_covers.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-reduced_covers.o `test -f 'src/reduced_covers.c' || echo '$(srcdir)/'`src/reduced_covers.c
src/pq-reduced_covers.obj: src/reduced_covers.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-reduced_covers.obj -MD -MP -MF src/$(DEPDIR)/pq-reduced_covers.Tpo -c -o src/pq-reduced_covers.obj `if test -f 'src/reduced_covers.c'; then $(CYGPATH_W) 'src/reduced_covers.c'; else $(CYGPATH_W) '$(srcdir)/src/reduced_covers.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-reduced_covers.Tpo src/$(DEPDIR)/pq-reduced_covers.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/reduced_covers.c' object='src/pq-reduced_covers.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-reduced_covers.obj `if test -f 'src/reduced_covers.c'; then $(CYGPATH_W) 'src/reduced_covers.c'; else $(CYGPATH_W) '$(srcdir)/src/reduced_covers.c'; fi`
src/pq-report_error.o: src/report_error.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-report_error.o -MD -MP -MF src/$(DEPDIR)/pq-report_error.Tpo -c -o src/pq-report_error.o `test -f 'src/report_error.c' || echo '$(srcdir)/'`src/report_error.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-report_error.Tpo src/$(DEPDIR)/pq-report_error.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/report_error.c' object='src/pq-report_error.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-report_error.o `test -f 'src/report_error.c' || echo '$(srcdir)/'`src/report_error.c
src/pq-report_error.obj: src/report_error.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-report_error.obj -MD -MP -MF src/$(DEPDIR)/pq-report_error.Tpo -c -o src/pq-report_error.obj `if test -f 'src/report_error.c'; then $(CYGPATH_W) 'src/report_error.c'; else $(CYGPATH_W) '$(srcdir)/src/report_error.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-report_error.Tpo src/$(DEPDIR)/pq-report_error.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/report_error.c' object='src/pq-report_error.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-report_error.obj `if test -f 'src/report_error.c'; then $(CYGPATH_W) 'src/report_error.c'; else $(CYGPATH_W) '$(srcdir)/src/report_error.c'; fi`
src/pq-restore_group.o: src/restore_group.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-restore_group.o -MD -MP -MF src/$(DEPDIR)/pq-restore_group.Tpo -c -o src/pq-restore_group.o `test -f 'src/restore_group.c' || echo '$(srcdir)/'`src/restore_group.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-restore_group.Tpo src/$(DEPDIR)/pq-restore_group.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/restore_group.c' object='src/pq-restore_group.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-restore_group.o `test -f 'src/restore_group.c' || echo '$(srcdir)/'`src/restore_group.c
src/pq-restore_group.obj: src/restore_group.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-restore_group.obj -MD -MP -MF src/$(DEPDIR)/pq-restore_group.Tpo -c -o src/pq-restore_group.obj `if test -f 'src/restore_group.c'; then $(CYGPATH_W) 'src/restore_group.c'; else $(CYGPATH_W) '$(srcdir)/src/restore_group.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-restore_group.Tpo src/$(DEPDIR)/pq-restore_group.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/restore_group.c' object='src/pq-restore_group.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-restore_group.obj `if test -f 'src/restore_group.c'; then $(CYGPATH_W) 'src/restore_group.c'; else $(CYGPATH_W) '$(srcdir)/src/restore_group.c'; fi`
src/pq-setup.o: src/setup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-setup.o -MD -MP -MF src/$(DEPDIR)/pq-setup.Tpo -c -o src/pq-setup.o `test -f 'src/setup.c' || echo '$(srcdir)/'`src/setup.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-setup.Tpo src/$(DEPDIR)/pq-setup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/setup.c' object='src/pq-setup.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-setup.o `test -f 'src/setup.c' || echo '$(srcdir)/'`src/setup.c
src/pq-setup.obj: src/setup.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-setup.obj -MD -MP -MF src/$(DEPDIR)/pq-setup.Tpo -c -o src/pq-setup.obj `if test -f 'src/setup.c'; then $(CYGPATH_W) 'src/setup.c'; else $(CYGPATH_W) '$(srcdir)/src/setup.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-setup.Tpo src/$(DEPDIR)/pq-setup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/setup.c' object='src/pq-setup.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-setup.obj `if test -f 'src/setup.c'; then $(CYGPATH_W) 'src/setup.c'; else $(CYGPATH_W) '$(srcdir)/src/setup.c'; fi`
src/pq-setup_reps.o: src/setup_reps.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-setup_reps.o -MD -MP -MF src/$(DEPDIR)/pq-setup_reps.Tpo -c -o src/pq-setup_reps.o `test -f 'src/setup_reps.c' || echo '$(srcdir)/'`src/setup_reps.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-setup_reps.Tpo src/$(DEPDIR)/pq-setup_reps.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/setup_reps.c' object='src/pq-setup_reps.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-setup_reps.o `test -f 'src/setup_reps.c' || echo '$(srcdir)/'`src/setup_reps.c
src/pq-setup_reps.obj: src/setup_reps.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-setup_reps.obj -MD -MP -MF src/$(DEPDIR)/pq-setup_reps.Tpo -c -o src/pq-setup_reps.obj `if test -f 'src/setup_reps.c'; then $(CYGPATH_W) 'src/setup_reps.c'; else $(CYGPATH_W) '$(srcdir)/src/setup_reps.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-setup_reps.Tpo src/$(DEPDIR)/pq-setup_reps.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/setup_reps.c' object='src/pq-setup_reps.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-setup_reps.obj `if test -f 'src/setup_reps.c'; then $(CYGPATH_W) 'src/setup_reps.c'; else $(CYGPATH_W) '$(srcdir)/src/setup_reps.c'; fi`
src/pq-soluble_orbits.o: src/soluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-soluble_orbits.o -MD -MP -MF src/$(DEPDIR)/pq-soluble_orbits.Tpo -c -o src/pq-soluble_orbits.o `test -f 'src/soluble_orbits.c' || echo '$(srcdir)/'`src/soluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-soluble_orbits.Tpo src/$(DEPDIR)/pq-soluble_orbits.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/soluble_orbits.c' object='src/pq-soluble_orbits.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-soluble_orbits.o `test -f 'src/soluble_orbits.c' || echo '$(srcdir)/'`src/soluble_orbits.c
src/pq-soluble_orbits.obj: src/soluble_orbits.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-soluble_orbits.obj -MD -MP -MF src/$(DEPDIR)/pq-soluble_orbits.Tpo -c -o src/pq-soluble_orbits.obj `if test -f 'src/soluble_orbits.c'; then $(CYGPATH_W) 'src/soluble_orbits.c'; else $(CYGPATH_W) '$(srcdir)/src/soluble_orbits.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-soluble_orbits.Tpo src/$(DEPDIR)/pq-soluble_orbits.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/soluble_orbits.c' object='src/pq-soluble_orbits.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-soluble_orbits.obj `if test -f 'src/soluble_orbits.c'; then $(CYGPATH_W) 'src/soluble_orbits.c'; else $(CYGPATH_W) '$(srcdir)/src/soluble_orbits.c'; fi`
src/pq-solve_equation.o: src/solve_equation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-solve_equation.o -MD -MP -MF src/$(DEPDIR)/pq-solve_equation.Tpo -c -o src/pq-solve_equation.o `test -f 'src/solve_equation.c' || echo '$(srcdir)/'`src/solve_equation.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-solve_equation.Tpo src/$(DEPDIR)/pq-solve_equation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/solve_equation.c' object='src/pq-solve_equation.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-solve_equation.o `test -f 'src/solve_equation.c' || echo '$(srcdir)/'`src/solve_equation.c
src/pq-solve_equation.obj: src/solve_equation.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-solve_equation.obj -MD -MP -MF src/$(DEPDIR)/pq-solve_equation.Tpo -c -o src/pq-solve_equation.obj `if test -f 'src/solve_equation.c'; then $(CYGPATH_W) 'src/solve_equation.c'; else $(CYGPATH_W) '$(srcdir)/src/solve_equation.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-solve_equation.Tpo src/$(DEPDIR)/pq-solve_equation.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/solve_equation.c' object='src/pq-solve_equation.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-solve_equation.obj `if test -f 'src/solve_equation.c'; then $(CYGPATH_W) 'src/solve_equation.c'; else $(CYGPATH_W) '$(srcdir)/src/solve_equation.c'; fi`
src/pq-stabiliser.o: src/stabiliser.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-stabiliser.o -MD -MP -MF src/$(DEPDIR)/pq-stabiliser.Tpo -c -o src/pq-stabiliser.o `test -f 'src/stabiliser.c' || echo '$(srcdir)/'`src/stabiliser.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-stabiliser.Tpo src/$(DEPDIR)/pq-stabiliser.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/stabiliser.c' object='src/pq-stabiliser.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-stabiliser.o `test -f 'src/stabiliser.c' || echo '$(srcdir)/'`src/stabiliser.c
src/pq-stabiliser.obj: src/stabiliser.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-stabiliser.obj -MD -MP -MF src/$(DEPDIR)/pq-stabiliser.Tpo -c -o src/pq-stabiliser.obj `if test -f 'src/stabiliser.c'; then $(CYGPATH_W) 'src/stabiliser.c'; else $(CYGPATH_W) '$(srcdir)/src/stabiliser.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-stabiliser.Tpo src/$(DEPDIR)/pq-stabiliser.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/stabiliser.c' object='src/pq-stabiliser.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-stabiliser.obj `if test -f 'src/stabiliser.c'; then $(CYGPATH_W) 'src/stabiliser.c'; else $(CYGPATH_W) '$(srcdir)/src/stabiliser.c'; fi`
src/pq-stages.o: src/stages.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-stages.o -MD -MP -MF src/$(DEPDIR)/pq-stages.Tpo -c -o src/pq-stages.o `test -f 'src/stages.c' || echo '$(srcdir)/'`src/stages.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-stages.Tpo src/$(DEPDIR)/pq-stages.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/stages.c' object='src/pq-stages.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-stages.o `test -f 'src/stages.c' || echo '$(srcdir)/'`src/stages.c
src/pq-stages.obj: src/stages.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-stages.obj -MD -MP -MF src/$(DEPDIR)/pq-stages.Tpo -c -o src/pq-stages.obj `if test -f 'src/stages.c'; then $(CYGPATH_W) 'src/stages.c'; else $(CYGPATH_W) '$(srcdir)/src/stages.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-stages.Tpo src/$(DEPDIR)/pq-stages.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/stages.c' object='src/pq-stages.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-stages.obj `if test -f 'src/stages.c'; then $(CYGPATH_W) 'src/stages.c'; else $(CYGPATH_W) '$(srcdir)/src/stages.c'; fi`
src/pq-standard.o: src/standard.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-standard.o -MD -MP -MF src/$(DEPDIR)/pq-standard.Tpo -c -o src/pq-standard.o `test -f 'src/standard.c' || echo '$(srcdir)/'`src/standard.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-standard.Tpo src/$(DEPDIR)/pq-standard.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/standard.c' object='src/pq-standard.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-standard.o `test -f 'src/standard.c' || echo '$(srcdir)/'`src/standard.c
src/pq-standard.obj: src/standard.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-standard.obj -MD -MP -MF src/$(DEPDIR)/pq-standard.Tpo -c -o src/pq-standard.obj `if test -f 'src/standard.c'; then $(CYGPATH_W) 'src/standard.c'; else $(CYGPATH_W) '$(srcdir)/src/standard.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-standard.Tpo src/$(DEPDIR)/pq-standard.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/standard.c' object='src/pq-standard.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-standard.obj `if test -f 'src/standard.c'; then $(CYGPATH_W) 'src/standard.c'; else $(CYGPATH_W) '$(srcdir)/src/standard.c'; fi`
src/pq-start_group.o: src/start_group.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-start_group.o -MD -MP -MF src/$(DEPDIR)/pq-start_group.Tpo -c -o src/pq-start_group.o `test -f 'src/start_group.c' || echo '$(srcdir)/'`src/start_group.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-start_group.Tpo src/$(DEPDIR)/pq-start_group.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/start_group.c' object='src/pq-start_group.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-start_group.o `test -f 'src/start_group.c' || echo '$(srcdir)/'`src/start_group.c
src/pq-start_group.obj: src/start_group.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-start_group.obj -MD -MP -MF src/$(DEPDIR)/pq-start_group.Tpo -c -o src/pq-start_group.obj `if test -f 'src/start_group.c'; then $(CYGPATH_W) 'src/start_group.c'; else $(CYGPATH_W) '$(srcdir)/src/start_group.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-start_group.Tpo src/$(DEPDIR)/pq-start_group.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/start_group.c' object='src/pq-start_group.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-start_group.obj `if test -f 'src/start_group.c'; then $(CYGPATH_W) 'src/start_group.c'; else $(CYGPATH_W) '$(srcdir)/src/start_group.c'; fi`
src/pq-start_iteration.o: src/start_iteration.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-start_iteration.o -MD -MP -MF src/$(DEPDIR)/pq-start_iteration.Tpo -c -o src/pq-start_iteration.o `test -f 'src/start_iteration.c' || echo '$(srcdir)/'`src/start_iteration.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-start_iteration.Tpo src/$(DEPDIR)/pq-start_iteration.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/start_iteration.c' object='src/pq-start_iteration.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-start_iteration.o `test -f 'src/start_iteration.c' || echo '$(srcdir)/'`src/start_iteration.c
src/pq-start_iteration.obj: src/start_iteration.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-start_iteration.obj -MD -MP -MF src/$(DEPDIR)/pq-start_iteration.Tpo -c -o src/pq-start_iteration.obj `if test -f 'src/start_iteration.c'; then $(CYGPATH_W) 'src/start_iteration.c'; else $(CYGPATH_W) '$(srcdir)/src/start_iteration.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-start_iteration.Tpo src/$(DEPDIR)/pq-start_iteration.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/start_iteration.c' object='src/pq-start_iteration.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-start_iteration.obj `if test -f 'src/start_iteration.c'; then $(CYGPATH_W) 'src/start_iteration.c'; else $(CYGPATH_W) '$(srcdir)/src/start_iteration.c'; fi`
src/pq-step_range.o: src/step_range.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-step_range.o -MD -MP -MF src/$(DEPDIR)/pq-step_range.Tpo -c -o src/pq-step_range.o `test -f 'src/step_range.c' || echo '$(srcdir)/'`src/step_range.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-step_range.Tpo src/$(DEPDIR)/pq-step_range.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/step_range.c' object='src/pq-step_range.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-step_range.o `test -f 'src/step_range.c' || echo '$(srcdir)/'`src/step_range.c
src/pq-step_range.obj: src/step_range.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-step_range.obj -MD -MP -MF src/$(DEPDIR)/pq-step_range.Tpo -c -o src/pq-step_range.obj `if test -f 'src/step_range.c'; then $(CYGPATH_W) 'src/step_range.c'; else $(CYGPATH_W) '$(srcdir)/src/step_range.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-step_range.Tpo src/$(DEPDIR)/pq-step_range.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/step_range.c' object='src/pq-step_range.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-step_range.obj `if test -f 'src/step_range.c'; then $(CYGPATH_W) 'src/step_range.c'; else $(CYGPATH_W) '$(srcdir)/src/step_range.c'; fi`
src/pq-store_definition_sets.o: src/store_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-store_definition_sets.o -MD -MP -MF src/$(DEPDIR)/pq-store_definition_sets.Tpo -c -o src/pq-store_definition_sets.o `test -f 'src/store_definition_sets.c' || echo '$(srcdir)/'`src/store_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-store_definition_sets.Tpo src/$(DEPDIR)/pq-store_definition_sets.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/store_definition_sets.c' object='src/pq-store_definition_sets.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-store_definition_sets.o `test -f 'src/store_definition_sets.c' || echo '$(srcdir)/'`src/store_definition_sets.c
src/pq-store_definition_sets.obj: src/store_definition_sets.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-store_definition_sets.obj -MD -MP -MF src/$(DEPDIR)/pq-store_definition_sets.Tpo -c -o src/pq-store_definition_sets.obj `if test -f 'src/store_definition_sets.c'; then $(CYGPATH_W) 'src/store_definition_sets.c'; else $(CYGPATH_W) '$(srcdir)/src/store_definition_sets.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-store_definition_sets.Tpo src/$(DEPDIR)/pq-store_definition_sets.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/store_definition_sets.c' object='src/pq-store_definition_sets.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-store_definition_sets.obj `if test -f 'src/store_definition_sets.c'; then $(CYGPATH_W) 'src/store_definition_sets.c'; else $(CYGPATH_W) '$(srcdir)/src/store_definition_sets.c'; fi`
src/pq-strip_identities.o: src/strip_identities.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-strip_identities.o -MD -MP -MF src/$(DEPDIR)/pq-strip_identities.Tpo -c -o src/pq-strip_identities.o `test -f 'src/strip_identities.c' || echo '$(srcdir)/'`src/strip_identities.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-strip_identities.Tpo src/$(DEPDIR)/pq-strip_identities.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/strip_identities.c' object='src/pq-strip_identities.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-strip_identities.o `test -f 'src/strip_identities.c' || echo '$(srcdir)/'`src/strip_identities.c
src/pq-strip_identities.obj: src/strip_identities.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-strip_identities.obj -MD -MP -MF src/$(DEPDIR)/pq-strip_identities.Tpo -c -o src/pq-strip_identities.obj `if test -f 'src/strip_identities.c'; then $(CYGPATH_W) 'src/strip_identities.c'; else $(CYGPATH_W) '$(srcdir)/src/strip_identities.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-strip_identities.Tpo src/$(DEPDIR)/pq-strip_identities.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/strip_identities.c' object='src/pq-strip_identities.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-strip_identities.obj `if test -f 'src/strip_identities.c'; then $(CYGPATH_W) 'src/strip_identities.c'; else $(CYGPATH_W) '$(srcdir)/src/strip_identities.c'; fi`
src/pq-subgroup_to_label.o: src/subgroup_to_label.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-subgroup_to_label.o -MD -MP -MF src/$(DEPDIR)/pq-subgroup_to_label.Tpo -c -o src/pq-subgroup_to_label.o `test -f 'src/subgroup_to_label.c' || echo '$(srcdir)/'`src/subgroup_to_label.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-subgroup_to_label.Tpo src/$(DEPDIR)/pq-subgroup_to_label.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/subgroup_to_label.c' object='src/pq-subgroup_to_label.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-subgroup_to_label.o `test -f 'src/subgroup_to_label.c' || echo '$(srcdir)/'`src/subgroup_to_label.c
src/pq-subgroup_to_label.obj: src/subgroup_to_label.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-subgroup_to_label.obj -MD -MP -MF src/$(DEPDIR)/pq-subgroup_to_label.Tpo -c -o src/pq-subgroup_to_label.obj `if test -f 'src/subgroup_to_label.c'; then $(CYGPATH_W) 'src/subgroup_to_label.c'; else $(CYGPATH_W) '$(srcdir)/src/subgroup_to_label.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-subgroup_to_label.Tpo src/$(DEPDIR)/pq-subgroup_to_label.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/subgroup_to_label.c' object='src/pq-subgroup_to_label.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-subgroup_to_label.obj `if test -f 'src/subgroup_to_label.c'; then $(CYGPATH_W) 'src/subgroup_to_label.c'; else $(CYGPATH_W) '$(srcdir)/src/subgroup_to_label.c'; fi`
src/pq-system.o: src/system.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-system.o -MD -MP -MF src/$(DEPDIR)/pq-system.Tpo -c -o src/pq-system.o `test -f 'src/system.c' || echo '$(srcdir)/'`src/system.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-system.Tpo src/$(DEPDIR)/pq-system.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/system.c' object='src/pq-system.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-system.o `test -f 'src/system.c' || echo '$(srcdir)/'`src/system.c
src/pq-system.obj: src/system.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-system.obj -MD -MP -MF src/$(DEPDIR)/pq-system.Tpo -c -o src/pq-system.obj `if test -f 'src/system.c'; then $(CYGPATH_W) 'src/system.c'; else $(CYGPATH_W) '$(srcdir)/src/system.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-system.Tpo src/$(DEPDIR)/pq-system.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/system.c' object='src/pq-system.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-system.obj `if test -f 'src/system.c'; then $(CYGPATH_W) 'src/system.c'; else $(CYGPATH_W) '$(srcdir)/src/system.c'; fi`
src/pq-tail_info.o: src/tail_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tail_info.o -MD -MP -MF src/$(DEPDIR)/pq-tail_info.Tpo -c -o src/pq-tail_info.o `test -f 'src/tail_info.c' || echo '$(srcdir)/'`src/tail_info.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tail_info.Tpo src/$(DEPDIR)/pq-tail_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tail_info.c' object='src/pq-tail_info.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tail_info.o `test -f 'src/tail_info.c' || echo '$(srcdir)/'`src/tail_info.c
src/pq-tail_info.obj: src/tail_info.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tail_info.obj -MD -MP -MF src/$(DEPDIR)/pq-tail_info.Tpo -c -o src/pq-tail_info.obj `if test -f 'src/tail_info.c'; then $(CYGPATH_W) 'src/tail_info.c'; else $(CYGPATH_W) '$(srcdir)/src/tail_info.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tail_info.Tpo src/$(DEPDIR)/pq-tail_info.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tail_info.c' object='src/pq-tail_info.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tail_info.obj `if test -f 'src/tail_info.c'; then $(CYGPATH_W) 'src/tail_info.c'; else $(CYGPATH_W) '$(srcdir)/src/tail_info.c'; fi`
src/pq-tails.o: src/tails.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tails.o -MD -MP -MF src/$(DEPDIR)/pq-tails.Tpo -c -o src/pq-tails.o `test -f 'src/tails.c' || echo '$(srcdir)/'`src/tails.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tails.Tpo src/$(DEPDIR)/pq-tails.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tails.c' object='src/pq-tails.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tails.o `test -f 'src/tails.c' || echo '$(srcdir)/'`src/tails.c
src/pq-tails.obj: src/tails.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tails.obj -MD -MP -MF src/$(DEPDIR)/pq-tails.Tpo -c -o src/pq-tails.obj `if test -f 'src/tails.c'; then $(CYGPATH_W) 'src/tails.c'; else $(CYGPATH_W) '$(srcdir)/src/tails.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tails.Tpo src/$(DEPDIR)/pq-tails.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tails.c' object='src/pq-tails.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tails.obj `if test -f 'src/tails.c'; then $(CYGPATH_W) 'src/tails.c'; else $(CYGPATH_W) '$(srcdir)/src/tails.c'; fi`
src/pq-tails_filter.o: src/tails_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tails_filter.o -MD -MP -MF src/$(DEPDIR)/pq-tails_filter.Tpo -c -o src/pq-tails_filter.o `test -f 'src/tails_filter.c' || echo '$(srcdir)/'`src/tails_filter.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tails_filter.Tpo src/$(DEPDIR)/pq-tails_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tails_filter.c' object='src/pq-tails_filter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tails_filter.o `test -f 'src/tails_filter.c' || echo '$(srcdir)/'`src/tails_filter.c
src/pq-tails_filter.obj: src/tails_filter.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-tails_filter.obj -MD -MP -MF src/$(DEPDIR)/pq-tails_filter.Tpo -c -o src/pq-tails_filter.obj `if test -f 'src/tails_filter.c'; then $(CYGPATH_W) 'src/tails_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/tails_filter.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-tails_filter.Tpo src/$(DEPDIR)/pq-tails_filter.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/tails_filter.c' object='src/pq-tails_filter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-tails_filter.obj `if test -f 'src/tails_filter.c'; then $(CYGPATH_W) 'src/tails_filter.c'; else $(CYGPATH_W) '$(srcdir)/src/tails_filter.c'; fi`
src/pq-text.o: src/text.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-text.o -MD -MP -MF src/$(DEPDIR)/pq-text.Tpo -c -o src/pq-text.o `test -f 'src/text.c' || echo '$(srcdir)/'`src/text.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-text.Tpo src/$(DEPDIR)/pq-text.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/text.c' object='src/pq-text.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-text.o `test -f 'src/text.c' || echo '$(srcdir)/'`src/text.c
src/pq-text.obj: src/text.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-text.obj -MD -MP -MF src/$(DEPDIR)/pq-text.Tpo -c -o src/pq-text.obj `if test -f 'src/text.c'; then $(CYGPATH_W) 'src/text.c'; else $(CYGPATH_W) '$(srcdir)/src/text.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-text.Tpo src/$(DEPDIR)/pq-text.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/text.c' object='src/pq-text.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-text.obj `if test -f 'src/text.c'; then $(CYGPATH_W) 'src/text.c'; else $(CYGPATH_W) '$(srcdir)/src/text.c'; fi`
src/pq-update.o: src/update.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update.o -MD -MP -MF src/$(DEPDIR)/pq-update.Tpo -c -o src/pq-update.o `test -f 'src/update.c' || echo '$(srcdir)/'`src/update.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update.Tpo src/$(DEPDIR)/pq-update.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update.c' object='src/pq-update.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update.o `test -f 'src/update.c' || echo '$(srcdir)/'`src/update.c
src/pq-update.obj: src/update.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update.obj -MD -MP -MF src/$(DEPDIR)/pq-update.Tpo -c -o src/pq-update.obj `if test -f 'src/update.c'; then $(CYGPATH_W) 'src/update.c'; else $(CYGPATH_W) '$(srcdir)/src/update.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update.Tpo src/$(DEPDIR)/pq-update.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update.c' object='src/pq-update.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update.obj `if test -f 'src/update.c'; then $(CYGPATH_W) 'src/update.c'; else $(CYGPATH_W) '$(srcdir)/src/update.c'; fi`
src/pq-update_generators.o: src/update_generators.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update_generators.o -MD -MP -MF src/$(DEPDIR)/pq-update_generators.Tpo -c -o src/pq-update_generators.o `test -f 'src/update_generators.c' || echo '$(srcdir)/'`src/update_generators.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update_generators.Tpo src/$(DEPDIR)/pq-update_generators.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update_generators.c' object='src/pq-update_generators.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update_generators.o `test -f 'src/update_generators.c' || echo '$(srcdir)/'`src/update_generators.c
src/pq-update_generators.obj: src/update_generators.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update_generators.obj -MD -MP -MF src/$(DEPDIR)/pq-update_generators.Tpo -c -o src/pq-update_generators.obj `if test -f 'src/update_generators.c'; then $(CYGPATH_W) 'src/update_generators.c'; else $(CYGPATH_W) '$(srcdir)/src/update_generators.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update_generators.Tpo src/$(DEPDIR)/pq-update_generators.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update_generators.c' object='src/pq-update_generators.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update_generators.obj `if test -f 'src/update_generators.c'; then $(CYGPATH_W) 'src/update_generators.c'; else $(CYGPATH_W) '$(srcdir)/src/update_generators.c'; fi`
src/pq-update_name.o: src/update_name.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update_name.o -MD -MP -MF src/$(DEPDIR)/pq-update_name.Tpo -c -o src/pq-update_name.o `test -f 'src/update_name.c' || echo '$(srcdir)/'`src/update_name.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update_name.Tpo src/$(DEPDIR)/pq-update_name.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update_name.c' object='src/pq-update_name.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update_name.o `test -f 'src/update_name.c' || echo '$(srcdir)/'`src/update_name.c
src/pq-update_name.obj: src/update_name.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-update_name.obj -MD -MP -MF src/$(DEPDIR)/pq-update_name.Tpo -c -o src/pq-update_name.obj `if test -f 'src/update_name.c'; then $(CYGPATH_W) 'src/update_name.c'; else $(CYGPATH_W) '$(srcdir)/src/update_name.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-update_name.Tpo src/$(DEPDIR)/pq-update_name.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/update_name.c' object='src/pq-update_name.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-update_name.obj `if test -f 'src/update_name.c'; then $(CYGPATH_W) 'src/update_name.c'; else $(CYGPATH_W) '$(srcdir)/src/update_name.c'; fi`
src/pq-write.o: src/write.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-write.o -MD -MP -MF src/$(DEPDIR)/pq-write.Tpo -c -o src/pq-write.o `test -f 'src/write.c' || echo '$(srcdir)/'`src/write.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-write.Tpo src/$(DEPDIR)/pq-write.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/write.c' object='src/pq-write.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-write.o `test -f 'src/write.c' || echo '$(srcdir)/'`src/write.c
src/pq-write.obj: src/write.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-write.obj -MD -MP -MF src/$(DEPDIR)/pq-write.Tpo -c -o src/pq-write.obj `if test -f 'src/write.c'; then $(CYGPATH_W) 'src/write.c'; else $(CYGPATH_W) '$(srcdir)/src/write.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-write.Tpo src/$(DEPDIR)/pq-write.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/write.c' object='src/pq-write.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-write.obj `if test -f 'src/write.c'; then $(CYGPATH_W) 'src/write.c'; else $(CYGPATH_W) '$(srcdir)/src/write.c'; fi`
src/pq-main.o: src/main.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-main.o -MD -MP -MF src/$(DEPDIR)/pq-main.Tpo -c -o src/pq-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-main.Tpo src/$(DEPDIR)/pq-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/pq-main.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c
src/pq-main.obj: src/main.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -MT src/pq-main.obj -MD -MP -MF src/$(DEPDIR)/pq-main.Tpo -c -o src/pq-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/pq-main.Tpo src/$(DEPDIR)/pq-main.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/pq-main.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pq_CPPFLAGS) $(CPPFLAGS) $(pq_CFLAGS) $(CFLAGS) -c -o src/pq-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) all-local
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f src/$(DEPDIR)/$(am__dirstamp)
-rm -f src/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f src/$(DEPDIR)/pq-AllocateSpace.Po
-rm -f src/$(DEPDIR)/pq-CloseFile.Po
-rm -f src/$(DEPDIR)/pq-Extend_Auts.Po
-rm -f src/$(DEPDIR)/pq-FreeSpace.Po
-rm -f src/$(DEPDIR)/pq-GAP.Po
-rm -f src/$(DEPDIR)/pq-GAP_link_via_file.Po
-rm -f src/$(DEPDIR)/pq-GAP_present.Po
-rm -f src/$(DEPDIR)/pq-OpenFile.Po
-rm -f src/$(DEPDIR)/pq-TemporaryFile.Po
-rm -f src/$(DEPDIR)/pq-action.Po
-rm -f src/$(DEPDIR)/pq-assemble_matrix.Po
-rm -f src/$(DEPDIR)/pq-autgp_order.Po
-rm -f src/$(DEPDIR)/pq-calculate_jacobi.Po
-rm -f src/$(DEPDIR)/pq-central_auts.Po
-rm -f src/$(DEPDIR)/pq-check_exponent.Po
-rm -f src/$(DEPDIR)/pq-class1_eliminate.Po
-rm -f src/$(DEPDIR)/pq-close_relations.Po
-rm -f src/$(DEPDIR)/pq-close_subgroup.Po
-rm -f src/$(DEPDIR)/pq-collect.Po
-rm -f src/$(DEPDIR)/pq-collect_comm.Po
-rm -f src/$(DEPDIR)/pq-collect_gen_word.Po
-rm -f src/$(DEPDIR)/pq-collect_relations.Po
-rm -f src/$(DEPDIR)/pq-collect_word.Po
-rm -f src/$(DEPDIR)/pq-collectp2.Po
-rm -f src/$(DEPDIR)/pq-commutator.Po
-rm -f src/$(DEPDIR)/pq-commute_dgen.Po
-rm -f src/$(DEPDIR)/pq-compact.Po
-rm -f src/$(DEPDIR)/pq-compact_description.Po
-rm -f src/$(DEPDIR)/pq-consistency.Po
-rm -f src/$(DEPDIR)/pq-consistency_filter.Po
-rm -f src/$(DEPDIR)/pq-consistency_info.Po
-rm -f src/$(DEPDIR)/pq-construct.Po
-rm -f src/$(DEPDIR)/pq-convert.Po
-rm -f src/$(DEPDIR)/pq-defaults_pga.Po
-rm -f src/$(DEPDIR)/pq-degree.Po
-rm -f src/$(DEPDIR)/pq-delete_tables.Po
-rm -f src/$(DEPDIR)/pq-down_class.Po
-rm -f src/$(DEPDIR)/pq-echelon.Po
-rm -f src/$(DEPDIR)/pq-echelonise_matrix.Po
-rm -f src/$(DEPDIR)/pq-eliminate.Po
-rm -f src/$(DEPDIR)/pq-expand_commutator.Po
-rm -f src/$(DEPDIR)/pq-exponent_auts.Po
-rm -f src/$(DEPDIR)/pq-exponent_info.Po
-rm -f src/$(DEPDIR)/pq-extend_automorphisms.Po
-rm -f src/$(DEPDIR)/pq-extend_matrix.Po
-rm -f src/$(DEPDIR)/pq-extend_representation.Po
-rm -f src/$(DEPDIR)/pq-extra_relations.Po
-rm -f src/$(DEPDIR)/pq-find_allowable_subgroup.Po
-rm -f src/$(DEPDIR)/pq-find_image.Po
-rm -f src/$(DEPDIR)/pq-find_permutation.Po
-rm -f src/$(DEPDIR)/pq-formula.Po
-rm -f src/$(DEPDIR)/pq-generator_definition.Po
-rm -f src/$(DEPDIR)/pq-get_definition_sets.Po
-rm -f src/$(DEPDIR)/pq-identity.Po
-rm -f src/$(DEPDIR)/pq-immediate_descendant.Po
-rm -f src/$(DEPDIR)/pq-initialise_pcp.Po
-rm -f src/$(DEPDIR)/pq-initialise_pga.Po
-rm -f src/$(DEPDIR)/pq-insoluble_orbits.Po
-rm -f src/$(DEPDIR)/pq-int_power.Po
-rm -f src/$(DEPDIR)/pq-interactive_pga.Po
-rm -f src/$(DEPDIR)/pq-interactive_pq.Po
-rm -f src/$(DEPDIR)/pq-invert.Po
-rm -f src/$(DEPDIR)/pq-invert_auts.Po
-rm -f src/$(DEPDIR)/pq-invert_modp.Po
-rm -f src/$(DEPDIR)/pq-is_genlim_exceeded.Po
-rm -f src/$(DEPDIR)/pq-is_space_exhausted.Po
-rm -f src/$(DEPDIR)/pq-isom_options.Po
-rm -f src/$(DEPDIR)/pq-iteration.Po
-rm -f src/$(DEPDIR)/pq-jacobi.Po
-rm -f src/$(DEPDIR)/pq-label_to_subgroup.Po
-rm -f src/$(DEPDIR)/pq-last_class.Po
-rm -f src/$(DEPDIR)/pq-list_commutators.Po
-rm -f src/$(DEPDIR)/pq-main.Po
-rm -f src/$(DEPDIR)/pq-map_relations.Po
-rm -f src/$(DEPDIR)/pq-matrix.Po
-rm -f src/$(DEPDIR)/pq-maxoccur.Po
-rm -f src/$(DEPDIR)/pq-multiply_word.Po
-rm -f src/$(DEPDIR)/pq-next_class.Po
-rm -f src/$(DEPDIR)/pq-options.Po
-rm -f src/$(DEPDIR)/pq-orbit_summary.Po
-rm -f src/$(DEPDIR)/pq-permute_elements.Po
-rm -f src/$(DEPDIR)/pq-permute_subgroups.Po
-rm -f src/$(DEPDIR)/pq-pgroup.Po
-rm -f src/$(DEPDIR)/pq-power.Po
-rm -f src/$(DEPDIR)/pq-pquotient.Po
-rm -f src/$(DEPDIR)/pq-pretty_filter.Po
-rm -f src/$(DEPDIR)/pq-pretty_filterfns.Po
-rm -f src/$(DEPDIR)/pq-print_arrays.Po
-rm -f src/$(DEPDIR)/pq-print_auts.Po
-rm -f src/$(DEPDIR)/pq-print_level.Po
-rm -f src/$(DEPDIR)/pq-print_multiweight.Po
-rm -f src/$(DEPDIR)/pq-print_presentation.Po
-rm -f src/$(DEPDIR)/pq-print_structure.Po
-rm -f src/$(DEPDIR)/pq-print_word.Po
-rm -f src/$(DEPDIR)/pq-read.Po
-rm -f src/$(DEPDIR)/pq-read_auts.Po
-rm -f src/$(DEPDIR)/pq-read_parameters.Po
-rm -f src/$(DEPDIR)/pq-read_relations.Po
-rm -f src/$(DEPDIR)/pq-read_relator_file.Po
-rm -f src/$(DEPDIR)/pq-read_value.Po
-rm -f src/$(DEPDIR)/pq-read_word.Po
-rm -f src/$(DEPDIR)/pq-reduce_matrix.Po
-rm -f src/$(DEPDIR)/pq-reduced_covers.Po
-rm -f src/$(DEPDIR)/pq-report_error.Po
-rm -f src/$(DEPDIR)/pq-restore_group.Po
-rm -f src/$(DEPDIR)/pq-setup.Po
-rm -f src/$(DEPDIR)/pq-setup_reps.Po
-rm -f src/$(DEPDIR)/pq-soluble_orbits.Po
-rm -f src/$(DEPDIR)/pq-solve_equation.Po
-rm -f src/$(DEPDIR)/pq-stabiliser.Po
-rm -f src/$(DEPDIR)/pq-stages.Po
-rm -f src/$(DEPDIR)/pq-standard.Po
-rm -f src/$(DEPDIR)/pq-start_group.Po
-rm -f src/$(DEPDIR)/pq-start_iteration.Po
-rm -f src/$(DEPDIR)/pq-step_range.Po
-rm -f src/$(DEPDIR)/pq-store_definition_sets.Po
-rm -f src/$(DEPDIR)/pq-strip_identities.Po
-rm -f src/$(DEPDIR)/pq-subgroup_to_label.Po
-rm -f src/$(DEPDIR)/pq-system.Po
-rm -f src/$(DEPDIR)/pq-tail_info.Po
-rm -f src/$(DEPDIR)/pq-tails.Po
-rm -f src/$(DEPDIR)/pq-tails_filter.Po
-rm -f src/$(DEPDIR)/pq-text.Po
-rm -f src/$(DEPDIR)/pq-update.Po
-rm -f src/$(DEPDIR)/pq-update_generators.Po
-rm -f src/$(DEPDIR)/pq-update_name.Po
-rm -f src/$(DEPDIR)/pq-write.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-local distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f src/$(DEPDIR)/pq-AllocateSpace.Po
-rm -f src/$(DEPDIR)/pq-CloseFile.Po
-rm -f src/$(DEPDIR)/pq-Extend_Auts.Po
-rm -f src/$(DEPDIR)/pq-FreeSpace.Po
-rm -f src/$(DEPDIR)/pq-GAP.Po
-rm -f src/$(DEPDIR)/pq-GAP_link_via_file.Po
-rm -f src/$(DEPDIR)/pq-GAP_present.Po
-rm -f src/$(DEPDIR)/pq-OpenFile.Po
-rm -f src/$(DEPDIR)/pq-TemporaryFile.Po
-rm -f src/$(DEPDIR)/pq-action.Po
-rm -f src/$(DEPDIR)/pq-assemble_matrix.Po
-rm -f src/$(DEPDIR)/pq-autgp_order.Po
-rm -f src/$(DEPDIR)/pq-calculate_jacobi.Po
-rm -f src/$(DEPDIR)/pq-central_auts.Po
-rm -f src/$(DEPDIR)/pq-check_exponent.Po
-rm -f src/$(DEPDIR)/pq-class1_eliminate.Po
-rm -f src/$(DEPDIR)/pq-close_relations.Po
-rm -f src/$(DEPDIR)/pq-close_subgroup.Po
-rm -f src/$(DEPDIR)/pq-collect.Po
-rm -f src/$(DEPDIR)/pq-collect_comm.Po
-rm -f src/$(DEPDIR)/pq-collect_gen_word.Po
-rm -f src/$(DEPDIR)/pq-collect_relations.Po
-rm -f src/$(DEPDIR)/pq-collect_word.Po
-rm -f src/$(DEPDIR)/pq-collectp2.Po
-rm -f src/$(DEPDIR)/pq-commutator.Po
-rm -f src/$(DEPDIR)/pq-commute_dgen.Po
-rm -f src/$(DEPDIR)/pq-compact.Po
-rm -f src/$(DEPDIR)/pq-compact_description.Po
-rm -f src/$(DEPDIR)/pq-consistency.Po
-rm -f src/$(DEPDIR)/pq-consistency_filter.Po
-rm -f src/$(DEPDIR)/pq-consistency_info.Po
-rm -f src/$(DEPDIR)/pq-construct.Po
-rm -f src/$(DEPDIR)/pq-convert.Po
-rm -f src/$(DEPDIR)/pq-defaults_pga.Po
-rm -f src/$(DEPDIR)/pq-degree.Po
-rm -f src/$(DEPDIR)/pq-delete_tables.Po
-rm -f src/$(DEPDIR)/pq-down_class.Po
-rm -f src/$(DEPDIR)/pq-echelon.Po
-rm -f src/$(DEPDIR)/pq-echelonise_matrix.Po
-rm -f src/$(DEPDIR)/pq-eliminate.Po
-rm -f src/$(DEPDIR)/pq-expand_commutator.Po
-rm -f src/$(DEPDIR)/pq-exponent_auts.Po
-rm -f src/$(DEPDIR)/pq-exponent_info.Po
-rm -f src/$(DEPDIR)/pq-extend_automorphisms.Po
-rm -f src/$(DEPDIR)/pq-extend_matrix.Po
-rm -f src/$(DEPDIR)/pq-extend_representation.Po
-rm -f src/$(DEPDIR)/pq-extra_relations.Po
-rm -f src/$(DEPDIR)/pq-find_allowable_subgroup.Po
-rm -f src/$(DEPDIR)/pq-find_image.Po
-rm -f src/$(DEPDIR)/pq-find_permutation.Po
-rm -f src/$(DEPDIR)/pq-formula.Po
-rm -f src/$(DEPDIR)/pq-generator_definition.Po
-rm -f src/$(DEPDIR)/pq-get_definition_sets.Po
-rm -f src/$(DEPDIR)/pq-identity.Po
-rm -f src/$(DEPDIR)/pq-immediate_descendant.Po
-rm -f src/$(DEPDIR)/pq-initialise_pcp.Po
-rm -f src/$(DEPDIR)/pq-initialise_pga.Po
-rm -f src/$(DEPDIR)/pq-insoluble_orbits.Po
-rm -f src/$(DEPDIR)/pq-int_power.Po
-rm -f src/$(DEPDIR)/pq-interactive_pga.Po
-rm -f src/$(DEPDIR)/pq-interactive_pq.Po
-rm -f src/$(DEPDIR)/pq-invert.Po
-rm -f src/$(DEPDIR)/pq-invert_auts.Po
-rm -f src/$(DEPDIR)/pq-invert_modp.Po
-rm -f src/$(DEPDIR)/pq-is_genlim_exceeded.Po
-rm -f src/$(DEPDIR)/pq-is_space_exhausted.Po
-rm -f src/$(DEPDIR)/pq-isom_options.Po
-rm -f src/$(DEPDIR)/pq-iteration.Po
-rm -f src/$(DEPDIR)/pq-jacobi.Po
-rm -f src/$(DEPDIR)/pq-label_to_subgroup.Po
-rm -f src/$(DEPDIR)/pq-last_class.Po
-rm -f src/$(DEPDIR)/pq-list_commutators.Po
-rm -f src/$(DEPDIR)/pq-main.Po
-rm -f src/$(DEPDIR)/pq-map_relations.Po
-rm -f src/$(DEPDIR)/pq-matrix.Po
-rm -f src/$(DEPDIR)/pq-maxoccur.Po
-rm -f src/$(DEPDIR)/pq-multiply_word.Po
-rm -f src/$(DEPDIR)/pq-next_class.Po
-rm -f src/$(DEPDIR)/pq-options.Po
-rm -f src/$(DEPDIR)/pq-orbit_summary.Po
-rm -f src/$(DEPDIR)/pq-permute_elements.Po
-rm -f src/$(DEPDIR)/pq-permute_subgroups.Po
-rm -f src/$(DEPDIR)/pq-pgroup.Po
-rm -f src/$(DEPDIR)/pq-power.Po
-rm -f src/$(DEPDIR)/pq-pquotient.Po
-rm -f src/$(DEPDIR)/pq-pretty_filter.Po
-rm -f src/$(DEPDIR)/pq-pretty_filterfns.Po
-rm -f src/$(DEPDIR)/pq-print_arrays.Po
-rm -f src/$(DEPDIR)/pq-print_auts.Po
-rm -f src/$(DEPDIR)/pq-print_level.Po
-rm -f src/$(DEPDIR)/pq-print_multiweight.Po
-rm -f src/$(DEPDIR)/pq-print_presentation.Po
-rm -f src/$(DEPDIR)/pq-print_structure.Po
-rm -f src/$(DEPDIR)/pq-print_word.Po
-rm -f src/$(DEPDIR)/pq-read.Po
-rm -f src/$(DEPDIR)/pq-read_auts.Po
-rm -f src/$(DEPDIR)/pq-read_parameters.Po
-rm -f src/$(DEPDIR)/pq-read_relations.Po
-rm -f src/$(DEPDIR)/pq-read_relator_file.Po
-rm -f src/$(DEPDIR)/pq-read_value.Po
-rm -f src/$(DEPDIR)/pq-read_word.Po
-rm -f src/$(DEPDIR)/pq-reduce_matrix.Po
-rm -f src/$(DEPDIR)/pq-reduced_covers.Po
-rm -f src/$(DEPDIR)/pq-report_error.Po
-rm -f src/$(DEPDIR)/pq-restore_group.Po
-rm -f src/$(DEPDIR)/pq-setup.Po
-rm -f src/$(DEPDIR)/pq-setup_reps.Po
-rm -f src/$(DEPDIR)/pq-soluble_orbits.Po
-rm -f src/$(DEPDIR)/pq-solve_equation.Po
-rm -f src/$(DEPDIR)/pq-stabiliser.Po
-rm -f src/$(DEPDIR)/pq-stages.Po
-rm -f src/$(DEPDIR)/pq-standard.Po
-rm -f src/$(DEPDIR)/pq-start_group.Po
-rm -f src/$(DEPDIR)/pq-start_iteration.Po
-rm -f src/$(DEPDIR)/pq-step_range.Po
-rm -f src/$(DEPDIR)/pq-store_definition_sets.Po
-rm -f src/$(DEPDIR)/pq-strip_identities.Po
-rm -f src/$(DEPDIR)/pq-subgroup_to_label.Po
-rm -f src/$(DEPDIR)/pq-system.Po
-rm -f src/$(DEPDIR)/pq-tail_info.Po
-rm -f src/$(DEPDIR)/pq-tails.Po
-rm -f src/$(DEPDIR)/pq-tails_filter.Po
-rm -f src/$(DEPDIR)/pq-text.Po
-rm -f src/$(DEPDIR)/pq-update.Po
-rm -f src/$(DEPDIR)/pq-update_generators.Po
-rm -f src/$(DEPDIR)/pq-update_name.Po
-rm -f src/$(DEPDIR)/pq-write.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles am--refresh \
check check-am clean clean-binPROGRAMS clean-cscope \
clean-generic clean-local cscope cscopelist-am ctags ctags-am \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-local distclean-tags dvi dvi-am html html-am info \
info-am install install-am install-binPROGRAMS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-binPROGRAMS
.PRECIOUS: Makefile
all-local: pq$(EXEEXT)
$(mkdir_p) $(top_srcdir)/$(BINARCHDIR)
rm -f $(abs_top_srcdir)/$(BINARCHDIR)/pq$(EXEEXT)
cp pq$(EXEEXT) $(abs_top_srcdir)/$(BINARCHDIR)
@echo "SUCCESS!"
clean-local:
rm -rf $(BINARCHDIR)
(cd doc && rm -f *.aux *.bbl *.blg *.brf *.idx *.ilg *.ind *.log *.out *.pnr *.toc)
(cd standalone-doc && rm -rf *.aux *.log *.toc)
distclean-local:
(cd examples; make distclean)
rm -rf standalone/bin
doc:
$(GAP_EXEC) -A --quitonbreak -b -q < makedoc.g
.PHONY: doc
#test:
# (cd examples; make)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
anupq-3.3.0/aclocal.m4 000644 000766 000024 00000125740 14355420746 015013 0 ustar 00mhorn staff 000000 000000 # generated automatically by aclocal 1.16.5 -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# Copyright (C) 2002-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.16.5], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too. Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.16.5])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]])
fi])])
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
[$1], [CXX], [depcc="$CXX" am_compiler_list=],
[$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
[$1], [UPC], [depcc="$UPC" am_compiler_list=],
[$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named 'D' -- because '-MD' means "put the output
# in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
am__universal=false
m4_case([$1], [CC],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac],
[CXX],
[case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac])
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
# Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
# Solaris 10 /bin/sh.
echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle '-M -o', and we need to detect this. Also, some Intel
# versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# After this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
# This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE([dependency-tracking], [dnl
AS_HELP_STRING(
[--enable-dependency-tracking],
[do not reject slow dependency extractors])
AS_HELP_STRING(
[--disable-dependency-tracking],
[speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
AC_SUBST([am__nodep])dnl
_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
# TODO: see whether this extra hack can be removed once we start
# requiring Autoconf 2.70 or later.
AS_CASE([$CONFIG_FILES],
[*\'*], [eval set x "$CONFIG_FILES"],
[*], [set x $CONFIG_FILES])
shift
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
do
# Strip MF so we end up with the name of the file.
am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile which includes
# dependency-tracking related rules and includes.
# Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|| continue
am_dirpart=`AS_DIRNAME(["$am_mf"])`
am_filepart=`AS_BASENAME(["$am_mf"])`
AM_RUN_LOG([cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles]) || am_rc=$?
done
if test $am_rc -ne 0; then
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. If GNU make was not used, consider
re-running the configure script with MAKE="gmake" (or whatever is
necessary). You can also try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).])
fi
AS_UNSET([am_dirpart])
AS_UNSET([am_filepart])
AS_UNSET([am_mf])
AS_UNSET([am_rc])
rm -f conftest-deps.mk
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking is enabled.
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
# order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])
[_AM_PROG_CC_C_O
])
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.65])dnl
m4_ifdef([_$0_ALREADY_INIT],
[m4_fatal([$0 expanded multiple times
]m4_defn([_$0_ALREADY_INIT]))],
[m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
[$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(
m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
AM_MISSING_PROG([AUTOCONF], [autoconf])
AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
AM_MISSING_PROG([AUTOHEADER], [autoheader])
AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
#
#
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES([CC])],
[m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES([CXX])],
[m4_define([AC_PROG_CXX],
m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
CTAGS=ctags
fi
AC_SUBST([CTAGS])
if test -z "$ETAGS"; then
ETAGS=etags
fi
AC_SUBST([ETAGS])
if test -z "$CSCOPE"; then
CSCOPE=cscope
fi
AC_SUBST([CSCOPE])
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard:
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: .
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
fi
dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments
dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
AC_SUBST([install_sh])])
# Copyright (C) 2003-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MAINTAINER_MODE([DEFAULT-MODE])
# ----------------------------------
# Control maintainer-specific portions of Makefiles.
# Default is to disable them, unless 'enable' is passed literally.
# For symmetry, 'disable' may be passed as well. Anyway, the user
# can override the default with the --enable/--disable switch.
AC_DEFUN([AM_MAINTAINER_MODE],
[m4_case(m4_default([$1], [disable]),
[enable], [m4_define([am_maintainer_other], [disable])],
[disable], [m4_define([am_maintainer_other], [enable])],
[m4_define([am_maintainer_other], [enable])
m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode's default is 'disable' unless 'enable' is passed
AC_ARG_ENABLE([maintainer-mode],
[AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
am_maintainer_other[ make rules and dependencies not useful
(and sometimes confusing) to the casual installer])],
[USE_MAINTAINER_MODE=$enableval],
[USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST([MAINT])dnl
]
)
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MAKE_INCLUDE()
# -----------------
# Check whether make has an 'include' directive that can support all
# the idioms we need for our automatic dependency tracking code.
AC_DEFUN([AM_MAKE_INCLUDE],
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
cat > confinc.mk << 'END'
am__doit:
@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
am__include="#"
am__quote=
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
AS_CASE([$?:`cat confinc.out 2>/dev/null`],
['0:this is the am__doit target'],
[AS_CASE([$s],
[BSD], [am__include='.include' am__quote='"'],
[am__include='include' am__quote=''])])
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
done
rm -f confinc.* confmf.*
AC_MSG_RESULT([${_am_result}])
AC_SUBST([am__include])])
AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it is modern enough.
# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
fi
])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_CC_C_O
# ---------------
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
# to automatically call this.
AC_DEFUN([_AM_PROG_CC_C_O],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
AC_LANG_PUSH([C])dnl
AC_CACHE_CHECK(
[whether $CC understands -c and -o together],
[am_cv_prog_cc_c_o],
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i])
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_RUN_LOG(COMMAND)
# -------------------
# Run COMMAND, save the exit status in ac_status, and log it.
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
AC_DEFUN([AM_RUN_LOG],
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
(exit $ac_status); }])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[[\\\"\#\$\&\'\`$am_lf]]*)
AC_MSG_ERROR([unsafe absolute working directory name]);;
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
if test "$[2]" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT([yes])
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
AC_MSG_RESULT([done])])
rm -f conftest.file
])
# Copyright (C) 2009-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING(
[--enable-silent-rules],
[less verbose build output (undo: "make V=1")])
AS_HELP_STRING(
[--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl
])
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
AC_CACHE_CHECK([whether $am_make supports nested variables],
[am_cv_make_support_nested_variables],
[if AS_ECHO([['TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the 'STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2021 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
# tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
m4_if([$1], [v7],
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
[m4_case([$1],
[ustar],
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
# There is notably a 21 bits limit for the UID and the GID. In fact,
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
# and bug#13588).
am_max_uid=2097151 # 2^21 - 1
am_max_gid=$am_max_uid
# The $UID and $GID variables are not portable, so we need to resort
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
# below are definitely unexpected, so allow the users to see them
# (that is, avoid stderr redirection).
am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
if test $am_uid -le $am_max_uid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
if test $am_gid -le $am_max_gid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi],
[pax],
[],
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Go ahead even if we have the value already cached. We do so because we
# need to set the values for the 'am__tar' and 'am__untar' variables.
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
for _am_tool in $_am_tools; do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar; do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
# tar/untar a dummy directory, and stop if the command works.
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/find_gap.m4])
anupq-3.3.0/read.g 000644 000766 000024 00000001601 14355420571 014217 0 ustar 00mhorn staff 000000 000000 #############################################################################
##
#W read.g ANUPQ package Werner Nickel
#W Greg Gamble
##
#############################################################################
##
#R Read the install files.
##
ReadPackage( "anupq", "lib/anupqhead.gi" );
ReadPackage( "anupq", "lib/anupqprop.gi" );
ReadPackage( "anupq", "lib/anupq.gi" );
ReadPackage( "anupq", "lib/anupga.gi" );
ReadPackage( "anupq", "lib/anusp.gi" );
ReadPackage( "anupq", "lib/anupqopt.gi" );
ReadPackage( "anupq", "lib/anupqios.gi" );
ReadPackage( "anupq", "lib/anupqi.gi" );
ReadPackage( "anupq", "lib/anupqid.gi" );
ReadPackage( "anupq", "lib/anustab.gi" );
ReadPackage( "anupq", "lib/anupqxdesc.gi" );
#E read.g . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here
anupq-3.3.0/autogen.sh 000755 000766 000024 00000000055 14355420571 015137 0 ustar 00mhorn staff 000000 000000 #!/bin/sh -ex
autoreconf -vif `dirname "$0"`
anupq-3.3.0/src/ 000755 000766 000024 00000000000 14355420571 013725 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/src/update_name.c 000644 000766 000024 00000001405 14355420571 016353 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A update_name.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* update the name of the immediate descendant by appending to the name,
string, of the parent a ' #' followed by its number, x, in the
sequence of immediate descendants constructed, a '; ', and step size */
void update_name(char *string, int x, int step_size)
{
register int length;
if ((length = strlen(string)) < MAXIDENT - 15)
sprintf(string + length, " #%d;%d", x, step_size);
}
anupq-3.3.0/src/soluble_orbits.c 000644 000766 000024 00000012253 14355420571 017123 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A soluble_orbits.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* compute the orbits of the allowable subgroups,
where the permutation group is soluble */
void
compute_orbits(int **a, int **b, char **c, int **perms, struct pga_vars *pga)
{
register int alpha;
int perm_number;
/* set up space for orbit and stabiliser information */
space_for_orbits(a, b, c, pga);
/* now compute the orbits */
for (alpha = 1; alpha <= pga->m; ++alpha) {
if ((perm_number = pga->map[alpha]) != 0)
orbits(perms[perm_number], *a, *b, *c, pga);
else
process_identity_perm(*a, *b, *c, pga);
}
}
/* allocate and initialise space for orbit and stabiliser calculations */
void space_for_orbits(int **a, int **b, char **c, struct pga_vars *pga)
{
register int i;
register int Degree = pga->Degree;
*a = allocate_vector(Degree, 1, FALSE);
*b = allocate_vector(Degree, 1, TRUE);
*c = allocate_char_vector(Degree, 1, FALSE);
for (i = 1; i <= Degree; ++i) {
*(*a + i) = i;
*(*c + i) = 1;
}
}
/* process identity permutation -- we need only to update c[j] which is the
number of times j has been last image in orbit with leading term a[j] */
void process_identity_perm(int *a, int *b, char *c, struct pga_vars *pga)
{
register int Degree = pga->Degree;
int j, last, element;
/* find the last entry, last, for each orbit, and increment c[last] */
for (j = 1; j <= Degree; ++j) {
if (a[j] == j) {
/* trace this orbit */
last = j;
element = j;
while (element != 0) {
last = element;
element = b[element];
}
++c[last];
}
}
}
/* trace the action of the supplied permutation
on the existing orbits where
a[j] = leading term of existing orbit containing j
b[j] = next term in existing orbit containing j
c[j] = number of times j has been last image in orbit
with leading term a[j] */
void orbits(int *permutation, int *a, int *b, char *c, struct pga_vars *pga)
{
register int j;
for (j = 1; j <= pga->Degree; ++j)
if (a[j] == j)
trace_action(permutation, j, a, b, c);
}
/* trace the action of the permutation on the orbit whose leading term is j */
void trace_action(int *permutation, int j, int *a, int *b, char *c)
{
register int k, lead, image;
Logical merge;
/* find the last term, k, in the orbit of j */
k = j;
while (b[k] != 0)
k = b[k];
/* while the image of k lies outside the orbit whose leading term is j,
merge the existing orbit of k with that of j by running through
each element of the existing orbit of k and updating its entry
in array a so that it now lies in the orbit with leading term j;
let k be the last entry of the existing orbit */
merge = TRUE;
while (merge) {
image = permutation[k];
lead = a[image];
if (lead != j) {
b[k] = lead;
while (b[k] != 0) {
a[b[k]] = j;
c[b[k]] = 0;
k = b[k];
}
} else {
++c[k];
merge = FALSE;
}
}
}
/* list the orbit with leading term j and return its length */
int soluble_list_orbit(int j, int *b, struct pga_vars *pga)
{
register int orbit_length = 0;
while (j != 0) {
++orbit_length;
if (pga->print_orbits)
printf("%d ", j);
j = b[j];
}
return orbit_length;
}
/* find the orbit representatives, number of orbits, and orbit lengths;
also list the individual orbits */
int *soluble_find_orbit_reps(int *a, int *b, struct pga_vars *pga)
{
register int j;
register int counter = 0;
int *orbit_length;
/* find the number of orbits */
pga->nmr_orbits = 0;
for (j = 1; j <= pga->Degree; ++j)
if (a[j] == j)
++pga->nmr_orbits;
/* set up space to store orbit representatives and orbit lengths */
pga->rep = allocate_vector(pga->nmr_orbits, 1, 0);
orbit_length = allocate_vector(pga->nmr_orbits, 1, 0);
/* list the elements of each orbit and find its length */
for (j = 1; j <= pga->Degree && counter <= pga->nmr_orbits; ++j) {
if (a[j] == j) {
++counter;
pga->rep[counter] = j;
if (pga->print_orbits)
printf("\nOrbit %d:\n", counter);
orbit_length[counter] = soluble_list_orbit(j, b, pga);
if (pga->print_orbits)
printf("\nLength is %d\n", orbit_length[counter]);
}
}
return orbit_length;
}
/* print out contents of three arrays created during orbit calculation */
void print_orbit_information(int *a, int *b, char *c, struct pga_vars *pga)
{
printf("The array A is \n");
print_array(a, 1, pga->nmr_subgroups + 1);
printf("The array B is \n");
print_array(b, 1, pga->nmr_subgroups + 1);
printf("The array C is \n");
print_chars(c, 1, pga->nmr_subgroups + 1);
}
anupq-3.3.0/src/OpenFile.c 000644 000766 000024 00000002103 14355420571 015566 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A OpenFile.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
/* fopen file */
FILE *OpenFile(const char *file_name, const char *mode)
{
FILE *fp = fopen(file_name, mode);
if (fp == NULL) {
fprintf(stderr, "Cannot open %s\n", file_name);
if (!isatty(0))
exit(FAILURE);
}
return fp;
}
FILE *OpenFileOutput(const char *file_name)
{
return OpenFile(file_name, "w");
}
FILE *OpenFileInput(const char *file_name)
{
return OpenFile(file_name, "r");
}
/* open file for fread and fwrite */
FILE *OpenSystemFile(const char *file_name, const char *mode)
{
FILE *fp;
if ((fp = fopen(file_name, mode)) == NULL) {
perror(NULL);
printf("Cannot open %s\n", file_name);
exit(FAILURE);
}
setbuf(fp, NULL);
return fp;
}
anupq-3.3.0/src/commutator.c 000644 000766 000024 00000010554 14355420571 016270 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A commutator.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pretty_filterfns.h"
#include "word_types.h"
#include "constants.h"
/* calculate a solution, x, to the equation
u_1 * v_1 * x = u_2 * v_2
where u_1, v_1, u_2, v_2 are exponent vectors with
base addresses cp1, cp2, cp3, cp4, respectively;
the result is stored as an exponent vector with address result;
with appropriate initial values, this procedure may be
used to calculate a commutator; the algorithm finds a
solution generator by generator */
void find_commutator(
int cp1, int cp2, int cp3, int cp4, int result, struct pcp_vars *pcp)
{
register int *y = y_address;
int r;
int exp;
register int i;
int str = pcp->lused + 1;
register int p = pcp->p;
register int lastg = pcp->lastg;
#include "access.h"
y[str] = 1;
for (i = 1; i <= lastg; ++i) {
/* compute r and adjust its value mod p */
r = (y[cp3 + i] + y[cp4 + i]) - (y[cp1 + i] + y[cp2 + i]);
while (r < 0)
r += p;
while (r >= p)
r -= p;
/* store the exponent of generator i in x */
y[result + i] = r;
/* now compute the new u_2 */
if (y[cp4 + i] != 0) {
y[str + 1] = PACK2(y[cp4 + i], i);
collect(-str + 1, cp3, pcp);
y[cp3 + i] = 0;
}
/* compute the residue mod p */
exp = y[cp2 + i] + r;
while (exp < 0)
exp += p;
exp %= p;
/* now compute the new v_1 */
if (y[cp2 + i] + r >= p)
y[cp2 + i] = p - r;
if (r != 0) {
y[str + 1] = PACK2(r, i);
collect(-str + 1, cp2, pcp);
}
/* now compute the new u_1 */
if (y[cp1 + i] + exp >= p)
y[cp2 + i] = p - exp;
if (exp != 0) {
y[str + 1] = PACK2(exp, i);
collect(-str + 1, cp1, pcp);
}
}
}
/* copy a section of the array, y, to another part of y */
void copy(int old, int length, int new, struct pcp_vars *pcp)
{
register int *y = y_address;
for (; length > 0; --length)
y[new + length] = y[old + length];
}
/* calculate a power of a left-normed commutator of supplied depth
by repeated calls to find_commutator; set up the result as an
exponent vector with base address pcp->lused in order to permit
the result to be handed to echelon easily */
void calculate_commutator(int format, struct pcp_vars *pcp)
{
register int *y = y_address;
register int ptr, cp1, cp2, cp3, cp4, result;
register int lastg = pcp->lastg;
register int total;
int disp = 0;
int type;
int depth;
int exp;
total = 6 * lastg + 6;
if (is_space_exhausted(total, pcp))
return;
cp1 = pcp->submlg - lastg - 2;
cp2 = cp1 - lastg;
cp3 = cp2 - lastg;
cp4 = cp3 - lastg;
result = cp4 - lastg;
ptr = pcp->lused + 1;
/* fudge the value of submlg because of possible call to power */
pcp->submlg -= total;
read_value(TRUE, "Input number of components of commutator: ", &depth, 2);
/* read in a and set it up at cp2 and cp3 */
type = FIRST_ENTRY;
if (format == BASIC)
read_word(stdin, disp, type, pcp);
else
pretty_read_word(stdin, disp, type, pcp);
collect_word(ptr, cp2, pcp);
copy(cp2, lastg, cp3, pcp);
type = NEXT_ENTRY;
disp = y[ptr] + 1;
while (--depth > 0) {
/* read in next component, b, and set it up at cp1 and cp4 */
if (format == BASIC)
read_word(stdin, disp, type, pcp);
else
pretty_read_word(stdin, disp, type, pcp);
collect_word(ptr + disp, cp1, pcp);
copy(cp1, lastg, cp4, pcp);
/* solve the equation (ba) * x = ab to obtain [a, b] */
find_commutator(cp1, cp2, cp3, cp4, result, pcp);
copy(result, lastg, cp2, pcp);
copy(result, lastg, cp3, pcp);
}
read_value(TRUE, "Input required power of this commutator: ", &exp, 1);
power(exp, result, pcp);
/* print the commutator */
setup_word_to_print("commutator", result, ptr, pcp);
/* copy result to pcp->lused */
copy(result, lastg, pcp->lused, pcp);
/* reset the value of submlg */
pcp->submlg += total;
}
anupq-3.3.0/src/assemble_matrix.c 000644 000766 000024 00000001614 14355420571 017252 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A assemble_matrix.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* assemble a t x t matrix, A, which represents the action of the
automorphism described by a 2-dimensional array, auts,
on an initial-segment rank t subgroup of the p-multiplicator;
note that the indices of auts start at 1, not 0 */
void assemble_matrix(int **A, int t, int **auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j;
register int offset = y[pcp->clend + pcp->cc - 1] + 1;
for (i = 0; i < t; ++i)
for (j = 0; j < t; ++j)
A[i][j] = auts[offset + i][offset + j];
}
anupq-3.3.0/src/print_structure.c 000644 000766 000024 00000007126 14355420571 017353 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_structure.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* print structure of generator with base address pointer */
void print_generator(int generator, int pointer, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int address = -pointer + 1;
register int length = y[address];
#include "access.h"
printf("%d = ", generator);
for (i = 1; i <= length; ++i)
printf("%d^%d ", FIELD2(y[address + i]), FIELD1(y[address + i]));
printf("\n");
}
/* find the definition of generator of supplied weight
and set it up with address pointer */
int
find_definition(int generator, int pointer, int weight, struct pcp_vars *pcp)
{
register int *y = y_address;
register int u, v;
register int structure = pcp->structure;
#include "access.h"
pointer += weight + 1;
do {
u = PART2(y[structure + generator]);
v = PART3(y[structure + generator]);
/* deal with case where generator is a defining generator */
if (generator < v)
v = generator;
if (u == 0)
y[--pointer] = v;
else {
if (v == 0) {
/* definition is a power, u^p */
v = 2;
while (u > y[pcp->clend + 1]) {
++v;
u = PART2(y[structure + u]);
}
for (; v > 0; --v)
y[--pointer] = u;
return pointer;
} else {
/* definition is a commutator [v, u] */
y[--pointer] = v;
generator = u;
}
}
} while (u != 0);
return pointer;
}
/* what layer of the lower exponent-p central series is generator in? */
int layer(int generator, struct pcp_vars *pcp)
{
register int *y = y_address;
int i;
for (i = 1;
i <= pcp->cc && y[pcp->clend + i] != 0 && generator > y[pcp->clend + i];
++i)
;
return MIN(i, pcp->cc);
}
/* print the structure of each of the pcp generators,
numbered from first to last inclusive */
void print_structure(int first, int last, struct pcp_vars *pcp)
{
register int *y = y_address;
register int structure = pcp->structure;
register int u, v;
register int gen, i;
register int previous = 0;
register int current;
int value;
int weight;
int pointer;
#include "access.h"
for (gen = first; gen <= last; ++gen) {
pointer = y[structure + gen];
weight = WT(pointer);
if ((current = layer(gen, pcp)) != previous) {
printf("Class %d\n", current);
previous = current;
}
if (pointer <= 0) {
printf("%d = ", gen);
print_word(pointer, pcp);
} else {
u = PART2(pointer);
v = PART3(pointer);
if (u == 0)
printf("%d is defined on image of defining generator %d\n", gen, v);
else {
for (i = 1; i <= weight; ++i)
y[pcp->lused + i] = 0;
find_definition(gen, pcp->lused, weight, pcp);
if (v == 0)
printf("%d is defined on %d^%d = ", gen, u, pcp->p);
else
printf("%d is defined on [%d, %d] = ", gen, u, v);
for (i = 1; i <= weight; ++i)
if ((value = y[pcp->lused + i]) != 0)
printf("%d ", value);
printf("\n");
}
}
}
}
anupq-3.3.0/src/identity.c 000644 000766 000024 00000001061 14355420571 015720 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A identity.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
/* set up the identity permutation */
void setup_identity_perm(int *permutation, struct pga_vars *pga)
{
register int i;
for (i = 1; i <= pga->Degree; ++i)
permutation[i] = i;
}
anupq-3.3.0/src/strip_identities.c 000644 000766 000024 00000003115 14355420571 017453 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A strip_identities.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* find the non-identity permutations in the soluble subgroup of
the automorphism group generated by the central automorphisms
and record the correspondence from the non-identity automorphisms
to the non-identity permutations */
void strip_identities(int ***auts, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int alpha;
int **A; /* automorphism matrix */
int nmr_soluble = pga->nmr_soluble;
pga->nmr_of_perms = 0;
/* set up space for automorphism matrix */
A = allocate_matrix(pga->q, pga->q, 0, FALSE);
pga->map = allocate_vector(pga->m, 1, TRUE);
for (alpha = 1; alpha <= pga->m; ++alpha) {
if (alpha <= nmr_soluble)
assemble_matrix(A, pga->q, auts[alpha], pcp);
if (alpha > nmr_soluble || !is_identity(A, pga->q, 0)) {
++pga->nmr_of_perms;
pga->map[alpha] = pga->nmr_of_perms;
}
}
/* EOB - new 26/7/00 */
pga->nmr_of_perms = 0;
for (alpha = 1; alpha <= pga->m; ++alpha) {
++pga->nmr_of_perms;
pga->map[alpha] = pga->nmr_of_perms;
}
/*
printf ("The map from auts to perms is ");
print_array (pga->map, 1, pga->m + 1);
*/
free_matrix(A, pga->q, 0);
}
anupq-3.3.0/src/collect_word.c 000644 000766 000024 00000005055 14355420571 016556 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collect_word.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "constants.h"
#include "word_types.h"
/* collect word in pcp generators of group; word has base address ptr;
set up the result as exponent vector with base address cp */
void collect_word(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
int temp;
int gen, exp;
register int i;
register int lastg = pcp->lastg;
register int length = y[ptr];
/* zero out lastg entries in array in order to store result */
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
/* collect the word */
for (i = 2; i <= length; ++i) {
if ((gen = y[ptr + i]) > 0)
collect(gen, cp, pcp);
else
invert_generator(-gen, 1, cp, pcp);
}
/* now calculate the appropriate power of the collected part */
if ((exp = y[ptr + 1]) != 1) {
temp = ptr + y[ptr] + 1;
calculate_power(exp, temp, cp, pcp);
}
}
/* calculate the exp power of word stored as exponent-vector at cp;
ptr is index of free position for temporary storage in y */
void calculate_power(int exp, int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int lastg = pcp->lastg;
power(abs(exp), cp, pcp);
/* if necessary, calculate the inverse */
if (exp < 0) {
++ptr;
vector_to_word(cp, ptr, pcp);
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
invert_word(ptr, cp, pcp);
}
}
/* collect a word in pcp generators which may be already stored
or is read in as string with base address ptr; store the result
as an exponent vector at cp; convert exponent vector
to string with base address ptr; and print out result */
void setup_word_to_collect(
FILE *file, int format, int type, int cp, struct pcp_vars *pcp)
{
int disp = pcp->lastg + 2;
register int ptr;
ptr = pcp->lused + 1 + disp;
if (type != FIRST_ENTRY && type != NEXT_ENTRY) {
if (format == BASIC)
read_word(file, disp, type, pcp);
else
pretty_read_word(file, disp, type, pcp);
}
collect_word(ptr, cp, pcp);
if (type == VALUE_A || type == VALUE_B || file != stdin)
return;
setup_word_to_print("result of collection", cp, ptr, pcp);
}
anupq-3.3.0/src/collect.c 000644 000766 000024 00000035356 14355420571 015532 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collect.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#define MAXEXP (1 << 30)
void stack_overflow(void);
void integer_overflow(void);
void add_string(int string,
int length,
int exponent,
int collected_part,
struct pcp_vars *pcp);
/* an exponent vector with base address collected_part
is multiplied on the right by a string with base address
pointer; the string is assumed to be normal
this routine follows the algorithm devised by
M.R. Vaughan-Lee for collection from the left;
step numbers correspond to step numbers in
"Collection from the Left" by M.R. Vaughan-Lee,
J. Symbolic Computation (1990) 9, 725-733
this version embodies a simpler form of combinatorial
collection as described on page 733, which lessens the
chance of integer overflow; it also incorporates recursion
when adding strings and generators to the exponent vector
during the collection algorithm, pointers to a number of strings
are stored on a stack; theoretically, the stack depth could get
as large as (p - 1) * pcp->lastg * pcp->cc, but, in practice, depths
this large do not arise; however, it could be necessary to increase
the dimensions of the stack arrays for some calculations with large
groups; STACK_SIZE is the maximum depth of the stack; this constant
is declared in the constants header file; overflow is tested in
this algorithm
integer overflow is also tested for, although it can only arise
if p^3 > 2^31; if p^2 > 2^31, integer overflow can arise which
is not tested for
if either overflow arises, a message is printed out and
the program terminates;
#####################################################################
note the sections in this code enclosed within
#ifndef EXPONENT_P
#endif
if you insert as part of the header material of this file
#define EXPONENT_P
or supply EXPONENT_P as a -D flag to the compiler, then the
resulting collector assumes that all generators of the pcp
have order p and does not execute these portions of the code */
/* stack size on Apollo causes problems */
#ifdef APOLLO
static t_int strstk[STACK_SIZE]; /* string stack */
static t_int lenstk[STACK_SIZE]; /* length stack */
static t_int expstk[STACK_SIZE]; /* exponent stack */
#endif
/* if Lie program, use different collect routine */
#if defined(GROUP)
void collect(int pointer, int collected_part, struct pcp_vars *pcp)
{
register int *y = y_address;
register int p1; /* string pointer */
register int ce; /* collected exponent */
register int cg; /* collected generator */
register int ug; /* uncollected generator */
register int ue; /* uncollected exponent */
register int sp = 0; /* stack pointer */
register int exp; /* exponent */
register int len = 1; /* length */
register int str; /* string pointer */
register int halfwt; /* last generator with weight <= cc/2 */
register int thirdwt; /* last generator with weight <= cc/3 */
register int weight_diff; /* current class - weight of ug */
register int entry; /* value to be inserted in collected part */
register int firstcg; /* first collected generator for loop counter */
register int lastcg; /* last collected generator for loop counter */
register int maxexp; /* max exponent allowed in call to add_string */
register int cp = collected_part;
register int class_end = pcp->clend;
register int current_class = pcp->cc;
register int prime = pcp->p;
register int pm1 = pcp->pm1;
register int p_pcomm = pcp->ppcomm;
register int p_power = pcp->ppower;
register int structure = pcp->structure;
#ifndef APOLLO
int strstk[STACK_SIZE]; /* string stack */
int lenstk[STACK_SIZE]; /* length stack */
int expstk[STACK_SIZE]; /* exponent stack */
#endif
register int i;
#include "access.h"
/* if prime is 2, use special collector */
if (prime == 2) {
collectp2(pointer, collected_part, pcp);
return;
}
/* Step (0) --
initialize collector */
if (pointer < 0)
lenstk[0] = y[-pointer + 1];
else if (pointer == 0)
return;
strstk[0] = pointer;
expstk[0] = 1;
maxexp = (MAXEXP / prime) * 2;
halfwt = y[class_end + current_class / 2];
thirdwt = y[class_end + current_class / 3];
/* Step (1) --
process next word on stack */
while (sp >= 0) {
str = strstk[sp];
exp = expstk[sp];
/* check if str is a string or a generator */
if (str < 0) {
/* we have a genuine string */
len = lenstk[sp];
sp--;
/* get first generator exponent pair from string */
i = y[-str + 2];
ug = FIELD2(i);
/* if ug > halfwt, the string can be added to the
collected part without creating any commutators */
if (ug > halfwt) {
add_string(str, len, exp, cp, pcp);
continue;
}
/* ug <= halfwt and so exp must equal 1; stack remainder of string */
ue = FIELD1(i);
if (len != 1) {
strstk[++sp] = str - 1;
lenstk[sp] = len - 1;
}
} else {
/* str is a generator */
ug = str;
ue = exp;
sp--;
/* if ug > halfwt, ug commutes with all higher generators */
if (ug > halfwt) {
add_string(ug, 1, ue, cp, pcp);
continue;
}
}
/* ug <= halfwt; if ug > thirdwt, any commutators arising in
collecting ug commute with all generators after ug, so ug
can be collected without stacking up collected part */
if (ug <= thirdwt) {
/* Step (2) --
combinatorial collection;
scan collected part towards the left;
bypass generators we know must commute with ug;
when 2 * WT(cg) + WT(ug) > current_class, all generators
occurring in [cg, ug] commute with each other;
[cg^ce, ug] = [cg, ug]^ce;
if cg1,..., cgk all satisfy this weight condition then
[cg1 * ... * cgk, ug] = [cg1, ug] ... [cgk, ug] */
if (ue != 1) {
/* we only move one ug at a time; stack ug^(ue - 1) */
if (++sp >= STACK_SIZE)
stack_overflow();
strstk[sp] = ug;
expstk[sp] = ue - 1;
ue = 1;
}
weight_diff = current_class - WT(y[structure + ug]);
firstcg = y[class_end + weight_diff];
lastcg = y[class_end + weight_diff / 2];
/* scan collected part to the left, bypassing generators
which must commute with ug; the collected part between
lastcg and firstcg contains a word w; we add in [w, ug] */
for (cg = firstcg; cg > ug; cg--) {
ce = y[cp + cg];
if (ce != 0) {
/* add [cg, ug]^ce to the collected part */
p1 = y[p_pcomm + cg] + ug;
p1 = y[p1];
if (p1 != 0) {
if (cg <= lastcg)
break;
if (p1 < 0)
len = y[-p1 + 1];
add_string(p1, len, ce, cp, pcp);
}
}
}
if (cg == ug) {
/* we have reached ug position during combinatorial
collection; add 1 to ug entry of collected part
without stacking any entries if appropriate */
if (y[cp + ug] == pm1) {
if (y[p_power + ug] == 0) {
y[cp + ug] = 0;
continue;
}
} else {
++y[cp + ug];
continue;
}
}
/* we have now added in [w, ug]; stack up
collected part between firstcg and cg + 1 */
for (i = firstcg; i > cg; i--) {
ce = y[cp + i];
if (ce != 0) {
y[cp + i] = 0;
if (++sp >= STACK_SIZE)
stack_overflow();
strstk[sp] = i;
expstk[sp] = ce;
}
}
/* Step (3) --
ordinary collection; we have moved ug to the cg position;
continue scanning to the left */
for (; cg > ug; cg--) {
ce = y[cp + cg];
if (ce != 0) {
/* zero the cg entry of collected part */
y[cp + cg] = 0;
/* get [cg, ug] */
p1 = y[p_pcomm + cg] + ug;
p1 = y[p1];
if (p1 == 0) {
/* cg commutes with ug so stack cg^ce */
if (++sp >= STACK_SIZE)
stack_overflow();
strstk[sp] = cg;
expstk[sp] = ce;
} else {
/* cg does not commute with ug;
we can only move ug past one cg at a time;
stack [cg, ug] and then cg a total of ce times */
if (sp + ce + ce >= STACK_SIZE)
stack_overflow();
if (p1 < 0)
len = y[-p1 + 1];
for (; ce > 0; --ce) {
strstk[++sp] = p1;
lenstk[sp] = len;
expstk[sp] = 1;
strstk[++sp] = cg;
expstk[sp] = 1;
}
}
}
}
/* we have moved ug to the correct position;
add 1 to the ug entry of collected part */
add_string(ug, 1, 1, cp, pcp);
continue;
} /* ug <= thirdwt */
/* Step (6) -- ug > thirdwt;
move ug^ue past entries in the collected part, adding
commutators directly to the collected part;
scan collected part towards the left, bypassing generators
we know must commute with ug; if the cg position in
the collected part contains an entry ce then this
represents cg^ce; [cg^ce, ug^ue] = [cg, ug]^(ce * ue),
and we add the ce * ue power of [cg, ug] directly to
the collected part */
weight_diff = current_class - WT(y[structure + ug]);
firstcg = y[class_end + weight_diff];
for (cg = firstcg; cg > ug; cg--) {
ce = y[cp + cg];
if (ce != 0) {
/* add [cg, ug]^(ce * ue) directly to the collected part */
p1 = y[p_pcomm + cg];
p1 = y[p1 + ug];
if (p1 != 0) {
exp = ce * ue;
if (exp > maxexp)
integer_overflow();
if (p1 < 0)
len = y[-p1 + 1];
add_string(p1, len, exp, cp, pcp);
}
}
}
/* add ue to the ug entry of collected part */
entry = y[cp + ug] + ue;
if (entry < prime) {
y[cp + ug] = entry;
continue;
} else {
y[cp + ug] = entry - prime;
p1 = y[p_power + ug];
if (p1 == 0)
continue;
}
/* adding ue to the ug entry has created an entry >= prime;
we have to stack some of collected part */
for (cg = firstcg; cg > ug; cg--) {
ce = y[cp + cg];
if (ce != 0) {
/* set entry to zero and stack cg^ce */
y[cp + cg] = 0;
if (++sp >= STACK_SIZE)
stack_overflow();
strstk[sp] = cg;
expstk[sp] = ce;
}
}
/* add in ug^p; p1 is a pointer to ug^p */
if (p1 < 0)
len = y[-p1 + 1];
add_string(p1, len, 1, cp, pcp);
continue;
}
}
#endif /* GROUP*/
/* add exponent times the string with address string and length length
directly to the collected part with base address collected_part,
recursively adding powers as required */
void add_string(int string,
int length,
int exponent,
int collected_part,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int cp = collected_part;
register int exp = exponent;
register int len = length;
register int str = string;
register int entry;
register int ug;
register int ue;
register int power;
register int class_begin = pcp->ccbeg;
register int prime = pcp->p;
register int p_power = pcp->ppower;
register int i;
int lower, upper;
#include "access.h"
if (str > 0) {
/* Step (4) --
we have moved generator str to the correct position;
add exp to the str entry of the collected part;
reduce entry modulo p and add a power of str^p
to the collected part if necessary */
entry = y[cp + str] + exp;
y[cp + str] = entry % prime;
if (str < class_begin) {
exp = entry / prime;
#ifndef EXPONENT_P
if (exp != 0) {
/* we need to recursively add in (str^p)^exp */
str = y[p_power + str];
if (str != 0) {
if (str < 0)
len = y[-str + 1];
add_string(str, len, exp, cp, pcp);
}
}
#endif
}
} else {
/* Step (5) --
add string with base address -str and length len
directly to the collected part exp times; if this
creates an entry >= prime we reduce the entry modulo
prime and add in the appropriate power */
lower = -str + 2;
upper = -str + len + 1;
/* get one generator exponent pair at a time from string */
for (i = lower; i <= upper; i++) {
ug = FIELD2(y[i]);
ue = FIELD1(y[i]) * exp;
entry = y[cp + ug] + ue;
/* add ue to ug entry of the collected part and reduce mod p */
y[cp + ug] = entry % prime;
#ifndef EXPONENT_P
/* we need to recursively add in (ug^p)^power */
if (ug < class_begin) {
power = entry / prime;
if (power != 0) {
str = y[p_power + ug];
if (str != 0) {
if (str < 0)
len = y[-str + 1];
add_string(str, len, power, cp, pcp);
}
}
}
#endif
}
}
}
/* stack is not big enough */
void stack_overflow(void)
{
printf("Stack overflow in collection routine; you should increase\n");
printf("value of STACK_SIZE in constants.h and recompile.\n");
exit(FAILURE);
}
/* arithmetic overflow */
void integer_overflow(void)
{
printf("Arithmetic overflow may occur in collection ");
printf("routine. Results may be invalid.\n");
exit(FAILURE);
}
anupq-3.3.0/src/extra_relations.c 000644 000766 000024 00000045327 14355420571 017307 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A extra_relations.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "exp_vars.h"
#if defined(GROUP)
/* this procedure collect extra relations which hold in the group;
it may be used as an exponent check routine for certain
Burnside computations;
if pcp->extra_relations = 0 there are no extra relations;
if pcp->extra_relations > 0, the extra relations specify that
certain pcp words have exponent pcp->extra_relations -- those
normal pcp words with weights from pcp->start_wt to end_class;
if pcp->end_wt > 0, end_class is set to the minimum of pcp->cc and
this value;
if both pcp->end_wt and pcp->start_wt are 0, this ensures that the
group has exponent pcp->extra_relations;
if ALL_WORDS is chosen, then the routine generates a complete
list of the normal words needed in exponent checking whose
weights lie within the chosen bounds;
if REDUCED_LIST is chosen, it is assumed that all redundant
relations in the queue are later closed under supplied
automorphisms which must contain a generating set for the
appropriate general linear group;
if INITIAL_SEGMENT is chosen, the routine will read in a word
and only generate all those words needed for exponent checking
which have this word as a proper initial segment;
any redundancies obtained by echelonising the members of this
list are added to the supplied queue;
there are a number of options in this code which are selected
according to the value of the following variables:
if exp_flag->process is FALSE, generate the list of words but do
not process the elements; if diagnostic output, then print out
all words which will be collected;
if exp_flag->complete is TRUE and diagnostic output is chosen,
then print out all of the words of the appropriate weight
generated and not just those which survive the conjugacy and
other tests;
hence, if you want a listing of all of the words generated using the
back-track search, you should set both flags TRUE;
if exp_flag->partitions is TRUE, print the weight partitions
of the generated words; */
#define MCLASS 10000
int initial_length; /* length of initial segment */
int least_weight; /* lower bound on weight of remaining letters */
int max_weight; /* upper bound on weight of remaining letters */
int initial_weight; /* weight of initial segment */
int first_entry; /* lower bound on new letters in word */
int least_entry; /* lower bound on remaining new letters in word */
int max_entry; /* upper bound on new letters in word */
/* read in the initial segment to be used in generating the words */
static void
read_initial_segment(int *initial, int *initial_coeff, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
int lower_bound; /* lower bound on next letter in word */
int lower_bound_weight; /* lower bound on weight of next letter */
#include "access.h"
/* read in details of the initial segment of the words to be processed */
read_value(
TRUE, "Input length of initial segment of words: ", &initial_length, 0);
lower_bound = 0;
if (initial_length != 0) {
printf("Input initial segment of words as a generator exponent list: ");
for (i = 1; i < initial_length; ++i) {
read_value(FALSE, "", &initial[i], lower_bound + 1);
read_value(FALSE, "", &initial_coeff[i], 1);
lower_bound = initial[i];
}
read_value(FALSE, "", &initial[i], lower_bound + 1);
read_value(TRUE, "", &initial_coeff[i], 1);
lower_bound = initial[i];
}
/* find initial weight */
initial_weight = 0;
for (i = 1; i <= initial_length; ++i)
initial_weight += initial_coeff[i] * WT(y[pcp->structure + initial[i]]);
/* all other entries in this word must have weight as least
as great as the last letter of the initial segment */
if (lower_bound == 0)
lower_bound_weight = 1;
else
lower_bound_weight = MAX(1, WT(y[pcp->structure + lower_bound]));
read_value(TRUE,
"Input lower bound for weight of remaining letters: ",
&least_weight,
lower_bound_weight);
/* first entry in the remainder of word */
first_entry = y[pcp->clend + MIN(least_weight - 1, pcp->cc)];
/* the first new letter must be larger than the last letter
of the initial segment */
first_entry = MAX(lower_bound, first_entry);
/* if using automorphisms and initial segment has length 0,
we skip all but first of those pcp generators of weight 1 */
least_entry =
(pcp->m != 0 && initial_length == 0) ? y[pcp->clend + 1] : first_entry;
read_value(TRUE,
"Input upper bound for weight of remaining letters: ",
&max_weight,
least_weight);
max_entry = pcp->ccbeg;
if (max_weight < pcp->cc)
max_entry = y[pcp->clend + max_weight] + 1;
}
void extra_relations(struct exp_vars *exp_flag, struct pcp_vars *pcp)
{
register int *y = y_address;
register int nmr_words; /* number of normal words powered in class */
register int length; /* number of generators in normal word */
register int exp_length; /* sum of exponents in normal word */
register int nextg; /* next generator added to normal word */
register int w; /* weight of generator in normal word */
register int weight; /* weight of normal word */
register int wt_gen1; /* weight of first generator in normal word */
register int gen_i; /* ith generator in normal word */
register Logical exit; /* exit from loop? */
int gen[MCLASS + 1]; /* generators of normal word */
int coeff[MCLASS + 1]; /* exponents of these generators */
int initial[MCLASS + 1]; /* generators of initial normal word */
int initial_coeff[MCLASS + 1]; /* exponents of these generators */
register int extra_relations = pcp->extra_relations;
register int structure = pcp->structure;
register int lastg = pcp->lastg;
register int prime = pcp->p;
register int pm1 = pcp->pm1;
register int end_class; /* end class for check */
register int class;
register int entry;
register int i, j;
int *queue;
char *s;
FILE *RelationList = 0;
#include "access.h"
if (extra_relations == 0)
return;
/* relation file */
if (exp_flag->word_list)
RelationList = OpenFile("Relation_list", "w");
/* determine whether the supplied exponent is
valid and what classes must be checked */
i = 0;
j = extra_relations;
while (j > 1) {
if (MOD(j, prime) != 0) {
text(14, extra_relations, 0, 0, 0);
pcp->valid = FALSE;
return;
}
++i;
j /= prime;
}
if (pcp->cc <= i)
return;
end_class = pcp->cc;
if (pcp->end_wt != 0)
end_class = MIN(end_class, pcp->end_wt);
if (exp_flag->list == ALL_WORDS || exp_flag->list == REDUCED_LIST) {
initial_length = 0;
initial_weight = 0;
first_entry = 0;
least_entry = (exp_flag->list == REDUCED_LIST) ? y[pcp->clend + 1] : 0;
max_entry = pcp->ccbeg;
} else {
read_initial_segment(initial, initial_coeff, pcp);
}
queue = exp_flag->queue;
/* process each relevant class in turn --
using a backtrack process, build up normal words in the pcp
generators of the group which have weight equal to class;
each word has the general form
gen[1]^coeff[1] * gen[2]^coeff[2] * ... * gen[length]^coeff[length]
where gen[1], ..., gen[length] are pcp generators with
gen[1] < gen[2] < ... < gen[length], coeff[1] = 1,
and 0 < coeff[i] < prime for i = 2,...,length;
we generate only all words with weight equal to class and
coeff[1] = 1; normal words with coeff[1] > 1 are powers
of normal words with coeff[1] = 1, and so they have the
same orders as those with coeff[1] = 1;
if REDUCED_LIST is chosen, we enforce the additional
requirement that gen[i] has weight at least 2 for
all i >= 2, and gen[1] = 1 or gen[1] has weight at least 2;
if INITIAL_SEGMENT is chosen, we enforce the additional
requirement that each word has the supplied proper
initial segment;
we apply some commutator calculus to eliminate some of
the words; those not eliminated are raised to the power
extra_relations and then the result is echelonised */
for (class = MAX(1, pcp->start_wt); class <= end_class; ++class) {
nmr_words = 0;
length = initial_length;
weight = initial_weight;
/* set up the initial-segment of the word */
for (i = 1; i <= initial_length; ++i) {
gen[i] = initial[i];
coeff[i] = initial_coeff[i];
}
nextg = first_entry + 1;
w = WT(y[structure + nextg]);
do {
/* backtrack process -- start to construct the next normal word */
exit = FALSE;
while (weight + w > class || nextg >= max_entry) {
/* if length = 0, we have finished this class */
exit = (length == initial_length);
if (exit)
break;
/* strip off last generator from the normal word and
decrease the weight of the word accordingly */
nextg = gen[length];
if (--coeff[length] == 0)
--length;
weight -= WT(y[structure + nextg]);
if (nextg >= 1 && nextg < least_entry)
/* nextg should now start with first generator of next weight */
nextg = least_entry + 1;
else
++nextg;
w = WT(y[structure + nextg]);
}
if (exit)
break;
/* add in nextg as last pcp generator with exponent
one of normal word; increase weight accordingly */
coeff[++length] = 1;
if (nextg > 1 && nextg <= least_entry) {
/* nextg should now start with first generator of weight 2 */
nextg = least_entry + 1;
w = WT(y[structure + nextg]);
}
gen[length] = nextg;
weight += w;
/* keep extending normal word as long as its weight is < class */
while (weight < class) {
if (coeff[length] == pm1 || length == 1) {
/* add in a new pcp generator with exponent 1 */
coeff[++length] = 1;
++nextg;
if (nextg > 1 && nextg <= least_entry)
/* nextg now starts with first generator of next weight */
nextg = least_entry + 1;
gen[length] = nextg;
w = WT(y[structure + nextg]);
} else
/* add in another copy of nextg */
++coeff[length];
/* update weight for new word */
weight += w;
}
/* if weight > class, we have extended the normal
word too far, and we need to backtrack */
if (weight > class)
continue;
/* if appropriate, print out weight partitions */
if (exp_flag->partitions) {
printf("seq (");
for (i = 1; i < length; ++i)
for (j = 1; j <= coeff[i]; ++j)
printf("%d, ", WT(y[structure + gen[i]]));
for (j = 1; j < coeff[length]; ++j)
printf("%d, ", WT(y[structure + gen[length]]));
printf("%d),\n", WT(y[structure + gen[length]]));
}
if (exp_flag->complete) {
printf("Seek to collect power %d of the following word: ",
extra_relations);
for (i = 1; i <= length; ++i)
printf("%d^%d ", gen[i], coeff[i]);
printf("\n");
}
/* we now have a normal word of weight class; run a number of
checks to establish if it is necessary to exponentiate it;
first, use commutator identities to possibly eliminate it;
if the conditions in the if clause below are satisfied,
then the normal closure of nextg has prime exponent;
if this is the case, we can express the normal word in
the form u * nextg, where u is a normal word of lower weight;
we assume by induction that u^extra_relations = 1,
and this, together with the fact that the normal
closure of nextg has exponent prime, implies that
(u * nextg)^extra_relations is a product of commutators
which have length at least extra_relations and which have
entries gen[1],..., gen[length]; we may also assume that
gen[i] occurs at least coeff[i] times for i = 1, ..., length
in each of these commutators;
let exp_length = sum of coeff[i] for i = 1, ..., length;
if extra_relations > exp_length then these commutators
have extra entries of weight at least wt_gen1; check whether
the extra entries make the total weight of the commutators
exceed the current class; if so, the power of this word
is trivial */
wt_gen1 = WT(y[structure + gen[1]]);
if (prime * w >= pcp->cc && y[pcp->ppower + nextg] == 0) {
/* find the sum of the coefficients */
for (i = 1, exp_length = 0; i <= length; ++i)
exp_length += coeff[i];
if (weight + (extra_relations - exp_length) * wt_gen1 > pcp->cc) {
if (exp_flag->filter) {
printf("Filtered from list using normal closure\n");
}
continue;
}
}
/* seek to eliminate conjugates and powers of words
which are tested at other times;
the Felsch-Neubueser conjugacy class algorithm provides
a list of class representatives for a group described
by a pcp; these representatives have the property that
if a word occurs in the list, then any of its subwords
also occurs as a representative; the calculations listed
below allow us to recognise that certain words would
not occur in the list; if we can deduce that our
normal word, w, would not occur, we do not power w;
in the iteration listed below, if gen_i = PART2(entry) or
PART3(entry) then gen[j] is a commutator or power of gen_i;
this means that our normal word, w, is a conjugate or a power
of another normal word which starts off with the same first
i generator-exponent pairs as w, but which does not have
gen[j] anywhere in it;
note that this reduction is critically sensitive to
the way in which generators are numbered, and to the
way eliminations are carried out in this program;
Michael Vaughan-Lee provided this refinement */
/* first, find last generator in normal word with weight = wt_gen1 */
for (i = length; WT(y[structure + gen[i]]) > wt_gen1; --i)
;
if (i != length) {
exit = FALSE;
gen_i = gen[i];
for (j = i + 1; j <= length && !exit; ++j) {
entry = y[structure + gen[j]];
exit = (gen_i == PART2(entry) || gen_i == PART3(entry));
}
if (exit) {
if (exp_flag->filter == TRUE)
printf("Filtered from list using conjugacy checks\n");
continue;
}
}
/* we have a word to exponentiate */
++nmr_words;
/* we may want to save all test words generated to
a relation file for later processing */
if (RelationList) {
fprintf(RelationList, "%d ", extra_relations);
for (i = 1; i <= length; ++i)
for (j = 1; j <= coeff[i]; ++j)
fprintf(RelationList, "%d ", gen[i]);
fprintf(RelationList, ";\n");
}
/* space is required for three collected parts set up in power */
if (is_space_exhausted(6 * lastg + 6, pcp))
return;
structure = pcp->structure;
/* put one copy of word into collected part in exponent-vector form */
for (i = 1; i <= lastg; ++i)
y[pcp->lused + i] = 0;
for (i = 1; i <= length; ++i) {
nextg = gen[i];
y[pcp->lused + nextg] = coeff[i];
}
/* if process flag is true, and the number of the word is higher
than supplied value, power the word and echelonise the result */
if (exp_flag->process && nmr_words >= exp_flag->start_process) {
power(extra_relations, pcp->lused, pcp);
/* is the result trivial? if not, group has larger exponent */
if (exp_flag->check_exponent == TRUE) {
i = 1;
while (i <= lastg && exp_flag->all_trivial) {
exp_flag->all_trivial = (y[pcp->lused + i] == 0);
++i;
}
if (exp_flag->all_trivial == FALSE)
return;
}
/* set second collected part trivial for echelonisation */
for (i = 1; i <= lastg; ++i)
y[pcp->lused + lastg + i] = 0;
echelon(pcp);
}
/* if appropriate, print out the normal word */
if (((pcp->fullop && pcp->eliminate_flag) ||
(pcp->diagn && exp_flag->process) ||
(pcp->diagn && !exp_flag->process && !exp_flag->filter)) &&
nmr_words >= exp_flag->start_process) {
s = exp_flag->process ? "Collected" : "Will collect";
printf("%s power %d of the following word: ", s, extra_relations);
for (i = 1; i <= length; ++i)
printf("%d^%d ", gen[i], coeff[i]);
printf("\n");
}
if (pcp->redgen != 0 && pcp->m != 0)
queue[++exp_flag->queue_length] = pcp->redgen;
/* report intermediate statistics */
if (exp_flag->report_unit && nmr_words % exp_flag->report_unit == 0) {
s = nmr_words == 1 ? "" : "s";
printf(
"%d relation%s of class %d collected\n", nmr_words, s, class);
}
if (pcp->overflow || pcp->complete != 0 || pcp->newgen == 0)
return;
} while (length != 0);
/* if appropriate, report the number of words raised to power */
if (!exp_flag->process || exp_flag->report_unit || pcp->fullop ||
pcp->diagn)
text(13, nmr_words, class, exp_flag->process, 0);
}
if (RelationList)
CloseFile(RelationList);
}
#endif
anupq-3.3.0/src/collectp2.c 000644 000766 000024 00000016456 14355420571 015774 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collectp2.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
void
add_p2string(int string, int length, int collected_part, struct pcp_vars *pcp);
/* collection procedure for the prime 2;
this routine is documented in the file collect.c */
void collectp2(int pointer, int collected_part, struct pcp_vars *pcp)
{
register int *y = y_address;
register int p1; /* string pointer */
register int cg; /* collected generator */
register int ug; /* uncollected generator */
register int sp = 0; /* stack pointer */
register int len = 1; /* length */
register int str; /* string pointer */
register int halfwt; /* last generator with weight <= cc/2 */
register int weight_diff; /* current class - weight of ug */
register int firstcg; /* first collected generator for loop counter */
register int lastcg; /* last collected generator for loop counter */
register int cp = collected_part;
register int class_end = pcp->clend;
register int current_class = pcp->cc;
register int p_pcomm = pcp->ppcomm;
register int p_power = pcp->ppower;
register int structure = pcp->structure;
int strstk[STACK_SIZE]; /* string stack */
int lenstk[STACK_SIZE]; /* length stack */
register int i;
#include "access.h"
/* Step (0) --
initialize collector */
if (pointer < 0)
lenstk[0] = y[-pointer + 1];
else if (pointer == 0)
return;
halfwt = y[class_end + current_class / 2];
strstk[0] = pointer;
/* Step (1) --
process next word on stack */
while (sp >= 0) {
str = strstk[sp];
if (str < 0) {
/* we have a genuine string */
len = lenstk[sp];
sp--;
/* get first generator from string */
i = y[-str + 2];
ug = FIELD2(i);
/* if ug > halfwt, whole string can be added to the
collected part without creating any commutators */
if (ug > halfwt) {
add_p2string(str, len, cp, pcp);
continue;
}
if (len != 1) {
/* stack remainder of string */
strstk[++sp] = str - 1;
lenstk[sp] = len - 1;
}
} else {
/* str is a generator */
ug = str;
sp--;
/* if ug > halfwt, ug commutes with all higher generators */
if (ug > halfwt) {
add_p2string(ug, 1, cp, pcp);
continue;
}
}
/* Step (2) --
combinatorial collection;
move ug past entries in the collected part, adding
commutators directly to the collected part;
if 2 * WT(cg) + WT(ug) > current_class then [cg, ug]
commutes with all generators k such that k >= cg;
scan collected part towards the left, bypassing
generators we know must commute with ug */
weight_diff = current_class - WT(y[structure + ug]);
firstcg = y[class_end + weight_diff];
lastcg = y[class_end + weight_diff / 2];
for (cg = firstcg; cg > ug; cg--) {
if (y[cp + cg] != 0) {
/* add [cg, ug] directly to the collected part */
p1 = y[p_pcomm + cg];
p1 = y[p1 + ug];
if (p1 != 0) {
if (cg <= lastcg)
break;
if (p1 < 0)
len = y[-p1 + 1];
add_p2string(p1, len, cp, pcp);
}
}
}
if (cg == ug) {
/* we have reached the ug position during combinatorial collection;
check whether we can avoid stacking collected part */
if (y[cp + ug] == 0) {
y[cp + ug] = 1;
continue;
} else {
if (y[p_power + ug] == 0) {
y[cp + ug] = 0;
continue;
}
}
}
/* we do have to stack some of the collected part */
for (i = firstcg; i > cg; i--) {
if (y[cp + i] != 0) {
/* set entry to zero and stack i */
y[cp + i] = 0;
if (++sp >= STACK_SIZE)
stack_overflow();
strstk[sp] = i;
}
}
/* Step (3) --
ordinary collection; continue scanning towards the left,
stacking up commutators and entries in collected part
until we reach ug position */
for (; cg > ug; cg--) {
if (y[cp + cg] != 0) {
/* zero the cg entry of collected part */
y[cp + cg] = 0;
/* get [cg, ug] */
p1 = y[p_pcomm + cg];
p1 = y[p1 + ug];
/* move ug past cg stacking [cg, ug] and cg */
if (sp + 2 >= STACK_SIZE)
stack_overflow();
if (p1 != 0) {
/* stack [cg, ug] if it is non-trivial */
strstk[++sp] = p1;
if (p1 < 0)
lenstk[sp] = y[-p1 + 1];
}
/* stack cg */
strstk[++sp] = cg;
}
}
add_p2string(ug, 1, cp, pcp);
continue;
}
}
/* prime = 2;
add the string with address string and length length
directly to the collected part with base address collected_part,
recursively adding powers as required */
void
add_p2string(int string, int length, int collected_part, struct pcp_vars *pcp)
{
register int *y = y_address;
register int cp = collected_part;
register int str = string;
register int len = length;
register int ug;
register int class_begin = pcp->ccbeg;
register int p_power = pcp->ppower;
register int i;
int lower, upper;
#include "access.h"
if (str > 0) {
/* Step (4) --
we have moved generator str to the correct position;
add 1 to the str entry of the collected part; reduce
entry modulo 2 and add str^2 to collected part if necessary */
if (y[cp + str] == 0)
y[cp + str] = 1;
else {
/* we need to recursively add in str^2 */
y[cp + str] = 0;
if (str < class_begin) {
str = y[p_power + str];
if (str != 0) {
if (str < 0)
len = y[-str + 1];
add_p2string(str, len, cp, pcp);
}
}
}
} else {
/* Step (5) --
add string with base address -str and length len directly
to the collected part; if this creates an entry >= 2, reduce
entry modulo 2 and recursively add in the appropriate power */
lower = -str + 2;
upper = -str + len + 1;
/* get one generator exponent pair at a time from string */
for (i = lower; i <= upper; i++) {
ug = FIELD2(y[i]);
if (y[cp + ug] == 0)
y[cp + ug] = 1;
else {
y[cp + ug] = 0;
if (ug < class_begin) {
/* we need to recursively add in ug^2 */
str = y[p_power + ug];
if (str != 0) {
if (str < 0)
len = y[-str + 1];
add_p2string(str, len, cp, pcp);
}
}
}
}
}
}
anupq-3.3.0/src/stages.c 000644 000766 000024 00000005034 14355420571 015361 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A stages.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* begin intermediate stage calculations; descendant_file contains the */
void start_stage(FILE *descendant_file,
int k,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int nmr_of_covers;
FILE *covers_file;
covers_file = TemporaryFile();
nmr_of_covers =
reduced_covers(descendant_file, covers_file, k, auts, pga, pcp);
if (pcp->overflow)
exit(FAILURE);
if (nmr_of_covers != 0) {
RESET(covers_file);
intermediate_stage(descendant_file, covers_file, nmr_of_covers, pga, pcp);
} else
CloseFile(covers_file);
}
/* input_file contains nmr_of_covers reduced p-covering
groups from one intermediate stage of computations;
process all of these, writing new reduced p-covering
groups constructed (if any) to file covers_file;
note that this procedure is called recursively */
void intermediate_stage(FILE *descendant_file,
FILE *input_file,
int nmr_of_covers,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int i;
int ***auts;
int next_stage = 0; /* total number of covers constructed at next stage */
int nmr_of_descendants;
int nmr_of_capables;
int x_dim, y_dim;
FILE *covers_file;
covers_file = TemporaryFile();
for (i = 1; i <= nmr_of_covers; ++i) {
nmr_of_descendants = pga->nmr_of_descendants;
nmr_of_capables = pga->nmr_of_capables;
restore_pcp(input_file, pcp);
auts = restore_pga(input_file, pga, pcp);
x_dim = pga->m;
y_dim = pcp->lastg;
pga->nmr_of_descendants = nmr_of_descendants;
pga->nmr_of_capables = nmr_of_capables;
next_stage +=
reduced_covers(descendant_file, covers_file, 0, auts, pga, pcp);
if (pcp->overflow)
exit(FAILURE);
free_array(auts, x_dim, y_dim, 1);
}
CloseFile(input_file);
if (next_stage != 0) {
RESET(covers_file);
intermediate_stage(descendant_file, covers_file, next_stage, pga, pcp);
} else
CloseFile(covers_file);
}
anupq-3.3.0/src/collect_relations.c 000644 000766 000024 00000004376 14355420571 017610 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collect_relations.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* collect defining relations and solve corresponding equations;
a commutator relation is stored with a negative length */
void collect_relations(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int k;
register int p1;
register int length;
register int cp, cp1, cp2;
register int relp = pcp->relp;
register int ndrel = pcp->ndrel;
register int lastg = pcp->lastg;
for (i = 1; i <= ndrel; ++i) {
/* space is required for two collected parts set up here
and possibly for 5 * pcp->lastg in collect_def_comm */
if (is_space_exhausted(7 * lastg + 7, pcp))
return;
cp1 = pcp->lused;
cp2 = cp1 + lastg;
/* original zero out -- bug reported by John Cannon October 1998 */
/*
for (j = 1; j <= lastg; ++j)
y[cp1 + j] = y[cp2 + j] = 0;
*/
for (j = 1; j <= 2; ++j) {
p1 = y[++relp];
if (p1 != 0) {
cp = (j == 1) ? cp1 : cp2;
/* bug fix */
for (k = 1; k <= lastg; ++k)
y[cp + k] = 0;
length = y[p1];
/* is the relation a word or a commutator? */
if (length > 0)
collect_gen_word(p1, length, cp, pcp);
else if (length < 0) {
/* we may need to update pcp->lused, as space immediately
above it is used in commutator routines */
if (j == 2)
pcp->lused += lastg;
collect_def_comm(p1, cp, pcp);
if (j == 2)
pcp->lused -= lastg;
}
if (!pcp->valid)
return;
}
}
echelon(pcp);
if ((pcp->fullop && pcp->eliminate_flag) || pcp->diagn)
text(1, i, 0, 0, 0);
if (pcp->overflow || pcp->complete != 0)
return;
}
}
anupq-3.3.0/src/degree.c 000644 000766 000024 00000003124 14355420571 015324 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A degree.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "constants.h"
/* compute the number of allowable subgroups;
also, set up powers, offset, and inverses arrays */
void compute_degree(struct pga_vars *pga)
{
register int i;
register int maximum = 0;
pga->Degree = 0;
/* compute degree; store offset for each definition set */
for (i = 0; i < pga->nmr_def_sets; ++i) {
pga->offset[i] = pga->Degree;
/* this is a test to try to prevent integer overflow */
if (int_power(pga->p, pga->available[i]) > (INT_MAX - pga->Degree)) {
text(19, 0, 0, 0, 0);
if (!isatty(0))
exit(FAILURE);
else
return;
}
pga->Degree += int_power(pga->p, pga->available[i]);
if (maximum < pga->available[i])
maximum = pga->available[i];
}
/* store powers of prime */
pga->powers = allocate_vector(maximum + 1, 0, 0);
for (i = 0; i <= maximum; ++i)
pga->powers[i] = int_power(pga->p, i);
/* store inverses of 1 .. p - 1 */
pga->inverse_modp = allocate_vector(pga->p, 0, 0);
for (i = 1; i < pga->p; ++i)
pga->inverse_modp[i] = invert_modp(i, pga->p);
if (pga->print_degree)
printf("Degree of permutation group is %d\n", pga->Degree);
}
anupq-3.3.0/src/standard.c 000644 000766 000024 00000057444 14355420571 015707 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A standard.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "exp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "menus.h"
#include "standard.h"
#if defined(GROUP) && defined(STANDARD_PCP)
static int map_array_size;
static int output;
static void enforce_exp_law(struct pcp_vars *pcp);
static int **start_pga_run(Logical *identity_map,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp);
static int **
group_completed(int ***auts, struct pga_vars *pga, struct pcp_vars *pcp);
static int **finish_pga_run(Logical *identity_map,
FILE *cover_tmp_file,
FILE *group_file,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp);
static int **find_stabiliser(Logical *identity_map,
int non_standard,
int ***auts,
int **perms,
int *a,
int *b,
char *c,
int *orbit_length,
struct pga_vars *pga,
struct pcp_vars *pcp);
static void
trace(char *word_map, int *depth, int label, int *backptr, char *schreier);
static char *find_word(int *word_length,
Logical soluble_group,
int **perms,
int rep,
int non_standard,
int orbit_length,
int *b,
char *c,
struct pga_vars *pga);
static int **standard_map(char *word_map,
int word_length,
Logical *identity_map,
int rep,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp);
static int inverse_image(int l, int *perms, struct pga_vars *pga);
static void list_subgroup(int rep, struct pga_vars *pga, struct pcp_vars *pcp);
/* compute a standard presentation for a group;
this procedure assumes that
-- an arbitrary finite presentation has been
supplied;
-- a standard presentation has been computed
for the class c p-quotient;
-- a presentation for the p-covering group
computed using this standard presentation has
been set up before the call to this procedure;
we will now compute the standard presentation for the
class c + 1 p-quotient */
void standard_presentation(Logical *identity_map,
int standard_output,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int i;
int **map;
#if defined(TIME)
int t;
#endif
output = standard_output;
#if defined(TIME)
t = runTime();
#endif
map = start_pga_run(identity_map, auts, pga, pcp);
if (map == NULL)
return;
#if defined(TIME)
printf("time in start_pga is %.2f\n", (runTime() - t) * CLK_SCALE);
#endif
if (output == MAX_STANDARD_PRINT) {
printf("The standard automorphism is:\n");
for (i = 1; i <= pga->ndgen; ++i) {
printf("%d ---> ", i);
print_array(map[i], 1, pcp->lastg + 1);
}
}
#if defined(DEBUG)
printf("Map identity? %d\n", *identity_map);
#endif
map_relations(map, pga, pcp);
/* memory leakage September 1996 -- originally pcp->lastg */
free_matrix(map, map_array_size, 1);
}
/* enforce the exponent law, if any, on the group */
static void enforce_exp_law(struct pcp_vars *pcp)
{
register int *y = y_address;
struct exp_vars exp_flag;
if (pcp->extra_relations != 0) {
initialise_exponent(&exp_flag, pcp);
extra_relations(&exp_flag, pcp);
/* are there redundant defining generators? if so, be careful
about elimination -- see next_class for further information */
if (pcp->ndgen > y[pcp->clend + 1])
eliminate(TRUE, pcp);
else
eliminate(FALSE, pcp);
}
}
/* commence a partial run of p-group generation in order
to determine the standard presentation for this class */
static int **start_pga_run(Logical *identity_map,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
FILE *cover_file; /* store complete p-cover of group */
FILE *cover_tmp_file; /* store (reduced) p-cover of group */
FILE *group_file; /* store class c + 1 quotient of group */
int **map; /* automorphism to apply to presentation */
#if defined(TIME)
int t = runTime();
#endif
/* save (reduced) p-covering group presentation to temporary file */
cover_tmp_file = TemporaryFile();
save_pcp(cover_tmp_file, pcp);
RESET(cover_tmp_file);
/* we need compute the class c + 1 quotient only on the first
time through or if the map applied to the previous presentation
was not the identity; in these cases, before
computing class c + 1 quotient, restore complete p-cover;
we cannot use the reduced p-cover because a presentation having
redundant generators can cause difficulties with interaction
between update_generators and eliminate */
if (*identity_map == FALSE) {
cover_file = OpenFile("ISOM_cover_file", "r");
restore_pcp(cover_file, pcp);
CloseFile(cover_file);
/* enforce exponent law on complete p-cover */
enforce_exp_law(pcp);
/* now compute the presentation for the class c + 1 quotient */
pcp->multiplicator = FALSE;
update_generators(pcp);
collect_relations(pcp);
eliminate(FALSE, pcp);
if (pcp->overflow || !pcp->valid)
exit(FAILURE);
/* when relations are enforced, the group may complete */
if (pcp->complete) {
map = group_completed(auts, pga, pcp);
*identity_map = TRUE;
CloseFile(cover_tmp_file);
return map;
}
/* save presentation for class c + 1 quotient to file */
group_file = OpenFile("ISOM_group_file", "w+");
save_pcp(group_file, pcp);
} else {
/* we must restore the presentation to correctly determine step size */
group_file = OpenFile("ISOM_group_file", "r");
restore_pcp(group_file, pcp);
}
RESET(group_file);
#if defined(TIME)
t = runTime() - t;
printf("Time to compute class c + 1 is %.2f seconds\n", t * CLK_SCALE);
#endif
/* note step size required for p-group generation */
pga->step_size = pcp->lastg - pcp->ccbeg + 1;
map =
finish_pga_run(identity_map, cover_tmp_file, group_file, auts, pga, pcp);
CloseFile(group_file);
CloseFile(cover_tmp_file);
return map;
}
/* the group has completed when the relations are imposed; we write
necessary files in order to have consistent behaviour pattern */
static int **
group_completed(int ***auts, struct pga_vars *pga, struct pcp_vars *pcp)
{
FILE *NextClass;
FILE *Status;
int i, j, k;
int **standard;
NextClass = OpenFile("ISOM_NextClass", "w+");
fprintf(NextClass, "%d\n", pga->m);
fprintf(NextClass, "%d\n", pcp->lastg);
for (i = 1; i <= pga->m; ++i) {
for (j = 1; j <= pga->ndgen; ++j) {
for (k = 1; k <= pcp->lastg; ++k)
fprintf(NextClass, "%d ", auts[i][j][k]);
fprintf(NextClass, "\n");
}
}
fprintf(NextClass, "%d\n", pga->fixed);
fprintf(NextClass, "%d\n", pga->soluble);
#ifdef HAVE_GMP
mpz_out_str(NextClass, 10, &pga->aut_order);
fprintf(NextClass, "\n");
#endif
CloseFile(NextClass);
Status = OpenFile("ISOM_Status", "w");
fprintf(Status, "%d ", END_OF_CLASS);
fprintf(Status, "%d ", TERMINAL);
CloseFile(Status);
map_array_size = pcp->lastg;
standard = allocate_matrix(pcp->lastg, pcp->lastg, 1, FALSE);
for (i = 1; i <= pga->ndgen; ++i)
for (j = 1; j <= pcp->lastg; ++j)
standard[i][j] = (i == j) ? 1 : 0;
return standard;
}
/* complete pga run to compute standard presentation for this class */
static int **finish_pga_run(Logical *identity_map,
FILE *cover_tmp_file,
FILE *group_file,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int **perms;
FILE *LINK_input = 0;
int k;
int upper_step;
Logical soluble_group;
#if defined(GAP_LINK)
Logical process_fork = FALSE; /* has GAP process forked? */
#endif
int *a;
int *b;
char *c;
int *orbit_length;
int **subgroup_matrix;
int K; /* bit string representation of definition set */
int *subset; /* definition set */
int non_standard; /* label for allowable subgroup defining
non-standard presentation */
int **map; /* automorphism to apply to presentation */
#if defined(TIME)
int t;
#endif
restore_pcp(cover_tmp_file, pcp);
RESET(cover_tmp_file);
#if defined(DEBUG)
printf("Now restore p-covering group\n");
print_presentation(FALSE, pcp);
#endif
pga->exponent_law = pcp->extra_relations;
/*
enforce_laws (pga, pga, pcp);
*/
extend_automorphisms(auts, pga->m, pcp);
/* critical */
/*
read_subgroup_rank (&k);
*/
/* if you want something other than default, change value of k */
k = 0;
step_range(k, &pga->s, &upper_step, auts, pga, pcp);
if (pga->s != upper_step) {
pga->s = upper_step;
/* first, find the valid relative step size, pga->s */
find_allowable_subgroup(
RELATIVE, cover_tmp_file, group_file, &K, &subset, pga, pcp);
}
/* now find allowable subgroup which determines the class c + 1 quotient */
subgroup_matrix = find_allowable_subgroup(
2, cover_tmp_file, group_file, &K, &subset, pga, pcp);
restore_pcp(cover_tmp_file, pcp);
RESET(cover_tmp_file);
#if defined(DEBUG)
printf("Now restore p-covering group\n");
print_presentation(FALSE, pcp);
#endif
#if defined(DEBUG)
printf("Rank of characteristic subgroup is %d\n", pga->q);
#endif
store_definition_sets(pga->r, pga->s, pga->s, pga);
get_definition_sets(pga);
#if defined(DEBUG)
pga->print_degree = TRUE;
#endif
compute_degree(pga);
pga->print_degree = FALSE;
non_standard = subgroup_to_label(subgroup_matrix, K, subset, pga);
/* memory leakage September 1996 */
free_vector(subset, 0);
free_matrix(subgroup_matrix, pga->s, 0);
if (output == MAX_STANDARD_PRINT) {
printf("Non-standard label is %d\n", non_standard);
printf("Required step size is %d\n", pga->step_size);
printf("Relative step size is %d\n", pga->s);
printf("Rank of characteristic subgroup is %d\n", pga->q);
}
strip_identities(auts, pga, pcp);
soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
if (!soluble_group) {
#if defined(GAP_LINK)
if (!process_fork) {
start_GAP_file(auts, pga, pcp);
process_fork = TRUE;
}
StartGapFile(pga);
#elif defined(GAP_LINK_VIA_FILE)
start_GAP_file(&LINK_input, auts, pga, pcp);
#endif
}
#if defined(DEBUG)
/*
pga->print_permutation = TRUE;
*/
#endif
#if defined(TIME)
t = runTime();
#endif
perms = permute_subgroups(LINK_input, &a, &b, &c, auts, pga, pcp);
#if defined(TIME)
t = runTime() - t;
printf("Time to compute permutations is %.2f seconds\n", t * CLK_SCALE);
#endif
orbit_option(STANDARDISE, perms, &a, &b, &c, &orbit_length, pga);
/*
printf ("orbit length is %d \n", orbit_length);
*/
#if defined(GAP_LINK_VIA_FILE)
if (!soluble_group) {
CloseFile(LINK_input);
}
#endif
map = find_stabiliser(identity_map,
non_standard,
auts,
perms,
a,
b,
c,
orbit_length,
pga,
pcp);
if (pga->final_stage && output >= DEFAULT_STANDARD_PRINT) {
printf("\nThe standard presentation for the class %d %d-quotient is\n",
pcp->cc,
pcp->p);
print_presentation(TRUE, pcp);
#ifdef HAVE_GMP
char *s = pga->upper_bound ? "at most " : "";
/* Originally pq checked the whole automorphism group.
* Now it checks only coset reps. of inner automorphisms
* i.e. those auts that are in 1-1 correspondence with outer auts. */
printf("Subset of automorphism group to check has order bound %s", s);
mpz_out_str(stdout, 10, &(pga->aut_order));
printf("\n");
#endif
}
#if defined(GAP_LINK)
if (process_fork)
QuitGap();
#endif
free_space(TRUE, perms, orbit_length, a, b, c, pga);
/* memory leakage September 1996 */
free_vector(pga->list, 0);
free_vector(pga->available, 0);
free_vector(pga->offset, 0);
return map;
}
/* find the stabiliser of the representative of the orbit which
contains the non-standard allowable subgroup */
static int **find_stabiliser(Logical *identity_map,
int non_standard,
int ***auts,
int **perms,
int *a,
int *b,
char *c,
int *orbit_length,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
FILE *Status;
FILE *OutputFile;
Logical soluble_group;
int rep[2];
int length[2];
int **map;
int i;
int word_length = 0;
char *word_map;
#if defined(TIME)
int t = runTime();
#endif
soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
/* what is the orbit representative of non_standard? */
if (soluble_group)
rep[1] = abs(a[non_standard]);
else {
if (a[non_standard] < 0)
rep[1] = pga->rep[abs(a[non_standard])];
else
rep[1] = abs(a[non_standard]);
}
/* find the length of the orbit having this representative */
for (i = 1; i <= pga->nmr_orbits && pga->rep[i] != rep[1]; ++i)
;
if (pga->rep[i] == rep[1]) {
length[1] = orbit_length[i];
if (output == MAX_STANDARD_PRINT)
printf("The non-standard subgroup %d has orbit representative %d\n",
non_standard,
pga->rep[i]);
} else {
printf("%d is not an orbit representative\n", rep[1]);
exit(FAILURE);
}
/*
printf ("True Orbit length is %d\n", length[1]);
*/
word_map = find_word(&word_length,
soluble_group,
perms,
rep[1],
non_standard,
length[1],
b,
c,
pga);
/* now process this representative and find its stabiliser */
OutputFile = OpenFile("ISOM_XX", "w+");
pga->final_stage = (pga->q == pga->multiplicator_rank);
pga->nmr_of_descendants = 0;
pga->nmr_of_capables = 0;
pga->terminal = TRUE;
setup_reps(
rep, 1, length, perms, a, b, c, auts, OutputFile, OutputFile, pga, pcp);
/* now evaluate the action of standard map on pcp */
map = standard_map(
word_map, word_length, identity_map, rep[1], auts, pga, pcp);
#if defined(TIME)
t = runTime() - t;
printf("Time to process representative is %.2f seconds\n", t * CLK_SCALE);
#endif
RESET(OutputFile);
restore_pcp(OutputFile, pcp);
if (!pcp->complete)
last_class(pcp);
Status = OpenFile("ISOM_Status", "w");
if (pga->final_stage)
fprintf(Status, "%d ", END_OF_CLASS);
else
fprintf(Status, "%d ", MIDDLE_OF_CLASS);
if (pcp->newgen == 0)
fprintf(Status, "%d ", TERMINAL);
else
fprintf(Status, "%d ", CAPABLE);
CloseFile(Status);
CloseFile(OutputFile);
return map;
}
void trace(char *word_map, int *depth, int label, int *backptr, char *schreier)
{
if (schreier[label] != 0) {
word_map[++*depth] = schreier[label];
trace(word_map, depth, backptr[label], backptr, schreier);
}
}
/* find word in defining permutations which maps orbit representative to label;
store each component of the word of length word_length in array word */
static char *find_word(int *word_length,
Logical soluble_group,
int **perms,
int rep,
int non_standard,
int orbit_length,
int *b,
char *c,
struct pga_vars *pga)
{
int perm_number;
char *word_map;
char *word_perm;
int i, l;
char *d;
char temp;
word_map = allocate_char_vector(orbit_length, 1, FALSE);
/* we store word which maps non-standard label to orbit representative;
in image_of_generator, the word is evaluated starting from the
last letter -- hence after computing the word, we reverse it */
if (soluble_group) {
d = find_permutation(b, c, pga);
l = non_standard;
while (l != rep) {
word_map[++*word_length] = d[l];
if ((perm_number = pga->map[(int)d[l]]) != 0)
l = inverse_image(l, perms[perm_number], pga);
}
/* reverse word */
for (i = 1; i <= *word_length / 2; ++i) {
temp = word_map[i];
word_map[i] = word_map[*word_length - i + 1];
word_map[*word_length - i + 1] = temp;
}
free_char_vector(d, 1);
} else {
word_perm = allocate_char_vector(orbit_length, 1, FALSE);
trace(word_perm, word_length, non_standard, b, c);
for (i = 1; i <= *word_length; ++i)
word_map[i] = preimage(word_perm[*word_length - i + 1], pga);
free_char_vector(word_perm, 1);
}
return word_map;
}
/* compute the automorphism which maps the non-standard subgroup,
non_standard, to the orbit representative, rep; the word and
its length are supplied as word_map and word_length */
static int **standard_map(char *word_map,
int word_length,
Logical *identity_map,
int rep,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int nmr_of_generators = y[pcp->clend + pcp->cc - 1] + pga->s;
register int pointer = pcp->lused + 1;
int cp = pcp->lused;
int **standard;
int i, j;
/* copy the word into y */
for (i = 1; i <= word_length; ++i)
y[pointer + i] = word_map[i];
free_char_vector(word_map, 1);
y[pointer] = word_length;
#if defined(DEBUG)
printf("The word is ");
print_array(y, pointer, pointer + word_length + 1);
#endif
pcp->lused += word_length + 1;
cp = pcp->lused;
map_array_size = pcp->lastg;
standard = allocate_matrix(pcp->lastg, nmr_of_generators, 1, FALSE);
if (word_length == 0) {
for (i = 1; i <= pga->ndgen; ++i)
for (j = 1; j <= nmr_of_generators; ++j)
standard[i][j] = (i == j) ? 1 : 0;
*identity_map = TRUE;
} else {
for (i = 1; i <= pga->ndgen; ++i) {
/* compute image of defining generator i under standard map */
image_of_generator(i, pointer, auts, pga, pcp);
/* copy restriction of result into standard array */
for (j = 1; j <= nmr_of_generators; ++j) {
standard[i][j] = y[cp + j];
}
}
*identity_map = FALSE;
}
y[pointer] = 0;
if (!pga->final_stage)
list_subgroup(rep, pga, pcp);
return standard;
}
/* find the image of l under the inverse of the supplied permutation */
static int inverse_image(int l, int *perms, struct pga_vars *pga)
{
register int i;
for (i = 1; i <= pga->Degree && perms[i] != l; ++i)
;
return i;
}
/* write a description of the automorphism group of the
group presented by the standard presentation to file */
void print_aut_description(int ***central,
int ***stabiliser,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
FILE *NextClass;
int i, j, k;
NextClass = OpenFile("ISOM_NextClass", "w+");
fprintf(NextClass, "%d\n", pga->nmr_centrals + pga->nmr_stabilisers);
fprintf(NextClass, "%d\n", pcp->lastg);
for (i = 1; i <= pga->nmr_centrals; ++i) {
for (j = 1; j <= pga->ndgen; ++j) {
for (k = 1; k <= pcp->lastg; ++k)
fprintf(NextClass, "%d ", central[i][j][k]);
fprintf(NextClass, "\n");
}
}
for (i = 1; i <= pga->nmr_stabilisers; ++i)
for (j = 1; j <= pga->ndgen; ++j) {
for (k = 1; k <= pcp->lastg; ++k)
fprintf(NextClass, "%d ", stabiliser[i][j][k]);
fprintf(NextClass, "\n");
}
fprintf(NextClass, "%d\n", pga->fixed);
fprintf(NextClass, "%d\n", pga->soluble);
#ifdef HAVE_GMP
mpz_out_str(NextClass, 10, &pga->aut_order);
fprintf(NextClass, "\n");
#endif
CloseFile(NextClass);
}
/* list orbit representative as generators of subgroup to
factor from p-covering group */
static void list_subgroup(int rep, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int lastg = pcp->lastg;
register int i, j, k;
FILE *Subgroup;
int word[MAXWORD];
int *subset;
int **S;
int index;
int length = 0;
if (pga->s == pga->q)
return;
Subgroup = OpenFile("ISOM_Subgroup", "a+");
S = label_to_subgroup(&index, &subset, rep, pga);
#if defined(DEBUG)
printf("The standard matrix is\n");
print_matrix(S, pga->s, pga->q);
#endif
for (i = 0; i < pga->q; ++i) {
if (1 << i & pga->list[index])
continue;
for (j = 1; j <= lastg; ++j)
word[j] = 0;
for (j = 0; j < pga->s; ++j)
if (S[j][i] != 0)
word[pcp->ccbeg + subset[j]] = pga->p - S[j][i];
word[pcp->ccbeg + i] = 1;
#if defined(DEBUG)
printf("The subgroup generator is ");
print_array(word, pcp->ccbeg, pcp->ccbeg + pga->q);
#endif
length = 0;
for (k = pcp->ccbeg; k <= lastg; ++k)
if (word[k] != 0)
++length;
fprintf(Subgroup, "%d\n", COLLECT);
for (k = pcp->ccbeg; k <= lastg; ++k) {
if (word[k] != 0) {
fprintf(Subgroup, "x%d^%d", k, word[k]);
if (--length != 0)
fprintf(Subgroup, " * ");
}
}
fprintf(Subgroup, ";\n");
}
/* memory leakage September 1996 */
free_matrix(S, pga->s, 0);
free_vector(subset, 0);
/* write out flag to indicate that we should now eliminate
redundant generators */
fprintf(Subgroup, "%d\n", ELIMINATE);
CloseFile(Subgroup);
}
/* for each automorphism in turn, read its actions on each
of the pcp generators of the Frattini quotient */
int ***read_auts_from_file(FILE *file, int *nmr_of_auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, k;
int ***auts;
int nmr_of_exponents, nmr_of_generators;
int nmr_items;
nmr_items = fscanf(file, "%d", nmr_of_auts);
verify_read(nmr_items, 1);
nmr_items = fscanf(file, "%d", &nmr_of_exponents);
verify_read(nmr_items, 1);
nmr_of_generators = y[pcp->clend + 1];
auts = allocate_array(*nmr_of_auts, pcp->lastg, pcp->lastg, TRUE);
for (i = 1; i <= *nmr_of_auts; ++i) {
for (j = 1; j <= nmr_of_generators; ++j) {
for (k = 1; k <= nmr_of_exponents; ++k)
nmr_items = fscanf(file, "%d", &auts[i][j][k]);
verify_read(nmr_items, 1);
}
}
return auts;
}
#endif
anupq-3.3.0/src/setup_reps.c 000644 000766 000024 00000016455 14355420571 016275 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A setup_reps.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "global.h"
#include "standard.h"
/* factor out the allowable subgroups whose labels are listed
in the array reps; assemble the necessary automorphism
information and save the descriptions to file */
void setup_reps(int *reps,
int nmr_of_reps,
int *orbit_length,
int **perms,
int *a,
int *b,
char *c,
int ***auts,
FILE *descendant_file,
FILE *covers_file,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
char *d = 0; /* used in stabiliser computation */
FILE *tmp_file;
struct pga_vars original; /* copy of pga structure */
register int i;
Logical soluble_group; /* indicates that stabilisers may
be computed using soluble machinery */
#ifdef HAVE_GMP
MP_INT original_aut; /* copy of automorphism order */
#endif
soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
tmp_file = TemporaryFile();
save_pcp(tmp_file, pcp);
if (soluble_group) {
d = find_permutation(b, c, pga);
if (pga->print_stabiliser_array) {
printf("The array D is \n");
print_chars(d, 1, pga->nmr_subgroups + 1);
}
}
#ifdef HAVE_GMP
/* first record current automorphism group order */
mpz_init_set(&original_aut, &pga->aut_order);
mpz_clear(&pga->aut_order);
#endif
/* keep copy of pga */
original = *pga;
#ifdef HAVE_GMP
/* now reset automorphism order in pga */
mpz_init_set(&pga->aut_order, &original_aut);
#endif
for (i = 1; i <= nmr_of_reps; ++i) {
pga->fixed = pga->s;
if (pga->final_stage) {
++original.nmr_of_descendants;
update_name(pcp->ident, original.nmr_of_descendants, pga->s);
}
process_rep(perms,
a,
b,
c,
d,
auts,
reps[i],
orbit_length[i],
tmp_file,
descendant_file,
covers_file,
pga,
pcp);
if (pga->final_stage && pga->capable) {
++original.nmr_of_capables;
if (pga->trace)
printf("Capable group #%d\n", original.nmr_of_capables);
}
/* revert to original pga structure */
if (!StandardPresentation) {
#ifdef HAVE_GMP
mpz_clear(&pga->aut_order);
#endif
*pga = original;
#ifdef HAVE_GMP
mpz_init_set(&pga->aut_order, &original_aut);
#endif
}
}
if (soluble_group)
free(++d);
#ifdef HAVE_GMP
mpz_clear(&original_aut);
#endif
CloseFile(tmp_file);
}
/* process orbit representative; if reduced p-covering group,
save description to covers_file, otherwise to descendant file */
void process_rep(int **perms,
int *a,
int *b,
char *c,
char *d,
int ***auts,
int rep,
int orbit_length,
FILE *tmp_file,
FILE *descendant_file,
FILE *covers_file,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int index;
int *subset;
int ***central = 0;
int ***stabiliser = 0;
int **S = 0;
int *seq = 0;
FILE *file = 0;
FILE *GAP_library = 0;
int lused, rank_of_cover;
/* construct the presentation for the descendant and
assemble the necessary automorphism information */
S = label_to_subgroup(&index, &subset, rep, pga);
if (pga->print_subgroup) {
printf("The standard matrix for the allowable subgroup is:\n");
print_matrix(S, pga->s, pga->q);
}
factorise_subgroup(S, index, subset, pga, pcp);
free_matrix(S, pga->s, 0);
free_vector(subset, 0);
if ((pga->print_group && pga->final_stage) || pga->print_reduced_cover) {
print_presentation(FALSE, pcp);
print_structure(1, pcp->lastg, pcp);
print_pcp_relations(pcp);
printf("\n");
}
if (pga->final_stage) {
central = immediate_descendant(descendant_file, pga, pcp);
/* should we write a compact description to file? */
if ((pga->capable || pga->terminal) &&
(Compact_Description == TRUE &&
(Compact_Order <= pcp->lastg || Compact_Order == 0))) {
seq = compact_description(TRUE, pcp);
free_vector(seq, 1);
}
/* should we write a description of group to GAP file? */
if (pga->capable || pga->terminal) {
if (Group_library == GAP_LIBRARY) {
if (Group_library_file != NULL)
GAP_library = OpenFile(Group_library_file, "a+");
else
GAP_library = OpenFile("GAP_library", "a+");
write_GAP_library(GAP_library, pcp);
CloseFile(GAP_library);
}
}
/* if the group is not capable and we do not want to
process terminal groups, we are finished */
if (!pga->capable && !pga->terminal) {
/* first restore the original p-covering group */
RESET(tmp_file);
restore_pcp(tmp_file, pcp);
return;
}
} else {
save_pcp(covers_file, pcp);
/* if characteristic subgroup in nucleus, revise the nuclear rank */
if (pga->s < pcp->newgen)
pcp->newgen = pga->nuclear_rank + pga->s - pga->q;
set_values(pga, pcp);
pga->nmr_centrals = 0;
}
#ifdef HAVE_GMP
update_autgp_order(orbit_length, pga, pcp);
#endif
/* restore the original p-covering group before computing stabiliser */
RESET(tmp_file);
restore_pcp(tmp_file, pcp);
/* note following information before computing stabiliser */
rank_of_cover = pcp->lastg;
lused = pcp->lused;
stabiliser =
stabiliser_of_rep(perms, rep, orbit_length, a, b, c, d, auts, pga, pcp);
#ifdef HAVE_GMP
if (pga->final_stage)
report_autgp_order(pga, pcp);
#endif
if (pga->final_stage && (pga->capable || pga->terminal)) {
if (Group_library == GAP_LIBRARY) {
GAP_library = OpenFile("GAP_library", "a+");
GAP_auts(GAP_library, central, stabiliser, pga, pcp);
CloseFile(GAP_library);
}
}
if (pga->final_stage) {
if (StandardPresentation)
pga->fixed = 0;
else
initialise_pga(pga, pcp);
pga->step_size = 0;
}
/* save structure + automorphism information */
file = (pga->final_stage ? descendant_file : covers_file);
save_pga(file, central, stabiliser, pga, pcp);
#if defined(GROUP)
#if defined(STANDARD_PCP)
if (StandardPresentation)
print_aut_description(central, stabiliser, pga, pcp);
#endif
#endif
if (pga->nmr_centrals != 0)
free_array(central, pga->nmr_centrals, pga->ndgen, 1);
if (pga->nmr_stabilisers != 0) {
free_array(stabiliser, pga->nmr_stabilisers, pga->ndgen, 1);
}
pcp->lastg = rank_of_cover;
pcp->lused = lused;
}
anupq-3.3.0/src/exponent_info.c 000644 000766 000024 00000006253 14355420571 016752 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A exponent_info.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "exp_vars.h"
#include "pq_functions.h"
/* read information for exponent checking */
void exponent_info(struct exp_vars *exp_flag, struct pcp_vars *pcp)
{
Logical reading = TRUE;
Logical Default;
read_value(TRUE, "Accept default exponent checking? ", &Default, INT_MIN);
if (Default) {
exp_flag->list = (pcp->m == 0) ? ALL_WORDS : REDUCED_LIST;
exp_flag->process = TRUE;
exp_flag->complete = FALSE;
exp_flag->partitions = FALSE;
exp_flag->filter = FALSE;
exp_flag->start_process = 0;
exp_flag->report_unit = 0;
exp_flag->word_list = FALSE;
exp_flag->all_trivial = TRUE;
exp_flag->check_exponent = FALSE;
return;
}
while (reading) {
read_value(TRUE,
"Complete list (1), reduced list (2), or word list (3)? ",
&exp_flag->list,
1);
reading =
!(exp_flag->list == ALL_WORDS || exp_flag->list == REDUCED_LIST ||
exp_flag->list == INITIAL_SEGMENT);
if (reading)
printf("Supplied value must be one of %d, %d, or %d\n",
ALL_WORDS,
REDUCED_LIST,
INITIAL_SEGMENT);
}
read_value(TRUE,
"Power valid words and echelonise results? ",
&exp_flag->process,
INT_MIN);
if (exp_flag->process) {
read_value(TRUE,
"Input number of the first valid word to process? ",
&exp_flag->start_process,
0);
read_value(TRUE,
"Report after collecting how many words (0 for no report)? ",
&exp_flag->report_unit,
0);
} else {
exp_flag->start_process = 0;
exp_flag->report_unit = 0;
}
read_value(TRUE,
"Print list prior to applying filters? ",
&exp_flag->complete,
INT_MIN);
read_value(TRUE,
"Identify filter applied to remove word? ",
&exp_flag->filter,
INT_MIN);
read_value(TRUE,
"Write list of test words to relation file? ",
&exp_flag->word_list,
INT_MIN);
exp_flag->partitions = FALSE;
}
/* default exponent flag settings */
void initialise_exponent(struct exp_vars *exp_flag, struct pcp_vars *pcp)
{
int length;
exp_flag->list = ALL_WORDS;
exp_flag->process = TRUE;
exp_flag->complete = FALSE;
exp_flag->partitions = FALSE;
exp_flag->filter = FALSE;
exp_flag->start_process = 0;
exp_flag->report_unit = 0;
exp_flag->word_list = FALSE;
exp_flag->all_trivial = TRUE;
exp_flag->check_exponent = FALSE;
if (pcp->m != 0) {
length = MAX(1, pcp->lastg - pcp->ccbeg + 1);
exp_flag->queue = allocate_vector(length, 1, FALSE);
exp_flag->queue_length = 0;
}
}
anupq-3.3.0/src/exponent_auts.c 000644 000766 000024 00000011705 14355420571 016771 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A exponent_auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* save description of automorphisms used in exponent checking to file */
void save_auts(FILE *ofp, int *head, int *list, struct pcp_vars *pcp)
{
register int alpha;
register int offset;
register int required_offset;
register int prev = 0;
register int m = pcp->m;
register int required_ptr, stored_ptr;
int required_length, stored_length;
register int original, diff;
register int j;
int list_length;
int retain;
int nmr_items;
int *copy_head;
/* the action on more than lastg generators may be stored in
list; if this is the case, establish how many entries from
the array list must be stored in order to retain the
description of the automorphisms on lastg generators */
original = head[0];
if (head[0] > pcp->lastg) {
copy_head = allocate_vector(pcp->lastg * m + 1, 0, FALSE);
list_length = 0;
retain = pcp->lastg;
diff = 0;
for (alpha = 1; alpha <= m; ++alpha) {
offset = (alpha - 1) * original;
required_offset = (alpha - 1) * retain;
for (j = 1; j <= retain; ++j)
copy_head[required_offset + j] = head[offset + j] - diff;
required_ptr = head[offset + retain];
stored_ptr = head[offset + original];
stored_length = stored_ptr + list[stored_ptr + 1] + 1 - prev;
required_length = required_ptr + list[required_ptr + 1] + 1 - prev;
diff += stored_length - required_length;
list_length += required_length;
prev += stored_length;
}
} else {
copy_head = head;
retain = head[0];
list_length = list[0];
}
prev = 0;
nmr_items = fwrite(&retain, sizeof(int), 1, ofp);
verify_read(nmr_items, 1);
nmr_items = fwrite(&list_length, sizeof(int), 1, ofp);
verify_read(nmr_items, 1);
for (alpha = 1; alpha <= m; ++alpha) {
offset = (alpha - 1) * original;
required_offset = (alpha - 1) * retain;
nmr_items =
fwrite(copy_head + required_offset + 1, sizeof(int), retain, ofp);
verify_read(nmr_items, retain);
required_ptr = head[offset + retain];
stored_ptr = head[offset + original];
stored_length = stored_ptr + list[stored_ptr + 1] + 1 - prev;
required_length = required_ptr + list[required_ptr + 1] + 1 - prev;
nmr_items = fwrite(&required_length, sizeof(int), 1, ofp);
verify_read(nmr_items, 1);
nmr_items = fwrite(list + prev + 1, sizeof(int), required_length, ofp);
verify_read(nmr_items, required_length);
prev += stored_length;
}
if (original != retain)
free_vector(copy_head, 0);
RESET(ofp);
}
/* restore automorphisms used in exponent checking from file ifp;
nmr_saved = nmr of generators whose images have been saved to file;
retain = nmr of generators whose images are to be retained;
new_index = index of last used position in array list */
int restore_auts(FILE *ifp,
int offset,
int nmr_saved,
int retain,
int *new_index,
int *head,
int *list)
{
int alpha_length; /* length of the automorphism description */
int i, add;
int nmr_items;
nmr_items = fread(head + offset + 1, sizeof(int), nmr_saved, ifp);
verify_read(nmr_items, nmr_saved);
add = *new_index - head[offset + 1];
for (i = 1; i <= nmr_saved; ++i)
head[offset + i] += add;
nmr_items = fread(&alpha_length, sizeof(int), 1, ifp);
verify_read(nmr_items, 1);
nmr_items = fread(list + *new_index + 1, sizeof(int), alpha_length, ifp);
verify_read(nmr_items, alpha_length);
*new_index = head[offset + retain] + list[head[offset + retain] + 1] + 1;
return alpha_length;
}
/* restore automorphisms used in exponent checking from file */
void
restore_automorphisms(FILE *ifp, int **head, int **list, struct pcp_vars *pcp)
{
int new_index = 0;
int offset;
register int alpha;
int nmr_saved;
int list_length;
int retain;
int nmr_items;
nmr_items = fread(&nmr_saved, sizeof(int), 1, ifp);
verify_read(nmr_items, 1);
nmr_items = fread(&list_length, sizeof(int), 1, ifp);
verify_read(nmr_items, 1);
*head = allocate_vector(nmr_saved * pcp->m + 1, 0, FALSE);
(*head)[0] = nmr_saved;
*list = allocate_vector(list_length + 1, 0, FALSE);
(*list)[0] = list_length;
retain = MIN(pcp->lastg, nmr_saved);
for (alpha = 1; alpha <= pcp->m; ++alpha) {
offset = (alpha - 1) * retain;
restore_auts(ifp, offset, nmr_saved, retain, &new_index, *head, *list);
}
(*head)[0] = retain;
printf("Automorphisms read from file\n");
}
anupq-3.3.0/src/TemporaryFile.c 000644 000766 000024 00000001402 14355420571 016650 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A TemporaryFile.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pq_functions.h"
#include "constants.h"
/* set up a temporary file and return an appropriate FILE * indicator;
if in Unix environment, open temporary file in directory specified
by value of environment variable TMPDIR, else on /var/tmp */
FILE *TemporaryFile(void)
{
FILE *file = tmpfile();
if (file == NULL) {
perror("Cannot open temporary file");
exit(FAILURE);
}
return file;
}
anupq-3.3.0/src/stabiliser.c 000644 000766 000024 00000030441 14355420571 016234 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A stabiliser.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "constants.h"
/*static int ***setup_identity_auts (int nmr_of_generators, int ***auts, struct
* pga_vars *pga);*/
static void evaluate_generators(int pointer,
int nmr_of_generators,
int ***stabiliser,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp);
/* find the stabiliser of the representative, rep;
all of the permutations are stored in perms;
nmr_of_generators is the number of pcp generators in the descendant */
int ***stabiliser_of_rep(int **perms,
int rep,
int orbit_length,
int *a,
int *b,
char *c,
char *d,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int ***stabiliser = 0;
int pointer = pcp->lused + 1;
Logical soluble_group =
(pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
int nmr_of_generators;
int restriction;
int j;
int *relative;
nmr_of_generators = pga->final_stage ? y[pcp->clend + pcp->cc - 1] + pga->s
: pcp->lastg + pga->s - pga->q;
pga->nmr_stabilisers = 0;
/* if necessary, compute the stabiliser of the representative
in the insoluble portion using a system call to GAP --
this is done before setting up the remainder of the automorphisms
to minimise the size of the workspace created by the system call */
if (!soluble_group) {
#if defined(GAP_LINK) || defined(GAP_LINK_VIA_FILE)
insoluble_stab_gens(rep, orbit_length, pga, pcp);
#else
printf("To compute stabilisers in insoluble automorphism groups, ");
printf("you must compile pq\nwith the compiler flag GAP_LINK set\n");
exit(FAILURE);
#endif
}
/* determine the generators for the stabiliser if soluble */
if (soluble_group) {
stabiliser_generators(perms, rep, a, b, c, d, auts, pga, pcp);
/* allocate space for stabiliser */
stabiliser = allocate_array(
pga->nmr_stabilisers, pga->ndgen, nmr_of_generators, TRUE);
/* construct the generators of the stabiliser in the soluble group
as automorphisms */
if (pga->nmr_stabilisers != 0 && soluble_group) {
restriction = pga->final_stage ? y[pcp->clend + pcp->cc - 1] + pga->s
: y[pcp->clend + pcp->cc - 1];
evaluate_generators(pointer, restriction, stabiliser, auts, pga, pcp);
}
} else {
/* read in the generators of the stabiliser in the insoluble case --
these were computed using GAP */
#if defined(GAP_LINK) || defined(GAP_LINK_VIA_FILE)
stabiliser =
read_stabiliser_gens(nmr_of_generators, stabiliser, pga, pcp);
#endif
}
pcp->lastg = nmr_of_generators;
if (pga->final_stage) {
/* include relative orders for central generators */
relative = allocate_vector(pga->nmr_soluble + pga->nmr_centrals, 1, 0);
for (j = pga->nmr_soluble; j >= 1; --j)
relative[pga->nmr_centrals + j] = pga->relative[j];
for (j = 1; j <= pga->nmr_centrals; ++j)
relative[j] = pga->p;
/* free_vector (pga->relative, 1); */
pga->relative = relative;
pga->nmr_soluble += pga->nmr_centrals;
}
if (pga->print_automorphisms && pga->final_stage) {
/*
if (pga->print_automorphisms) {
*/
printf("Number of stabiliser generators is %d\n", pga->nmr_stabilisers);
print_auts(pga->nmr_stabilisers, pga->ndgen, stabiliser, pcp);
}
pga->m = pga->nmr_centrals + pga->nmr_stabilisers;
return stabiliser;
}
/* find generators for the stabiliser for orbit representative, rep;
store each word in y, preceded by its length */
void stabiliser_generators(int **perms,
int rep,
int *a,
int *b,
char *c,
char *d,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int alpha, k, next;
register int word_length;
register int pointer = pcp->lused + 1;
int index;
int perm_number;
/* let k run over the elements of orbit with representative rep;
if c[k] >= 2, then some permutation did not extend the orbit of k;
hence, there is some product of subsequent permutations which
stabilises the representative a[k] */
k = rep;
while (k != 0) {
if (c[k] >= 2) {
for (alpha = d[k] + 1; alpha <= d[k] + c[k] - 1; ++alpha) {
++pga->nmr_stabilisers;
word_length = 1;
y[pointer + word_length] = alpha;
/* does automorphism alpha induce a trivial permutation? */
if ((perm_number = pga->map[alpha]) == 0)
next = a[k];
else {
next = pga->space_efficient
? find_image(a[k], auts[alpha], pga, pcp)
: perms[perm_number][a[k]];
}
while (next != a[k]) {
index = d[next];
++word_length;
y[pointer + word_length] = index;
if ((perm_number = pga->map[index]) != 0) {
next = pga->space_efficient
? find_image(next, auts[index], pga, pcp)
: perms[perm_number][next];
}
}
y[pointer] = word_length;
pointer += word_length + 1;
}
}
k = b[k];
}
pcp->lused = pointer;
}
/* evaluate the action of a stabiliser of a representative on the
defining generators of the group; each stabiliser generator is
stored as a word in the automorphisms, auts, of the parent, where
y[pointer] = length of word defining first generator */
static void evaluate_generators(int pointer,
int nmr_of_generators,
int ***stabiliser,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j;
register int gamma;
int cp = pcp->lused;
for (gamma = 1; gamma <= pga->nmr_stabilisers; ++gamma) {
for (i = 1; i <= pga->ndgen; ++i) {
/* compute image of defining generator i
under generator gamma of stabiliser */
image_of_generator(i, pointer, auts, pga, pcp);
/* copy restriction of result into stabiliser array */
for (j = 1; j <= nmr_of_generators; ++j)
stabiliser[gamma][i][j] = y[cp + j];
}
pointer += y[pointer] + 1;
}
}
/* compute the image of group generator under a stabiliser generator,
whose definition as a word in the automorphisms, auts, of the parent
is stored at y[pointer + 1], .., y[pointer + y[pointer]] */
void image_of_generator(int generator,
int pointer,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, k, l;
register int alpha, letter;
register int length, exp;
int cp = pcp->lused;
int ptr = cp + pcp->lastg;
int nmr_of_letters = y[pointer];
register int bound;
/* alpha is the last letter in the stabiliser generator word */
alpha = y[pointer + nmr_of_letters];
/* set up the image of gen under the action of alpha at cp */
for (i = 1; i <= pcp->lastg; ++i)
y[cp + i] = auts[alpha][generator][i];
/* for each remaining letter in the generator word, set up as a
word its action on each of the elements of the image under alpha */
for (letter = nmr_of_letters - 1; letter >= 1; --letter) {
alpha = y[pointer + letter];
/* set up image under alpha */
length = 0;
for (i = 1; i <= pcp->lastg; ++i) {
if ((exp = y[cp + i]) > 0) {
/* set up exp copies of the image of generator i under
action of automorphism alpha */
for (j = 1; j <= exp; ++j) {
for (k = 1; k <= pcp->lastg; ++k) {
bound = auts[alpha][i][k];
for (l = 1; l <= bound; ++l) {
++length;
y[ptr + length] = k;
}
}
}
}
}
/* now zero out previous result */
for (i = 1; i <= pcp->lastg; ++i)
y[cp + i] = 0;
/* now collect the result of the composition of maps so far to cp */
for (l = 1; l <= length; ++l)
collect(y[ptr + l], cp, pcp);
}
}
/* find which automorphism, alpha, induces the permutation with index perm */
int preimage(int perm, struct pga_vars *pga)
{
int alpha;
for (alpha = 1; alpha <= pga->m; ++alpha)
if (pga->map[alpha] == perm)
return alpha;
printf("*** Error in function preimage ***\n");
exit(FAILURE);
}
/* set up those automorphisms which induced the identity on the
p-multiplicator as the leading elements of the stabiliser */
/*
static int ***setup_identity_auts (int nmr_of_generators, int ***auts, struct
pga_vars *pga)
{
int alpha, i = 0, j, k;
int ***stabiliser;
stabiliser = allocate_array (pga->nmr_stabilisers, pga->ndgen,
nmr_of_generators, TRUE);
for (alpha = 1; alpha <= pga->m; ++alpha) {
if (pga->map[alpha] == 0) {
++i;
for (j = 1; j <= pga->ndgen; ++j)
for (k = 1; k <= nmr_of_generators; ++k)
stabiliser[i][j][k] = auts[alpha][j][k];
}
}
return stabiliser;
}
*/
#if defined(GAP_LINK_VIA_FILE)
/* read the insoluble stabiliser generators from LINK file;
each list of stabilisers is preceded by a list of integers --
the first indicates whether the stabiliser is soluble;
the second is the number of soluble generators for the stabiliser;
for each soluble generator, its relative order is now listed;
finally the total number of generators is listed */
int ***read_stabiliser_gens(int nmr_of_generators,
int ***soluble_generators,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int ndgen = pga->ndgen;
register int gamma, i, j;
FILE *LINK_output;
int ***stabiliser;
int nmr_items;
int temp;
LINK_output = OpenFileInput("LINK_output");
nmr_items = fscanf(LINK_output, "%d", &pga->soluble);
verify_read(nmr_items, 1);
nmr_items = fscanf(LINK_output, "%d", &pga->nmr_soluble);
verify_read(nmr_items, 1);
pga->relative = allocate_vector(pga->nmr_soluble, 1, 0);
for (j = 1; j <= pga->nmr_soluble; ++j) {
nmr_items = fscanf(LINK_output, "%d", &temp);
verify_read(nmr_items, 1);
pga->relative[j] = temp;
}
nmr_items = fscanf(LINK_output, "%d", &pga->nmr_stabilisers);
verify_read(nmr_items, 1);
#ifdef DEBUG1
printf("Nmr of soluble gens for stabiliser is %d\n", pga->nmr_soluble);
printf("FROM GAP Relative orders are ");
for (i = 1; i <= pga->nmr_soluble; ++i)
printf("%d ", pga->relative[i]);
printf("\n");
printf("Total Nmr of gens for stabiliser is %d\n", pga->nmr_stabilisers);
#endif
stabiliser =
allocate_array(pga->nmr_stabilisers, ndgen, nmr_of_generators, TRUE);
/* now read in the insoluble generators */
for (gamma = 1; gamma <= pga->nmr_stabilisers; ++gamma)
for (i = 1; i <= ndgen; ++i)
for (j = 1; j <= pcp->ccbeg - 1; ++j) {
nmr_items = fscanf(LINK_output, "%d", &stabiliser[gamma][i][j]);
verify_read(nmr_items, 1);
}
CloseFile(LINK_output);
return stabiliser;
}
#endif
anupq-3.3.0/src/pgroup.c 000644 000766 000024 00000014232 14355420571 015407 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A pgroup.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "menus.h"
#include "pq_functions.h"
#include "standard.h"
#if defined(CARANTI)
#define CARANTI_DISPLAY 7
#define MAX_PGA_OPTION 8
#else
#define MAX_PGA_OPTION 7
#endif
/* coordinating routine for the pgroup generation part of the program;
group_present flag indicates whether a group description has
been constructed or restored in previous menu */
void pgroup_generation(Logical *group_present, struct pcp_vars *pcp)
{
register int *y = y_address;
struct pga_vars pga;
struct pga_vars flag;
int option = 0;
int subgroup_rank = 0;
// EVIL HACK: preserve StartName across invocations of this function.
// Fixes https://github.com/gap-packages/anupq/issues/26
static char *StartName = 0;
FILE *StartFile = 0;
int ***auts = 0;
int t;
int group_nmr = 1;
int *step_sequence = NULL;
int class_bound, order_bound;
int nmr_of_exponents;
Logical new_group = FALSE;
StandardPresentation = FALSE;
initialise_pga(&pga, pcp);
pga.m = 0;
pga.nmr_soluble = 0;
if (*group_present) {
pga.ndgen = y[pcp->clend + 1];
set_values(&pga, pcp);
/* it's possible that the complete flag may be set */
pcp->complete = FALSE;
}
list_pga_menu();
do {
option = read_option(MAX_PGA_OPTION);
switch (option) {
case -1:
list_pga_menu();
break;
case SUPPLY_AUTOMORPHISMS:
auts = read_auts(PGA, &pga.m, &nmr_of_exponents, pcp);
#ifdef HAVE_GMP
autgp_order(&pga, pcp);
#endif
new_group = TRUE;
read_value(
TRUE,
"Input number of soluble generators for automorphism group: ",
&pga.nmr_soluble,
INT_MIN);
if (pga.nmr_soluble > 0) {
int k;
pga.relative = allocate_vector(pga.nmr_soluble, 1, FALSE);
for (k = 1; k <= pga.nmr_soluble; ++k) {
printf("Input relative order of soluble generator %d: ", k);
read_value(TRUE, "", &pga.relative[k], 0);
}
}
start_group(&StartFile, auts, &pga, pcp);
break;
case EXTEND_AUTOMORPHISMS:
extend_automorphisms(auts, pga.m, pcp);
print_auts(pga.m, pcp->lastg, auts, pcp);
break;
case RESTORE_GROUP:
StartName = GetString("Enter input file name: ");
StartFile = OpenFileInput(StartName);
new_group = FALSE;
if (StartFile != NULL) {
read_value(TRUE, "Which group? ", &group_nmr, 0);
auts = restore_group(TRUE, StartFile, group_nmr, &pga, pcp);
RESET(StartFile);
*group_present = TRUE;
}
CloseFile(StartFile);
break;
case DISPLAY_GROUP:
print_presentation(FALSE, pcp);
print_structure(1, pcp->lastg, pcp);
print_pcp_relations(pcp);
break;
case ITERATION:
t = runTime();
/* it's possible that the complete flag may be set */
pcp->complete = FALSE;
if (pcp->newgen == 0) {
--pcp->cc;
print_group_details(&pga, pcp);
invalid_group(pcp);
if (!isatty(0))
exit(FAILURE);
} else {
if (new_group)
start_group(&StartFile, auts, &pga, pcp);
else
StartFile = OpenFile(StartName, "r");
/*
free_array (auts, pga.m, pcp->lastg, 1);
*/
pga.nmr_of_perms = pga.m;
iteration_information(&subgroup_rank,
&flag,
&class_bound,
&order_bound,
&step_sequence,
&pga,
pcp);
iteration(1,
step_sequence,
subgroup_rank,
&flag,
StartFile,
group_nmr,
class_bound,
order_bound,
&pga,
pcp);
if (!new_group) {
StartFile = OpenFile(StartName, "r");
auts = restore_group(TRUE, StartFile, group_nmr, &pga, pcp);
} else {
RESET(StartFile);
auts = restore_group(TRUE, StartFile, 1, &pga, pcp);
}
t = runTime() - t;
printf("Construction of descendants took %.2f seconds\n",
t * CLK_SCALE);
}
CloseFile(StartFile);
break;
case INTERACTIVE_PGA:
interactive_pga(*group_present, StartFile, group_nmr, auts, &pga, pcp);
break;
#ifdef CARANTI
case CARANTI_DISPLAY:
if (!pcp->complete)
last_class(pcp);
print_structure(1, pcp->lastg, pcp);
print_pcp_relations(pcp);
print_auts(pga.m, pcp->ndgen, auts, pcp);
break;
#endif
case EXIT:
case MAX_PGA_OPTION:
printf("Exiting from p-group generation\n");
break;
} /* switch */
} while (option != EXIT && option != MAX_PGA_OPTION);
}
/* list available menu options */
void list_pga_menu(void)
{
printf("\nMenu for p-Group Generation\n");
printf("-----------------------------\n");
printf("%d. Read automorphism information for starting group\n",
SUPPLY_AUTOMORPHISMS);
printf("%d. Extend and display automorphisms\n", EXTEND_AUTOMORPHISMS);
printf("%d. Specify input file and group number\n", RESTORE_GROUP);
printf("%d. List group presentation\n", DISPLAY_GROUP);
printf("%d. Construct descendants\n", ITERATION);
printf("%d. Advanced p-group generation menu\n", INTERACTIVE_PGA);
printf("%d. Exit to basic menu\n", MAX_PGA_OPTION);
}
anupq-3.3.0/src/store_definition_sets.c 000644 000766 000024 00000002373 14355420571 020500 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A store_definition_sets.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* set up the maximum storage space required for the definition sets --
this is the maximum of r choose s where lower_step <= s <= upper_step */
void store_definition_sets(int r,
int lower_step,
int upper_step,
struct pga_vars *pga)
{
int s, nmr_of_sets = 0;
for (s = lower_step; s <= upper_step; ++s)
nmr_of_sets = MAX(nmr_of_sets, choose(r, s));
pga->list = allocate_vector(nmr_of_sets, 0, FALSE);
pga->available = allocate_vector(nmr_of_sets, 0, FALSE);
pga->offset = allocate_vector(nmr_of_sets, 0, FALSE);
}
/* calculate r choose s */
int choose(int r, int s)
{
register int i;
int binom = 1;
for (i = 1; i <= s; ++i) {
/* after the ith pass of the loop binom == binom(r, i) */
binom *= (r + 1 - i);
binom /= i;
}
return binom;
}
anupq-3.3.0/src/report_error.c 000644 000766 000024 00000001315 14355420571 016615 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A report_error.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
/* print a run-time error message -- it usually occurs
when a relation references an unknown generator */
void report_error(int a, int b, int c)
{
printf("The program has a run-time error. Please ");
printf("check that all generators\nused in the relations ");
printf("are declared in the generator list.\n");
exit(INPUT_ERROR);
}
anupq-3.3.0/src/step_range.c 000644 000766 000024 00000002403 14355420571 016217 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A step_range.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
/* find the range of permitted step sizes */
void step_range(int k,
int *lower_step,
int *upper_step,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
/* the k-initial segment subgroup must include those
generators previously fixed */
k = MAX(k, pga->fixed);
/* find the rank of the characteristic closure of
k-initial segment subgroup of the p-multiplicator */
pga->q = close_subgroup(k, auts, pga, pcp);
/* what is the rank of the relative nucleus? */
pga->r = MIN(pga->q, pga->nuclear_rank);
/* is the rank of the subgroup < nuclear rank? */
if (pga->q < pga->nuclear_rank)
*lower_step =
MAX(pga->fixed, pga->step_size + pga->q - pga->nuclear_rank);
else
*lower_step = pga->step_size;
*upper_step = MIN(pga->step_size, pga->q);
}
anupq-3.3.0/src/CloseFile.c 000644 000766 000024 00000000755 14355420571 015745 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A CloseFile.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
/* close file */
void CloseFile(FILE *file)
{
if (fclose(file) != 0) {
perror(NULL);
exit(FAILURE);
}
}
anupq-3.3.0/src/close_subgroup.c 000644 000766 000024 00000002631 14355420571 017126 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A close_subgroup.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
/* return the rank, t, of the smallest characteristic,
k-initial segment subgroup in the p-multiplicator */
int
close_subgroup(int k, int ***auts, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
register int alpha, i, j;
int t = MIN(k + 1, pga->multiplicator_rank); /* least possible rank value */
int n = y[pcp->clend + pcp->cc - 1]; /* number of pcp generators of group */
Logical complete = (t == pga->multiplicator_rank);
int start = t;
for (alpha = 1; alpha <= pga->m && !complete; ++alpha) {
i = n;
while (i < n + t && !complete) {
++i;
j = y[pcp->clend + pcp->cc];
/* find the last non-zero entry in the image of generator i */
while (auts[alpha][i][j] == 0 && j > n + t)
--j;
t = j - n;
complete = (t == pga->multiplicator_rank);
}
}
/* if rank of closure has increased, must now close new subgroup */
if (t != start)
t = close_subgroup(t - 1, auts, pga, pcp);
return t;
}
anupq-3.3.0/src/pquotient.c 000644 000766 000024 00000005717 14355420571 016133 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A pquotient.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
static int check_for_error(struct pcp_vars *pcp);
/* coordinating routine for calculation of power-commutator presentation */
int pquotient(
int max_class, int output, FILE *file, int format, struct pcp_vars *pcp)
/* maximum class of p-quotient to be constructed */
/* determines level of output */
/* file containing input presentation */
/* input format for data */
{
int *auts;
Logical report;
/* read parameters for computation */
if (format == BASIC || format == PRETTY) {
read_parameters(format, &max_class, &output, pcp);
if (!pcp->valid) {
if (isatty(0))
return FAILURE;
else
exit(INPUT_ERROR);
}
} else if (format == FILE_INPUT) {
if (pretty_filter(file, &max_class, &output, pcp) == INPUT_ERROR) {
if (isatty(0))
return FAILURE;
else
exit(INPUT_ERROR);
}
if (!pcp->valid) {
if (isatty(0))
return FAILURE;
else
exit(INPUT_ERROR);
}
}
/* if appropriate, print start message for pq */
if (output > 0 && pcp->cc == 1 && file == stdin) {
printf("\nLower exponent-%d central series for %s\n", pcp->p, pcp->ident);
}
/* now calculate the pcp, proceeding class by class */
do {
report = pcp->complete;
next_class(FALSE, &auts, &auts, pcp);
if (check_for_error(pcp))
return FAILURE;
if (output != 0 && !pcp->complete)
print_presentation(pcp->diagn, pcp);
if (report || (output == 1 && pcp->complete) || pcp->lastg < 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
if ((pcp->cc > 1 && pcp->cc == pcp->nocset) || pcp->complete)
break;
} while (pcp->cc < max_class);
/* if necessary, calculate p-multiplicator */
if (pcp->cover) {
pcp->multiplicator = TRUE;
next_class(FALSE, &auts, &auts, pcp);
/* reset flag which affects next_class computation */
pcp->multiplicator = FALSE;
if (check_for_error(pcp))
return FAILURE;
text(12, pcp->p, pcp->lastg - pcp->ccbeg + 1, 0, 0);
if (output != 0)
print_presentation(pcp->fullop, pcp);
}
return SUCCESS;
}
static int check_for_error(struct pcp_vars *pcp)
{
/* insufficient space */
if (pcp->overflow) {
/*
text (11, pcp->newgen, 0, 0, 0);
*/
if (!isatty(0))
exit(FAILURE);
else
return 1;
}
/* validity error */
if (!pcp->valid) {
text(16, 0, 0, 0, 0);
if (!isatty(0))
exit(INPUT_ERROR);
else
return 1;
}
return 0;
}
anupq-3.3.0/src/multiply_word.c 000644 000766 000024 00000001644 14355420571 017010 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A multiply_word.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#if defined(GROUP)
/* post-multiply exponent vector with base address cp
by word with base address ptr */
void multiply_word(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int gen;
register int exp;
register int length = abs(y[ptr]) - 1;
for (exp = y[ptr + 1]; exp > 0; --exp) {
for (i = 1; i <= length; ++i) {
gen = y[ptr + 1 + i];
if (gen > 0)
collect(gen, cp, pcp);
else
invert_generator(-gen, 1, cp, pcp);
}
}
}
#endif
anupq-3.3.0/src/find_permutation.c 000644 000766 000024 00000001713 14355420571 017442 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A find_permutation.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* for each k, find the first permutation, d[k], which brings k into orbit */
char *find_permutation(int *b, char *c, struct pga_vars *pga)
{
register int i, j, k, l;
char *d;
d = allocate_char_vector(pga->Degree, 1, TRUE);
/*
d = (char *) calloc (pga->Degree, sizeof (char));
--d;
*/
for (i = 1; i <= pga->nmr_orbits; ++i) {
j = pga->rep[i];
/* trace the orbit with leading term j */
k = j;
l = b[j];
while (l != 0) {
d[l] = d[k] + c[k];
k = l;
l = b[l];
}
}
return d;
}
anupq-3.3.0/src/jacobi.c 000644 000766 000024 00000011616 14355420571 015325 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A jacobi.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* solve the consistency equation
1) (a^p) a = a (a^p) if c = b = a else
2) (b^p) a = b^(p - 1) (ba) if c = b else
3) (ca) a^(p-1) = c (a^p) if b = a else
4) (cb) a = c (ba)
if ptr > 0, use this equation to fill in the class pcp->cc part on y[ptr];
if ptr = 0, use this equation to check consistency so we
calculate a new relation among the class pcp->cc generators */
void jacobi(int c, int b, int a, int ptr, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int k;
register int p1;
register int cp1;
register int cp2;
register int unc;
register int address;
register int ycol;
register int commba;
register int count;
register int count2;
register int offset;
register int lastg = pcp->lastg;
register int prime = pcp->p;
register int pm1 = pcp->pm1;
register int p_power = pcp->ppower;
register int p_pcomm = pcp->ppcomm;
#include "access.h"
#if defined(GROUP)
if (is_space_exhausted(2 * lastg + 3, pcp))
return;
#endif
/* cp1 and cp2 are the base addresses for the collected
part of the lhs and of the rhs, respectively */
cp1 = pcp->lused;
cp2 = cp1 + lastg;
unc = cp2 + lastg + 1;
for (i = 1; i <= lastg; i++)
y[cp1 + i] = y[cp2 + i] = 0;
/* calculate the class pcp->cc part of the jacobi relation
(b^p) a = b^(p - 1) (ba) */
if (c == b) {
ycol = y[p_power + b];
collect(ycol, cp1, pcp);
collect(a, cp1, pcp);
if (b != a) {
y[cp2 + b] = pm1;
p1 = y[p_pcomm + b];
commba = y[p1 + a];
collect(a, cp2, pcp);
collect(b, cp2, pcp);
collect(commba, cp2, pcp);
} else {
/* we are processing (a^p) a = a (a^p) */
ycol = y[p_power + a];
y[cp2 + a] = 1;
collect(ycol, cp2, pcp);
}
} else {
if (b - a > 0) {
#if defined(GROUP)
/* calculate the class pcp->cc part of the jacobi relation
(cb) a = c (ba); set up a as the collected part for lhs */
y[cp1 + c] = 1;
collect(b, cp1, pcp);
collect(a, cp1, pcp);
y[cp2 + c] = 1;
collect(a, cp2, pcp);
collect(b, cp2, pcp);
p1 = y[p_pcomm + b];
commba = y[p1 + a];
collect(commba, cp2, pcp);
#endif
} else {
/* calculate the class pcp->cc part of the jacobi relation
(ca) a^(p - 1) = c (a^p); first collect rhs */
ycol = y[p_power + a];
y[cp2 + c] = 1;
collect(ycol, cp2, pcp);
/* collect lhs; set up c as collected part */
y[cp1 + c] = 1;
collect(a, cp1, pcp);
y[unc] = 1;
y[unc + 1] = PACK2(pm1, a);
collect(-unc + 1, cp1, pcp);
}
}
/* the jacobi collections are completed */
if ((p1 = ptr) > 0) {
/* we are filling in the tail on y[p1]; convert the class pcp->cc
part to string form in y[cp1 + 2 + 1] to y[cp1 + 2 + count]
where count is the string length */
count = 0;
for (i = pcp->ccbeg; i <= lastg; i++) {
k = y[cp1 + i] - y[cp2 + i];
if (k != 0) {
if (k < 0)
k += prime;
++count;
y[cp1 + 2 + count] = PACK2(k, i);
}
}
if (count > 0) {
/* y[p1] was trivial to class pcp->cc - 1 so create a new entry */
if (y[p1] >= 0) {
y[p1] = -(cp1 + 1);
y[cp1 + 1] = p1;
y[cp1 + 2] = count;
pcp->lused += count + 2;
} else {
/* the class pcp->cc part is nontrivial so make room for
lower class terms */
address = -y[p1];
count2 = y[address + 1];
/* move class pcp->cc part up */
offset = cp1 + count + 3;
for (i = 1; i <= count; i++)
y[offset + count2 - i] = y[offset - i];
/* copy in lower class terms */
for (i = 1; i <= count2; i++)
y[cp1 + 2 + i] = y[address + i + 1];
/* create new header block */
y[cp1 + 1] = y[address];
y[cp1 + 2] = count + count2;
/* deallocate old entry */
y[address] = 0;
/* set up pointer to new entry */
y[p1] = -(cp1 + 1);
pcp->lused += count + count2 + 2;
}
}
} else {
/* we are checking consistency equations */
echelon(pcp);
if ((pcp->fullop && pcp->eliminate_flag) || pcp->diagn)
text(9, c, b, a, 0);
}
}
anupq-3.3.0/src/GAP_link_via_file.c 000644 000766 000024 00000015124 14355420571 017356 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A GAP_link_via_file.c ANUPQ source Eamonn O'Brien
*A & Frank Celler
*A & Benedikt Rothe
**
*Y Copyright 1995-1997, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-1997, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "global.h"
#include "pq_functions.h"
#include "menus.h"
#if defined(GAP_LINK_VIA_FILE)
/****************************************************************************
**
*F start_GAP_file
** write out initial information required for stabiliser calculation
**
*/
void start_GAP_file(FILE **GAP_input,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int i;
int nmr_soluble = pga->nmr_soluble;
/* open "GAP_input" file */
*GAP_input = OpenSystemFile("GAP_input", "w+");
GAP_presentation(*GAP_input, pcp, 1);
#ifdef HAVE_GMP
/* report the group and automorphism group order */
fprintf(*GAP_input, "ANUPQsize := ");
mpz_out_str(*GAP_input, 10, &(pga->aut_order));
fprintf(*GAP_input, ";\n");
fprintf(*GAP_input, "ANUPQagsize := ");
fprintf(*GAP_input, "%d;;\n", pga->nmr_soluble);
#else
fprintf(*GAP_input, "ANUPQsize := fail;;\nANUPQagsize := fail;;\n");
#endif
/* write global variables */
fprintf(*GAP_input, "ANUPQglb := rec();;\n");
fprintf(*GAP_input, "ANUPQglb.d := %d;;\n", pcp->ccbeg - 1);
fprintf(*GAP_input, "ANUPQglb.F := GF(%d);;\n", pga->p);
fprintf(*GAP_input, "ANUPQglb.one := One (ANUPQglb.F);;\n");
fprintf(*GAP_input, "ANUPQglb.q := %d;;\n", pga->q);
fprintf(*GAP_input, "ANUPQglb.s := %d;;\n", pga->s);
fprintf(*GAP_input, "ANUPQglb.r := %d;;\n", pga->r);
fprintf(*GAP_input, "ANUPQglb.agAutos := [];;\n");
fprintf(*GAP_input, "ANUPQglb.glAutos := [];;\n");
fprintf(*GAP_input, "ANUPQglb.genQ := [];;\n");
/* write the generators to file */
for (i = 1; i <= nmr_soluble; ++i)
write_GAP_matrix(
*GAP_input, "ANUPQglb.agAutos", auts[i], pcp->ccbeg - 1, 1, i);
#ifdef DEBUG1
printf("The relative orders are ");
for (i = 1; i <= nmr_soluble; ++i)
printf("%d, ", pga->relative[i]);
printf("\n");
#endif
fprintf(*GAP_input, "relativeOrders := [");
if (nmr_soluble > 0) {
for (i = 1; i < nmr_soluble; ++i)
fprintf(*GAP_input, "%d, ", pga->relative[i]);
fprintf(*GAP_input, "%d", pga->relative[nmr_soluble]);
}
fprintf(*GAP_input, "];\n");
for (i = nmr_soluble + 1; i <= pga->m; ++i)
write_GAP_matrix(*GAP_input,
"ANUPQglb.glAutos",
auts[i],
pcp->ccbeg - 1,
1,
i - nmr_soluble);
}
/****************************************************************************
**
*F write_GAP_matrix
** write out a matrix in a GAP input form
**
*/
void write_GAP_matrix(
FILE *GAP_input, char *gen, int **A, int size, int start, int nr)
{
int i, j;
fprintf(GAP_input, "%s[%d] := [\n", gen, nr);
for (i = start; i < start + size; ++i) {
fprintf(GAP_input, "[");
for (j = start; j < start + size - 1; ++j)
fprintf(GAP_input, "%d, ", A[i][j]);
if (i != start + size - 1)
fprintf(GAP_input, "%d],\n", A[i][j]);
else
fprintf(GAP_input, "%d]] * ANUPQglb.one;;\n", A[i][j]);
}
}
/****************************************************************************
**
*F insoluble_stab_gens
** calculate the stabiliser of the supplied representative using GAP
**
*/
void insoluble_stab_gens(int rep,
int orbit_length,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
FILE *GAP_rep;
char *path, *command;
char c;
int index;
int *subset;
int **S;
/* append the commands to compute the stabilizer */
GAP_rep = OpenFile("GAP_rep", "w+");
S = label_to_subgroup(&index, &subset, rep, pga);
GAP_factorise_subgroup(GAP_rep, S, index, subset, pga, pcp);
free_matrix(S, pga->s, 0);
free_vector(subset, 0);
if (!GAP4iostream) {
fprintf(GAP_rep, "LoadPackage(\"autpgrp\", \"1.5\");\n");
fprintf(GAP_rep, "if TestPackageAvailability(");
fprintf(GAP_rep, "\"anupq\", \"3.1\") <> true then\n");
fprintf(GAP_rep, " ANUPQData := rec(tmpdir := DirectoryCurrent());\n");
fprintf(GAP_rep, " DeclareInfoClass(\"InfoANUPQ\");\n");
fprintf(GAP_rep, " DeclareGlobalFunction(");
fprintf(GAP_rep, "\"PqStabiliserOfAllowableSubgroup\");\n");
fprintf(GAP_rep, " ReadPackage(\"anupq\", \"lib/anustab.gi\");\n");
fprintf(GAP_rep, "fi;\n");
fprintf(GAP_rep, "SetInfoLevel(InfoANUPQ, 2);\n");
}
fprintf(GAP_rep, "PqStabiliserOfAllowableSubgroup( ANUPQglb, F,\n");
fprintf(GAP_rep, " gens, relativeOrders, ANUPQsize, ANUPQagsize );\n");
CloseFile(GAP_rep);
if (GAP4iostream) {
printf("GAP, please compute stabiliser!\n");
/* skip a comment */
while ((c = getchar()) == ' ')
;
if (c == '#') {
while ((c = getchar()) != '\n')
;
}
/* we expect a line: "pq, stabiliser is ready.\n" */
if (c == 'p')
putchar(c);
while ((c = getchar()) != '\n')
putchar(c);
putchar(c);
} else {
/* try to find gap */
if ((path = (char *)getenv("ANUPQ_GAP_EXEC")) == NULL)
#if defined(ANUPQ_GAP_EXEC)
path = ANUPQ_GAP_EXEC;
#else
path = "gap";
#endif
command = (char *)malloc(strlen(path) + 200);
strcpy(command, path);
strcat(command, " -r -q -A GAP_input < GAP_rep");
/* inform the user that we are about to call GAP */
if (isatty(0))
printf("Now calling GAP to compute stabiliser...\n");
unlink("LINK_output");
/* compute the stabiliser of the orbit representative */
if (system(command) != 0)
{
printf("Error in system call to GAP\n");
exit(FAILURE);
}
}
CloseFile(OpenFile("LINK_output", "r"));
unlink("GAP_rep");
}
#endif
anupq-3.3.0/src/start_group.c 000644 000766 000024 00000002017 14355420571 016442 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A start_group.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
FILE *TemporaryFile(void);
/* save start group to StartFile */
void start_group(FILE **StartFile,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int retain;
int ***central = 0;
*StartFile = TemporaryFile();
save_pcp(*StartFile, pcp);
retain = pcp->lastg;
pcp->lastg = y[pcp->clend + pcp->cc - 1];
pga->nmr_stabilisers = pga->m;
pga->nmr_centrals = 0;
pga->final_stage = TRUE;
set_values(pga, pcp);
save_pga(*StartFile, central, auts, pga, pcp);
RESET(*StartFile);
pcp->lastg = retain;
}
anupq-3.3.0/src/print_auts.c 000644 000766 000024 00000003712 14355420571 016264 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "constants.h"
/* list the actions of the nmr_auts automorphisms on the
nmr_gens generators of the group */
void Aprint_auts(int nmr_auts, int nmr_gens, int ***auts, struct pcp_vars *pcp)
{
register int i, j, k;
FILE *output_file;
char *file_name;
int image;
file_name = allocate_char_vector(MAXWORD + 1, 0, FALSE);
sprintf(file_name, "auts%d^%d", pcp->p, pcp->lastg);
/* open the file in update mode */
output_file = OpenFile(file_name, "a+");
fprintf(output_file, "[");
for (i = 1; i <= nmr_auts; ++i) {
for (j = 1; j <= nmr_gens; ++j) {
image = 0;
for (k = 1; k <= pcp->lastg; ++k)
if (auts[i][j][k] != 0)
image = 10 * image + k;
fprintf(output_file, "%d", image);
if (i == nmr_auts && j == nmr_gens)
/*x = 1*/;
else
fprintf(output_file, ",");
/*
if (auts[i][j][k] != 0)
fprintf (output_file, "%d ", k);
fprintf (output_file, "%d ", auts[i][j][k]);
*/
}
}
fprintf(output_file, "],\n");
CloseFile(output_file);
free(file_name);
}
void print_auts(int nmr_auts, int nmr_gens, int ***auts, struct pcp_vars *pcp)
{
register int i, j, k;
for (i = 1; i <= nmr_auts; ++i) {
printf("Automorphism %d:\n", i);
for (j = 1; j <= nmr_gens; ++j) {
printf("Generator %2d --> ", j);
for (k = 1; k <= pcp->lastg; ++k)
printf("%d ", auts[i][j][k]);
printf("\n");
}
}
}
anupq-3.3.0/src/delete_tables.c 000644 000766 000024 00000003623 14355420571 016671 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A delete_tables.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* subroutine to delete all word and subgroup tables
entries, depending upon the value of type;
if type = 1 delete only the word table entries;
if type = 2, delete only the subgroup table entries;
if type = 0, delete both */
void delete_tables(int type, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int n;
register int p1;
register int nsubgp = pcp->nsubgp;
register int address;
/* delete all entries (pointers) in the words table */
if (type != 2) {
if ((n = pcp->nwords) != 0) {
address = pcp->words;
for (i = 1; i <= n; i++)
if ((p1 = -y[address + i]) != 0)
y[p1] = 0;
/* shift up the subgroup table, if it exists */
if (type && pcp->nsubgp) {
j = pcp->structure + 1;
for (i = 1; i <= nsubgp; i++, j--) {
p1 = y[j - n];
y[j] = p1;
if (p1 != 0)
y[-p1] = j;
}
pcp->subgrp = j - 1;
pcp->submlg = pcp->subgrp - pcp->lastg;
}
pcp->words = pcp->structure;
pcp->nwords = 0;
}
}
/* delete all entries (pointers) in the subgroup table */
if (type != 1) {
address = pcp->subgrp;
for (i = 1; i <= nsubgp; i++) {
if ((p1 = -y[address + i]) != 0) {
y[address + i] = 0;
y[p1] = 0;
}
}
pcp->nsubgp = 0;
pcp->subgrp = pcp->words;
pcp->submlg = pcp->subgrp - pcp->lastg;
}
}
anupq-3.3.0/src/compact_description.c 000644 000766 000024 00000012773 14355420571 020134 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A compact_description.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "constants.h"
/******************************************************************************
** AUTHOR: C. Rhodes
** DATE: 21/1/93
** REVISION: 1.0 (Release)
** STATUS: This code is designed to be an extension to the pq program
** by E.A. O'Brien. It encodes the pc-presentation into a
** sequence of integers and then appends that sequence to a
** file called gps, where is the order of the
** group. Note that existing files of this name are updated.
****************************************************************************/
#ifdef HAVE_GMP
MP_INT Encode(int p, int length, int *list)
{
MP_INT powers, code;
int i;
mpz_init_set_ui(&code, 0);
for (i = 1; i <= length; ++i) {
mpz_init_set_si(&powers, 0);
if (list[i] != 0)
mpz_ui_pow_ui(&powers, p, i - 1);
mpz_add(&code, &code, &powers);
}
/*
if (list[i] != 0) {
MP_INT factor;
mpz_init_set_si (&factor, list[i]);
mpz_ui_pow_ui (&powers, p, i);
mpz_mul (&powers, &powers, &factor);
mpz_add (&code, &code, &powers);
}
}
*/
return code;
}
#endif
/* construct a compact description of the group as a sequence;
if write_to_file TRUE, then write the compact description,
sequence, to file and also return it */
int *compact_description(Logical write_to_file, struct pcp_vars *pcp)
{
register int *y = y_address;
register int p1;
register int p2;
int *sequence;
int nmr_of_exponents;
int weight_g, weight_h;
int g, h;
int generator;
int offset;
int index; /* used to count current position in sequence of exponents */
int n;
#include "access.h"
n = pcp->lastg;
nmr_of_exponents = choose(n + 1, 3);
sequence = allocate_vector(nmr_of_exponents, 1, TRUE);
offset = 0;
index = 0;
if (pcp->cc == 1) {
/* write the sequence to a file */
output_information(sequence, nmr_of_exponents, pcp);
return sequence;
}
for (generator = 2; generator <= n; ++generator) {
/* examine all power relations g^p where g < generator and store
all exponents of generator which occur in these relations */
for (g = 1; g < generator; ++g) {
p1 = y[pcp->ppower + g];
trace_relation(sequence, &index, p1, generator, pcp);
/* examine all commutator relations [h, g] where g < h < generator
and store exponents of generator which occur in such relations */
weight_g = WT(y[pcp->structure + g]);
/* is the relation [h, g] stored? */
for (h = g + 1; h < generator; ++h) {
weight_h = WT(y[pcp->structure + h]);
if (weight_g + weight_h <= pcp->cc) {
p1 = y[pcp->ppcomm + h];
p2 = y[p1 + g];
trace_relation(sequence, &index, p2, generator, pcp);
} else
++index;
}
}
offset += (generator - 1) * (generator - 2) / 2 + (generator - 1);
index = offset;
}
#if defined(DEBUG)
print_array(sequence, 1, nmr_of_exponents);
#endif
/* write the sequence to a file */
if (write_to_file)
output_information(sequence, nmr_of_exponents, pcp);
return sequence;
}
/* find all occurrences of generator in relation with address ptr */
void trace_relation(
int *sequence, int *index, int ptr, int generator, struct pcp_vars *pcp)
{
register int *y = y_address;
int i, gen, exp, count;
#include "access.h"
++(*index);
if (ptr == generator)
sequence[*index] = 1;
else if (ptr < 0) {
ptr = -ptr + 1;
count = y[ptr];
for (i = 1; i <= count; i++) {
gen = FIELD2(y[ptr + i]);
if (gen == generator) {
exp = FIELD1(y[ptr + i]);
sequence[*index] = exp;
}
}
}
}
/* append the sequence of length nmr_of_exponents to file with name
formed by concatenating "gps" and "p^n" */
void
output_information(int *sequence, int nmr_of_exponents, struct pcp_vars *pcp)
{
register int *y = y_address;
FILE *output_file;
char *file_name;
#ifdef HAVE_GMP
MP_INT code;
#else
register int count;
#endif
file_name = allocate_char_vector(MAXWORD + 1, 0, FALSE);
sprintf(file_name, "gps%d^%d", pcp->p, pcp->lastg);
/* open the file in update mode */
output_file = OpenFile(file_name, "a+");
/* write rank of Frattini quotient, number of pcp generators, prime,
and exponent-p class to file */
#ifdef HAVE_GMP
fprintf(
output_file, "[%d, %d, %d, ", y[pcp->clend + 1], pcp->lastg, pcp->cc);
code = Encode(pcp->p, nmr_of_exponents, sequence);
mpz_out_str(output_file, 10, &code);
fprintf(output_file, "],\n");
#else
fprintf(output_file,
"%d %d %d %d ",
y[pcp->clend + 1],
pcp->lastg,
pcp->p,
pcp->cc);
/* now write out the sequence of exponents */
for (count = 1; count <= nmr_of_exponents - 1; count++)
fprintf(output_file, "%d,", sequence[count]);
fprintf(output_file, "%d\n", sequence[nmr_of_exponents]);
#endif
CloseFile(output_file);
free(file_name);
}
anupq-3.3.0/src/immediate_descendant.c 000644 000766 000024 00000006041 14355420571 020220 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A immediate_descendant.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "exp_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* if immediate descendant is capable or terminal flag
is set, save its covering group to descendant_file and
compute required central automorphisms */
int ***immediate_descendant(FILE *descendant_file,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int ***central = 0;
int **auts = 0;
struct exp_vars exp_flag;
/* compute the p-covering group of the descendant */
/* if metabelian law is to be enforced, set pcp flag true */
if (pga->metabelian)
pcp->metabelian = TRUE;
pcp->multiplicator = TRUE;
next_class(FALSE, auts, auts, pcp);
if (pcp->overflow)
exit(FAILURE);
pcp->multiplicator = FALSE;
/* enforce an exponent law, if any */
if (pga->exponent_law) {
pcp->extra_relations = pga->exponent_law;
initialise_exponent(&exp_flag, pcp);
extra_relations(&exp_flag, pcp);
eliminate(0, pcp);
}
pga->capable = (pcp->newgen != 0);
/* pga->capable = FALSE;
pga->terminal = FALSE;
*/
pcp->multiplicator_rank = pcp->lastg - y[pcp->clend + pcp->cc - 1];
/* possible that nucleus is trivial but presentation
for p-covering group present */
if (pga->terminal && pcp->newgen == 0 && pcp->complete == FALSE) {
last_class(pcp);
pcp->complete = TRUE;
}
/*
if (pga->trace || (pga->capable && pga->print_automorphisms
&& pga->final_stage && !pga->print_group)) {
printf ("------------------------------------------\n");
printf ("Immediate descendant %s\n", pcp->ident);
}
*/
if (pga->print_nuclear_rank)
printf("Group %s has nuclear rank %d\n", pcp->ident, pcp->newgen);
if (pga->print_multiplicator_rank)
printf("Group %s has %d-multiplicator rank %d\n",
pcp->ident,
pcp->p,
pcp->lastg - y[pcp->clend + pcp->cc - 1]);
/* if descendant is capable or terminal is true,
compute central automorphisms */
if (pga->capable || pga->terminal) {
/* save group description to file -- if group is capable, save
p-covering group presentation, else save that of group */
save_pcp(descendant_file, pcp);
set_values(pga, pcp);
/* revert to last class for automorphism group calculations */
if (!pcp->complete)
last_class(pcp);
/* determine the required central outer automorphisms */
central = central_automorphisms(pga, pcp);
if (pga->print_automorphisms)
print_auts(pga->nmr_centrals, pga->ndgen, central, pcp);
}
return central;
}
anupq-3.3.0/src/convert.c 000644 000766 000024 00000003257 14355420571 015560 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A convert.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* convert exponent vector with base address
cp to string whose base address is str */
void vector_to_string(int cp, int str, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int length = 0;
register int lastg = pcp->lastg;
#include "access.h"
for (i = 1; i <= lastg; ++i) {
if (y[cp + i] != 0) {
++length;
y[str + 1 + length] = PACK2(y[cp + i], i);
}
}
y[str + 1] = length;
}
/* convert exponent-vector with base address cp
to word with base address ptr */
int vector_to_word(int cp, int ptr, struct pcp_vars *pcp)
{
register int *y = y_address;
int i, j;
register int length = 1;
register int lastg = pcp->lastg;
y[ptr + 1] = 1;
for (i = 1; i <= lastg; ++i) {
for (j = 1; j <= y[cp + i]; ++j) {
++length;
y[ptr + length] = i;
}
}
y[ptr] = length;
return length;
}
/* convert string with base address str to
exponent vector whose base address is cp */
void string_to_vector(int str, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int length = y[str + 1];
#include "access.h"
for (i = 1; i <= pcp->lastg; ++i)
y[cp + i] = 0;
for (i = 1; i <= length; ++i)
y[cp + FIELD2(y[str + 1 + i])] = FIELD1(y[str + 1 + i]);
}
anupq-3.3.0/src/read_parameters.c 000644 000766 000024 00000003635 14355420571 017236 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_parameters.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* read parameters for p-quotient calculation */
void
read_parameters(int format, int *max_class, int *output, struct pcp_vars *pcp)
{
Logical reading = TRUE;
char *ident;
#if defined(GROUP)
ident = GetString("Input group identifier: ");
#endif
strcpy(pcp->ident, ident);
while (reading) {
read_value(TRUE, "Input prime: ", &pcp->p, 2);
reading = (pcp->p != 2 && MOD(pcp->p, 2) == 0);
if (reading)
printf("%d is not a prime\n", pcp->p);
}
read_value(TRUE, "Input maximum class: ", max_class, 0);
if (*max_class == 0) {
*max_class = DEFAULT_CLASS;
text(15, DEFAULT_CLASS, 0, 0, 0);
} else if (*max_class > MAXCLASS) {
*max_class = MAXCLASS;
text(15, MAXCLASS, 0, 0, 0);
}
print_level(output, pcp);
if (format == BASIC) {
reading = TRUE;
while (reading) {
read_value(TRUE, "Input number of generators: ", &pcp->ndgen, 1);
reading = (pcp->ndgen > MAXGENS);
if (reading)
printf("The maximum number of defining generators is %d\n",
MAXGENS);
}
#if defined(GROUP)
read_value(TRUE, "Input number of relations: ", &pcp->ndrel, 0);
read_value(
TRUE, "Input exponent law (0 if none): ", &pcp->extra_relations, 0);
#endif
/* initialise pcp structure */
initialise_pcp(*output, pcp);
setup(pcp);
read_relations(pcp);
} else {
pretty_read_generators(pcp);
pretty_read_relations(*output, max_class, pcp);
}
}
anupq-3.3.0/src/print_multiweight.c 000644 000766 000024 00000013467 14355420571 017662 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_multiweight.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* print the structure of each of the pcp generators,
numbered from first to last inclusive */
void print_multiweight(int first, int last, struct pcp_vars *pcp)
{
register int *y = y_address;
char start;
register int structure = pcp->structure;
register int u, v;
register int gen, i, k;
register int previous = 0;
register int current;
int print_mwt;
int print_pattern = TRUE;
int counter = 0;
int value;
int wt = 0;
int length;
int weight = 0;
int pointer;
int address;
int *pattern = 0;
int *gens = 0;
#include "access.h"
printf("Print number of occurrences of multiweights: ");
scanf("%d", &print_mwt);
if (print_mwt) {
printf("Enter weight pattern on %d gens (0 for all): ", pcp->ndgen);
scanf("%c", &start);
scanf("%c", &start);
if (start == '0') {
length = int_power(pcp->cc + 1, pcp->ndgen);
pattern = allocate_vector(length + pcp->ndgen + 1, 1, TRUE);
for (i = 1; i <= pcp->ndgen; ++i)
pattern[i] = int_power(pcp->cc + 1, i - 1);
} else {
pattern = allocate_vector(pcp->ndgen + 1, 1, TRUE);
for (i = 1; i <= pcp->ndgen; ++i) {
scanf("%d", &pattern[i]);
wt += pattern[i];
}
scanf("%c", &start);
}
}
gens = allocate_vector(pcp->ndgen + 1, 1, TRUE);
for (gen = first; gen <= last; ++gen) {
pointer = y[structure + gen];
weight = WT(pointer);
if (((current = layer(gen, pcp)) != previous) &&
((wt == 0) || (wt == current))) {
printf("Class %d\n", current);
previous = current;
}
if (pointer <= 0 && !print_mwt) {
printf("%d = ", gen);
print_word(pointer, pcp);
} else {
u = PART2(pointer);
v = PART3(pointer);
if (u == 0) {
if (print_mwt) {
if (start == '0')
for (i = 1; i <= pcp->ndgen; ++i)
gens[i] = 0;
gens[v] = 1;
}
} else {
if (gen >= pcp->ccbeg) {
for (i = 1; i <= weight; ++i)
y[pcp->lused + i] = 0;
}
find_definition(gen, pcp->lused, weight, pcp);
for (i = 1; i <= pcp->ndgen; ++i)
gens[i] = 0;
for (i = 1; i <= weight; ++i)
++gens[y[pcp->lused + i]];
}
if (print_mwt) {
if (start == '0') {
k = pcp->ndgen;
for (i = 1; i <= pcp->ndgen; ++i)
k += gens[i] * pattern[i];
++pattern[k];
} else {
print_pattern = TRUE;
for (i = 1; i <= pcp->ndgen; ++i) {
if (gens[i] != pattern[i]) {
print_pattern = FALSE;
break;
}
}
}
}
if (print_pattern) {
if (u == 0)
printf(
"%d is defined on image of defining generator %d\n", gen, v);
if (v == 0)
printf("%d is defined on %d^%d = ", gen, u, pcp->p);
else if (u != 0)
printf("%d is defined on [%d, %d] = ", gen, u, v);
if (gen > pcp->ndgen) {
for (i = 1; i <= weight; ++i)
if ((value = y[pcp->lused + i]) != 0)
printf("%d ", value);
}
if (print_mwt) {
printf("\t");
printf("(");
for (i = 1; i <= pcp->ndgen; ++i) {
printf("%d", gens[i]);
if (i != pcp->ndgen)
printf(" ");
}
printf(")");
printf("\n");
if (start != '0')
++counter;
} else
printf("\n");
}
}
}
if (print_mwt) {
if (start == '0')
for (k = 1; k <= weight; ++k) {
wt = 0;
address = pcp->ndgen;
for (i = 1; i <= pcp->ndgen; ++i)
gens[i] = 0;
while (gens[1] < k) {
++gens[pcp->ndgen];
++wt;
address += pattern[pcp->ndgen];
if (gens[pcp->ndgen] > k)
for (i = pcp->ndgen; i > 1; --i)
if (gens[i] > k) {
gens[i] = 0;
++gens[i - 1];
address +=
pattern[i - 1] * (1 - (k + 1) * (pcp->cc + 1));
wt -= k;
}
if (pattern[address] > 0 && wt == k) {
if (pattern[address] == 1)
printf("1 occurrence of pattern (");
else
printf("%d occurrences of pattern (", pattern[address]);
for (i = 1; i < pcp->ndgen; ++i)
printf("%d ", gens[i]);
printf("%d)\n", gens[pcp->ndgen]);
}
}
}
else {
if (counter > 0) {
if (counter == 1)
printf("1 occurrence of pattern (");
else
printf("%d occurrences of pattern (", counter);
for (i = 1; i < pcp->ndgen; ++i)
printf("%d ", pattern[i]);
printf("%d)\n", pattern[pcp->ndgen]);
}
}
free(++gens);
free(++pattern);
}
}
anupq-3.3.0/src/eliminate.c 000644 000766 000024 00000014370 14355420571 016045 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A eliminate.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* eliminate all redundant generators to construct the consistent
power commutator presentation for the group to class current_class;
if middle_of_tails is TRUE, do not delete space set aside in
setup; in this case, only deallocate redundant generators */
void eliminate(Logical middle_of_tails, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int k;
register int l;
register int p1;
register int ba;
register int lg;
register int length;
register int bound;
register int structure = pcp->structure;
register int current_class = pcp->cc;
register int lused = pcp->lused;
register int prime = pcp->p;
register int dgen = pcp->dgen;
register int ndgen = pcp->ndgen;
register int pointer;
register int value;
#include "access.h"
/* calculate new values for irredundant generators and set them up
in a renumbering table of length pcp->lastg - pcp->ccbeg + 1
which looks to compact like a normal exponent-generator string
pointed to by y[dgen] */
if (current_class != 1) {
if (is_space_exhausted(pcp->lastg - pcp->ccbeg + 3, pcp))
return;
structure = pcp->structure;
lused = pcp->lused;
y[lused + 1] = dgen;
y[dgen] = -(lused + 1);
y[lused + 2] = pcp->lastg - pcp->ccbeg + 1;
ba = lused + 3 - pcp->ccbeg;
pcp->lused += pcp->lastg - pcp->ccbeg + 3;
lused = pcp->lused;
lg = pcp->ccbeg - 1;
for (i = pcp->ccbeg, bound = pcp->lastg; i <= bound; i++) {
y[ba + i] = 0;
if (y[structure + i] > 0)
y[ba + i] = ++lg;
}
/* update pcp->first_pseudo */
bound = pcp->lastg;
for (i = pcp->first_pseudo; i <= bound && y[structure + i] <= 0; i++)
;
pcp->first_pseudo = (i > pcp->lastg) ? lg + 1 : y[ba + i];
/* update the commutator tables */
p1 = y[pcp->ppcomm + 2];
for (i = 1, bound = pcp->ncomm; i <= bound; i++) {
update(p1 + i, pcp);
if (pcp->overflow)
return;
}
/* update the power tables */
for (i = 2, bound = pcp->ccbeg; i <= bound; i++) {
/* fix (i - 1)^p */
update(pcp->ppower + i - 1, pcp);
if (pcp->overflow)
return;
}
/* update the redundant defining generators and inverses */
for (i = 1; i <= ndgen; i++) {
update(dgen + i, pcp);
if (pcp->overflow)
return;
update(dgen - i, pcp);
if (pcp->overflow)
return;
}
/* finally update and move structure information */
if (middle_of_tails) {
pointer = pcp->structure + pcp->ccbeg - 1;
for (i = pcp->ccbeg; i <= pcp->lastg; ++i) {
if ((value = y[pcp->structure + i]) > 0)
y[++pointer] = value;
else if (value < 0)
y[-value] = 0;
}
} else {
k = pcp->ppower;
structure = pcp->structure;
for (i = pcp->lastg; i >= pcp->ccbeg; i--) {
if ((j = y[structure + i]) > 0) {
y[k] = j;
k--;
} else if (j < 0) {
/* deallocate equation for redundant generator i */
p1 = -j;
y[p1] = 0;
}
}
for (; i > 0; i--)
y[k--] = y[structure + i];
if (pcp->subgrp != structure)
delete_tables(0, pcp);
pcp->structure = k;
structure = pcp->structure;
pcp->words = k;
pcp->subgrp = k;
pcp->submlg = pcp->subgrp - lg;
}
pcp->lastg = lg;
y[pcp->clend + current_class] = pcp->lastg;
/* deallocate the renumbering table */
p1 = -y[dgen];
y[p1] = 0;
return;
}
/* class 1 */
pcp->lastg = 0;
for (i = 1; i <= ndgen; i++) {
if ((j = y[structure + i]) == 0) {
/* defining generator i is trivially redundant */
y[dgen + i] = 0;
if (y[dgen - i] < 0) {
/* deallocate old inverse */
p1 = -y[dgen - i];
y[p1] = 0;
/* set new inverse trivial */
y[dgen - i] = 0;
}
} else if (j < 0) {
/* defining generator i is redundant with value pointed
to by -y[structure + i] */
y[dgen + i] = y[structure + i];
p1 = -y[dgen + i];
length = y[p1 + 1];
y[p1] = dgen + i;
/* renumber value of defining generator i */
for (k = 1; k <= length; k++) {
l = FIELD2(y[p1 + k + 1]);
y[p1 + k + 1] += y[dgen + l] - l;
}
if (y[dgen - i] < 0) {
/* i inverse occurs in a defining relation, so recompute
the inverse and set up header block for inverse */
y[lused + 1] = dgen - i;
y[lused + 2] = length;
/* set up inverse */
for (j = 1; j <= length; j++) {
k = y[p1 + j + 1];
y[lused + 2 + j] = PACK2(prime - FIELD1(k), FIELD2(k));
}
/* deallocate old inverse */
p1 = -y[dgen - i];
y[p1] = 0;
y[dgen - i] = -(lused + 1);
pcp->lused += length + 2;
lused = pcp->lused;
}
} else {
/* i is an irredundant generator */
pcp->lastg++;
y[dgen + i] = pcp->lastg;
/* note that its weight is set to be 1 */
y[structure + pcp->lastg] = PACK3(1, 0, i);
/* check if inverse of i is required */
if (y[dgen - i] < 0) {
/* yes, so renumber previously set up inverse */
p1 = -y[dgen - i];
y[p1 + 2] += pcp->lastg - i;
}
}
}
if (pcp->lastg < 1) {
text(7, prime, 0, 0, 0);
pcp->complete = 1;
pcp->cc = 0;
} else {
y[pcp->clend + 1] = pcp->lastg;
pcp->submlg = pcp->subgrp - pcp->lastg;
}
}
anupq-3.3.0/src/system.c 000644 000766 000024 00000002721 14355420571 015417 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A system.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_author.h"
#include "pq_defs.h"
#include
#include
/* system and operating system dependent pieces of code */
/* return CPU time in CLOCK TICKS -- the program should report
correct CPU times for each of SunOS and Solaris if compiled
and run under that operating system; under Solaris,
CLK_TCK is defined in ; if compiled under SunOS
and run under Solaris, then multiply reported times by
3/5 to get correct user time */
int runTime(void)
{
struct tms buffer;
times(&buffer);
return buffer.tms_utime + buffer.tms_cutime;
}
/* print startup message */
void print_message(int work_space)
{
time_t now;
char *id;
char string[100];
#if defined(HAVE_GETHOSTNAME)
char s[100];
gethostname(s, 100);
#else
char *s = (char *)getenv("HOST");
if (s == NULL)
s = "unknown";
#endif
#if defined(GROUP)
id = PQ_VERSION;
#endif
printf("%s running with workspace %d on %s\n", id, work_space, s);
now = time(NULL);
#ifdef HAVE_STRFTIME
strftime(string, 100, "%a %b %d %H:%M:%S %Z %Y", localtime(&now));
printf("%s\n", string);
#else
printf("\n");
#endif
}
anupq-3.3.0/src/interactive_pga.c 000644 000766 000024 00000037256 14355420571 017252 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A interactive_pga.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "menus.h"
#include "standard.h"
#include "pq_functions.h"
#include "global.h"
#define MAX_INTERACTIVE_OPTION 18 /* maximum number of menu options */
#define COMBINATION 100
/* interactive menu for p-group generation */
void interactive_pga(Logical group_present,
FILE *StartFile,
int group_nmr,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
struct pga_vars flag;
int option;
Logical soluble_group = TRUE;
FILE *OutputFile = 0;
FILE *LINK_input = 0;
char *StartName = 0;
int t;
int **perms = 0;
int index;
int **S = 0;
int k;
int K;
int label;
int *a = 0, *b = 0;
char *c = 0;
int *orbit_length = 0;
int nmr_of_exponents;
int *subset = 0;
int alpha;
int upper_step;
int rep;
int i;
list_interactive_pga_menu();
do {
option = read_option(MAX_INTERACTIVE_OPTION);
switch (option) {
case -1:
list_interactive_pga_menu();
break;
case SUPPLY_AUTS:
auts = read_auts(PGA, &pga->m, &nmr_of_exponents, pcp);
#ifdef HAVE_GMP
autgp_order(pga, pcp);
#endif
pga->soluble = TRUE;
start_group(&StartFile, auts, pga, pcp);
break;
case EXTEND_AUTS:
extend_automorphisms(auts, pga->m, pcp);
print_auts(pga->m, pcp->lastg, auts, pcp);
break;
case RESTORE_GP:
StartName = GetString("Enter input file name: ");
StartFile = OpenFileInput(StartName);
if (StartFile != NULL) {
read_value(TRUE, "Which group? ", &group_nmr, 0);
auts = restore_group(TRUE, StartFile, group_nmr, pga, pcp);
RESET(StartFile);
}
break;
case DISPLAY_GP:
print_presentation(FALSE, pcp);
print_structure(1, pcp->lastg, pcp);
print_pcp_relations(pcp);
break;
case SINGLE_STAGE:
t = runTime();
if (group_present && pga->m == 0)
start_group(&StartFile, auts, pga, pcp);
assert(OutputFile);
construct(1,
&flag,
SINGLE_STAGE,
OutputFile,
StartFile,
0,
ALL,
group_nmr,
pga,
pcp);
t = runTime() - t;
printf("Time for intermediate stage is %.2f seconds\n", t * CLK_SCALE);
break;
case DEGREE:
read_step_size(pga, pcp);
read_subgroup_rank(&k);
query_exponent_law(pga);
enforce_laws(pga, pga, pcp);
extend_automorphisms(auts, pga->m, pcp);
step_range(k, &pga->s, &upper_step, auts, pga, pcp);
if (pga->s > upper_step)
printf("Desired step size is invalid for current group\n");
else {
if (pga->s < upper_step) {
printf("The permitted relative step sizes range from %d to %d\n",
pga->s,
upper_step);
read_value(
TRUE, "Input the chosen relative step size: ", &pga->s, 0);
}
store_definition_sets(pga->r, pga->s, pga->s, pga);
get_definition_sets(pga);
pga->print_degree = TRUE;
compute_degree(pga);
pga->print_degree = FALSE;
}
break;
case PERMUTATIONS:
if (pga->Degree != 0) {
t = runTime();
query_solubility(pga);
pga->trace = FALSE;
if (pga->soluble)
query_space_efficiency(pga);
else
pga->space_efficient = FALSE;
query_perm_information(pga);
strip_identities(auts, pga, pcp);
soluble_group =
(pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
if (!soluble_group) {
#if defined(GAP_LINK)
StartGapFile(pga);
#else
#if defined(GAP_LINK_VIA_FILE)
start_GAP_file(&LINK_input, auts, pga, pcp);
#endif
#endif
}
perms = permute_subgroups(LINK_input, &a, &b, &c, auts, pga, pcp);
#if defined(GAP_LINK_VIA_FILE)
if (!soluble_group)
CloseFile(LINK_input);
#endif
t = runTime() - t;
printf("Time to compute permutations is %.2f seconds\n",
t * CLK_SCALE);
} else
printf("You must first select option %d\n", DEGREE);
break;
case ORBITS:
orbit_option(option, perms, &a, &b, &c, &orbit_length, pga);
break;
case STABILISERS:
case STABILISER:
assert(perms);
stabiliser_option(
option, auts, perms, a, b, c, orbit_length, pga, pcp);
/*
free_space (pga->soluble, perms, orbit_length,
a, b, c, pga);
*/
break;
case MATRIX_TO_LABEL:
S = allocate_matrix(pga->s, pga->q, 0, FALSE);
subset = allocate_vector(pga->s, 0, FALSE);
printf("Input the %d x %d subgroup matrix:\n", pga->s, pga->q);
read_matrix(S, pga->s, pga->q);
K = echelonise_matrix(S, pga->s, pga->q, pga->p, subset, pga);
printf("The standard matrix is:\n");
print_matrix(S, pga->s, pga->q);
printf("The label is %d\n", subgroup_to_label(S, K, subset, pga));
free_vector(subset, 0);
break;
case LABEL_TO_MATRIX:
read_value(TRUE, "Input allowable subgroup label: ", &label, 1);
S = label_to_subgroup(&index, &subset, label, pga);
printf("The corresponding standard matrix is\n");
print_matrix(S, pga->s, pga->q);
break;
case IMAGE:
t = runTime();
/*
invert_automorphisms (auts, pga, pcp);
print_auts (pga->m, pcp->lastg, auts, pcp);
*/
printf("Input the subgroup label and automorphism number: ");
read_value(TRUE, "", &label, 1);
read_value(FALSE, "", &alpha, 1);
printf("Image is %d\n", find_image(label, auts[alpha], pga, pcp));
t = runTime() - t;
printf("Computation time in seconds is %.2f\n", t * CLK_SCALE);
break;
case SUBGROUP_RANK:
read_subgroup_rank(&k);
printf("Closure of initial segment subgroup has rank %d\n",
close_subgroup(k, auts, pga, pcp));
break;
case ORBIT_REP:
printf("Input label for subgroup: ");
read_value(TRUE, "", &label, 1);
rep = abs(a[label]);
for (i = 1; i <= pga->nmr_orbits && pga->rep[i] != rep; ++i)
;
printf("Subgroup with label %d has representative %d and is in orbit "
"%d\n",
label,
rep,
i);
break;
case COMPACT_DESCRIPTION:
Compact_Description = TRUE;
read_value(TRUE,
"Lower bound for order (0 for all groups generated)? ",
&Compact_Order,
0);
break;
case AUT_CLASSES:
t = runTime();
permute_elements();
t = runTime() - t;
printf("Time to compute orbits is %.2f seconds\n", t * CLK_SCALE);
break;
/*
printf ("Input label: ");
scanf ("%d", &l);
process_complete_orbit (a, l, pga, pcp);
break;
case TEMP:
printf ("Input label: ");
scanf ("%d", &l);
printf ("Input label: ");
scanf ("%d", &u);
for (i = l; i <= u; ++i) {
x = IsValidAllowableSubgroup (i, pga);
printf ("%d is %d\n", i, x);
}
StartName = GetString ("Enter output file name: ");
OutputFile = OpenFileOutput (StartName);
part_setup_reps (pga->rep, pga->nmr_orbits, orbit_length, perms, a, b,
c,
auts, OutputFile, OutputFile, pga, pcp);
list_word (pga, pcp);
read_value (TRUE, "Input the rank of the subgroup: ", &pga->q, 1);
strip_identities (auts, pga, pcp);
break;
*/
case EXIT:
case MAX_INTERACTIVE_OPTION:
printf("Exiting from interactive p-group generation menu\n");
break;
} /* switch */
} while (option != 0 && option != MAX_INTERACTIVE_OPTION);
#if defined(GAP_LINK)
if (!soluble_group)
QuitGap();
#endif
}
/* list available menu options */
void list_interactive_pga_menu(void)
{
printf("\nAdvanced Menu for p-Group Generation\n");
printf("-------------------------------------\n");
printf("%d. Read automorphism information for starting group\n",
SUPPLY_AUTS);
printf("%d. Extend and display automorphisms\n", EXTEND_AUTS);
printf("%d. Specify input file and group number\n", RESTORE_GP);
printf("%d. List group presentation\n", DISPLAY_GP);
printf("%d. Carry out intermediate stage calculation\n", SINGLE_STAGE);
printf("%d. Compute definition sets & find degree\n", DEGREE);
printf("%d. Construct permutations of subgroups under automorphisms\n",
PERMUTATIONS);
printf("%d. Compute and list orbit information\n", ORBITS);
printf("%d. Process all orbit representatives\n", STABILISERS);
printf("%d. Process individual orbit representative\n", STABILISER);
printf("%d. Compute label for standard matrix of subgroup\n",
MATRIX_TO_LABEL);
printf("%d. Compute standard matrix for subgroup from label\n",
LABEL_TO_MATRIX);
printf("%d. Find image of allowable subgroup under automorphism\n", IMAGE);
printf("%d. Find rank of closure of initial segment subgroup\n",
SUBGROUP_RANK);
printf("%d. List representative and orbit for supplied label\n", ORBIT_REP);
printf("%d. Write compact descriptions of generated groups to file\n",
COMPACT_DESCRIPTION);
printf("%d. Find automorphism classes of elements of vector space\n",
AUT_CLASSES);
printf("%d. Exit to main p-group generation menu\n", MAX_INTERACTIVE_OPTION);
}
void orbit_option(int option,
int **perms,
int **a,
int **b,
char **c,
int **orbit_length,
struct pga_vars *pga)
{
int t;
Logical soluble_group;
/* FILE * file; */
if (option != COMBINATION && option != STANDARDISE) {
query_solubility(pga);
if (pga->soluble)
query_space_efficiency(pga);
else
pga->space_efficient = FALSE;
query_orbit_information(pga);
} else if (option == COMBINATION) {
pga->print_orbit_summary = FALSE;
pga->print_orbits = FALSE;
} else if (option == STANDARDISE) {
pga->print_orbit_summary = FALSE;
pga->print_orbits = FALSE;
}
soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
if (!pga->space_efficient) {
t = runTime();
if (soluble_group)
compute_orbits(a, b, c, perms, pga);
else
insoluble_compute_orbits(a, b, c, perms, pga);
if (option != COMBINATION && option != STANDARDISE) {
t = runTime() - t;
printf("Time to compute orbits is %.2f seconds\n", t * CLK_SCALE);
}
}
/* if in soluble portion of combination, we do not need to
set up representatives */
if (option == COMBINATION && pga->soluble)
return;
*orbit_length = find_orbit_reps(*a, *b, pga);
if (pga->print_orbit_summary)
orbit_summary(*orbit_length, pga);
/* file = OpenFile ("COUNT", "a+");
fprintf (file, "%d,\n", pga->nmr_orbits);
*/
}
void stabiliser_option(int option,
int ***auts,
int **perms,
int *a,
int *b,
char *c,
int *orbit_length,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int t;
int i;
/*Logical soluble_group;*/
FILE *OutputFile;
char *StartName;
int *rep;
int *length;
rep = allocate_vector(1, 1, 0);
length = allocate_vector(1, 1, 0);
t = runTime();
query_solubility(pga);
if (pga->soluble)
query_space_efficiency(pga);
else
pga->space_efficient = FALSE;
/*soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);*/
query_terminal(pga);
query_exponent_law(pga);
query_metabelian_law(pga);
query_group_information(pga->p, pga);
query_aut_group_information(pga);
StartName = GetString("Enter output file name: ");
OutputFile = OpenFileOutput(StartName);
pga->final_stage = (pga->q == pga->multiplicator_rank);
pga->nmr_of_descendants = 0;
pga->nmr_of_capables = 0;
if (option == STABILISER) {
read_value(TRUE, "Input the orbit representative: ", &rep[1], 1);
/* find the length of the orbit having this representative */
for (i = 1; i <= pga->nmr_orbits && pga->rep[i] != rep[1]; ++i)
;
if (pga->rep[i] == rep[1])
length[1] = orbit_length[i];
else {
printf("%d is not an orbit representative\n", rep[1]);
return;
}
}
if (option == STABILISER)
setup_reps(rep,
1,
length,
perms,
a,
b,
c,
auts,
OutputFile,
OutputFile,
pga,
pcp);
else
setup_reps(pga->rep,
pga->nmr_orbits,
orbit_length,
perms,
a,
b,
c,
auts,
OutputFile,
OutputFile,
pga,
pcp);
/*
#if defined (GAP_LINK)
if (!soluble_group)
QuitGap ();
#endif
*/
RESET(OutputFile);
printf("Time to process representative is %.2f seconds\n",
(runTime() - t) * CLK_SCALE);
}
/* list orbit representatives as words subject to the supplied map */
int list_word(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int i, j;
int start_length;
int start[100];
int word[100];
int **S;
int index;
int *subset;
int length = 0;
register int k, r;
register int lastg = pcp->lastg;
start_length = 0;
/*
read_value (TRUE, "Input length of initial segment: ", &start_length, 0);
for (i = 1; i <= start_length; ++i)
scanf ("%d", &start[i]);
*/
for (r = 1; r <= pga->nmr_orbits; ++r) {
S = label_to_subgroup(&index, &subset, pga->rep[r], pga);
print_matrix(S, pga->s, pga->q);
for (i = 0; i < pga->q; ++i) {
if (1 << i & pga->list[index])
continue;
for (j = 1; j <= lastg; ++j)
word[j] = 0;
for (j = 0; j < pga->s; ++j)
if (S[j][i] != 0)
word[pcp->ccbeg + subset[j]] = pga->p - S[j][i];
word[pcp->ccbeg + i] = 1;
print_array(word, pcp->ccbeg, lastg + 1);
length = 0;
for (k = pcp->ccbeg; k <= lastg; ++k)
if (word[k] != 0)
++length;
printf("%d\n", length + start_length);
for (k = 1; k <= start_length; ++k)
printf("%d 1 ", start[k]);
for (k = pcp->ccbeg; k <= lastg; ++k)
if (word[k] != 0)
printf("%d %d ", k, word[k]);
printf("\n");
}
}
return 0;
}
anupq-3.3.0/src/invert_modp.c 000644 000766 000024 00000001464 14355420571 016424 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A invert_modp.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
/* compute the multiplicative inverse of x modulo p
using the forward extended euclidean algorithm */
int invert_modp(int x, int p)
{
register int q;
register int a1 = p;
register int a2 = x;
register int a3;
register int y1 = 0;
register int y2 = 1;
register int y3;
while (a2 != 1) {
q = a1 / a2;
a3 = a1 - a2 * q;
y3 = y1 - y2 * q;
a1 = a2;
a2 = a3;
y1 = y2;
y2 = y3;
}
if (y2 < 0)
y2 += p;
return y2;
}
anupq-3.3.0/src/reduce_matrix.c 000644 000766 000024 00000004124 14355420571 016725 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A reduce_matrix.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
/* left echelonise mod p the matrix a, which has the supplied dimensions;
set up its definition set both as a subset and as a bit string */
void reduce_matrix(
int **a, int nmr_rows, int nmr_columns, int p, struct pga_vars *pga)
{
Logical zero;
register int bound = nmr_columns - 1;
register int row, column, i, j, index, val;
register int entry;
for (row = 0; row < MIN(nmr_rows, nmr_columns); ++row) {
/* start with the diagonal entry */
column = row;
/* find first non-zero entry, if any, in this column;
if none, advance to next column */
do {
index = row;
while (index < nmr_rows && (zero = (a[index][column] == 0)))
++index;
if (zero) {
if (column < bound)
++column;
else
return;
}
} while (zero);
/* if necessary, interchange current row with row index */
if (index > row) {
for (j = column; j < nmr_columns; ++j) {
val = a[index][j];
a[index][j] = a[row][j];
a[row][j] = val;
}
}
/* multiply row by the inverse in GF(p) of a[row][column] */
if ((entry = a[row][column]) != 1) {
val = pga->inverse_modp[entry];
a[row][column] = 1;
for (j = column + 1; j < nmr_columns; ++j)
a[row][j] = (a[row][j] * val) % p;
}
/* now zero out all other entries in this column */
for (i = 0; i < nmr_rows; ++i) {
if (a[i][column] == 0 || i == row)
continue;
val = p - a[i][column];
a[i][column] = 0;
for (j = column + 1; j < nmr_columns; ++j)
a[i][j] = (a[i][j] + val * a[row][j]) % p;
}
}
}
anupq-3.3.0/src/tail_info.c 000644 000766 000024 00000001357 14355420571 016043 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A tail_info.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
/* read information for tails */
void tail_info(int *tail_type)
{
Logical reading = TRUE;
while (reading) {
read_value(TRUE,
"Add new tails (1), compute tails (2) or both (0): ",
tail_type,
0);
reading = (*tail_type > 2);
if (reading)
printf("Supplied value must lie between 0 and 2\n");
}
}
anupq-3.3.0/src/invert_auts.c 000644 000766 000024 00000006641 14355420571 016443 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A invert_auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* developmental code -- not finished */
void new_collect_image_of_string(int string,
int cp,
int **auts,
struct pcp_vars *pcp);
/* for each automorphism, compute its inverse */
int ***
invert_automorphisms(int ***auts, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
register int alpha;
int ***inverse;
int nmr_of_bytes = pcp->lastg;
int **Power;
int string = pcp->lused + pcp->lastg;
int cp = pcp->submlg - pcp->lastg - 2;
register int i, j;
int loop;
inverse = allocate_array(pga->m, pcp->lastg, pcp->lastg, TRUE);
Power = allocate_matrix(pcp->lastg, pcp->lastg, 1, FALSE);
for (alpha = 1; alpha <= pga->m; ++alpha) {
printf("Processing alpha_%d\n", alpha);
Copy_Matrix(auts[alpha], inverse[alpha], pcp->lastg, nmr_of_bytes);
Copy_Matrix(auts[alpha], Power, pcp->lastg, nmr_of_bytes);
loop = 0;
while (!is_identity(Power, pcp->lastg, 1)) {
++loop;
printf("loop is %d\n", loop);
Copy_Matrix(Power, inverse[alpha], pcp->lastg, nmr_of_bytes);
for (i = 1; i <= pcp->lastg; ++i) {
image_to_word(string, Power[i], pcp);
for (j = 1; j <= pcp->lastg; ++j)
y[cp + j] = 0;
collect_image_of_string(string, cp, auts[alpha], pcp);
for (j = 1; j <= pcp->lastg; ++j)
Power[i][j] = y[cp + j];
print_matrix(Power, pcp->lastg, pcp->lastg);
}
}
}
return inverse;
}
/* collect image of supplied string under the action of
supplied automorphism, auts, and store the result at cp */
void new_collect_image_of_string(int string,
int cp,
int **auts,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
int generator, exp;
int length = y[string + 1]; /* last element of string
is in p-multiplicator */
#include "access.h"
/* collect the string generator by generator */
for (i = 1; i <= length; ++i) {
generator = FIELD2(y[string + 1 + i]);
exp = FIELD1(y[string + 1 + i]);
while (exp > 0) {
collect_image_of_generator(cp, auts[generator], pcp);
--exp;
}
}
}
/* convert image of generator to word with base address string */
void image_to_word(int string, int *image, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int length = 0;
#include "access.h"
for (i = 1; i <= pcp->lastg; ++i)
if (image[i] != 0) {
++length;
y[string + length + 1] = PACK2(image[i], i);
}
y[string + 1] = length + 1;
}
void Copy_Matrix(int **A, int **B, int nmr_of_rows, int nmr_of_bytes)
{
register int i, j;
for (i = 1; i <= nmr_of_rows; ++i)
for (j = 1; j <= nmr_of_bytes; ++j)
B[i][j] = A[i][j];
/* memcpy (B[i], A[i], nmr_of_bytes); */
}
anupq-3.3.0/src/map_relations.c 000644 000766 000024 00000032155 14355420571 016734 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A map_relations.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "menus.h"
#include "constants.h"
#include "pq_functions.h"
#if defined(STANDARD_PCP)
#define POWER -100
#undef COMMUTATOR
#define COMMUTATOR -200
static Logical is_ident(int *map, int i, int lastg);
static Logical is_identity_map(int **map, int ndgen, int lastg);
static int
length_of_image(int gen, Logical *defn, int **map, struct pcp_vars *pcp);
static void print_image_under_aut(FILE *present,
int *preimage,
int gen,
Logical *defn,
int **map,
struct pcp_vars *pcp);
static void print_definition(FILE *present,
int *preimage,
int gen,
int *definition,
struct pcp_vars *pcp);
/* modify the stored relations under the action of the standard
automorphism and print out the result -- this code is complex
as a result of two problems:
a. the "strange" form in which definitions of group generators
are returned -- see note on "commutator" below;
b. the need to meet the limitations imposed by the input routines of pq */
/* find the structure of pcp generator gen and store it in definition */
static void find_structure(int gen, int *definition, struct pcp_vars *pcp)
{
register int *y = y_address;
register int structure = pcp->structure;
register int lastg = pcp->lastg;
/* register int u; */
register int v;
register int i;
int weight;
int pointer;
#include "access.h"
pointer = y[structure + gen];
weight = WT(pointer);
for (i = 1; i <= lastg; ++i)
y[pcp->lused + i] = 0;
/*u = PART2(pointer);*/
v = PART3(pointer);
find_definition(gen, pcp->lused, weight, pcp);
if (v == 0) {
definition[0] = POWER;
#if defined(DEBUG)
printf("%d is defined on %d^%d = ", gen, u, pcp->p);
#endif
} else {
#if defined(DEBUG)
printf("%d is defined on [%d, %d] = ", gen, u, v);
#endif
definition[0] = COMMUTATOR;
}
for (i = 1; i <= weight; ++i)
definition[i] = y[pcp->lused + i];
#if defined(DEBUG)
for (i = 1; i <= weight; ++i)
if (definition[i] != 0)
printf("%d ", definition[i]);
printf("\n");
#endif
}
/* print the defining relations of the group after applying
the standard automorphism described in map */
void map_relations(int **map, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
register int ndgen = pcp->ndgen;
register int ndrel = pcp->ndrel;
register int lastg = pcp->lastg;
register int relp = pcp->relp;
register int dgen = pcp->dgen;
register int generator;
int *definition;
register int i, j, k, l;
register int pointer, length;
int exp, absgen;
FILE *present;
Logical *defn;
int *preimage = 0;
int *image;
Logical identity_map;
/* write out the basic information */
present = OpenFile("ISOM_present", "w+");
fprintf(present, "1\n");
fprintf(present, "prime %d\n", pcp->p);
fprintf(present, "class %d\n", pcp->cc);
fprintf(present, "output %d\n", MIN_PRINT);
if (pcp->extra_relations != 0)
fprintf(present, "exponent %d\n", pcp->extra_relations);
if (pcp->metabelian == TRUE)
fprintf(present, "metabelian\n");
fprintf(present, "generators {");
/* if the map is the identity, then we need only
the existing generators and relations */
if ((identity_map = is_identity_map(map, pga->ndgen, lastg))) {
#if defined(DEBUG)
printf("map is the identity map\n");
#endif
for (i = 1; i <= ndgen; ++i)
fprintf(present, "x%d, ", i);
} else {
defn = allocate_vector(lastg, 1, TRUE);
preimage = allocate_vector(lastg, 1, TRUE);
image = allocate_vector(ndgen, 1, TRUE);
/* identify which defining generators map to which pcp generators
of the Frattini quotient; two arrays are stored as follows --
preimage[i] = defining generator j
image[k] = pcp generator l */
for (i = 1; i <= pga->ndgen; ++i) {
for (j = 1; j <= ndgen && y[dgen + j] != i; ++j)
;
if (j > ndgen) {
printf("Error in map_relations\n");
exit(FAILURE);
}
preimage[i] = j;
image[j] = i;
}
/* do we need to introduce new generators? */
for (i = 1; i <= pga->ndgen; ++i) {
fprintf(present, "y%d, ", i);
preimage[i] = 0;
/*
if (is_ident (map[i], i, lastg)) {
fprintf (present, "x%d, ", preimage[i]);
image[ preimage[i] ] = -i;
}
else {
fprintf (present, "y%d, ", i);
preimage[i] = 0;
}
*/
}
#if defined(DEBUG)
printf("The correspondences are \n");
print_array(preimage, 1, pcp->lastg + 1);
print_array(image, 1, ndgen + 1);
#endif
/* which pcp generators turn up in the image of the
pcp generators of the Frattini quotient? */
for (i = 1; i <= pga->ndgen; ++i)
length_of_image(i, defn, map, pcp);
/* what are the new defining generators needed for new presentation? */
for (i = y[pcp->clend + 1] + 1; i <= lastg; ++i)
if (defn[i] == TRUE)
fprintf(present, "y%d, ", i);
/* print the remaining defining generators for the new presentation */
for (i = 1; i <= ndgen; ++i) {
if (image[i] >= 0)
fprintf(present, "x%d, ", i);
}
}
fprintf(present, "}\n");
#if defined(DEBUG)
printf("First the generators\n");
printf("\nNow the relations\n");
#endif
/* print the existing relations */
if (ndrel == 0)
fprintf(present, " ;\n");
else
fprintf(present, "relations {\n");
for (k = 1; k <= ndrel; ++k) {
for (l = 1; l <= 2; ++l) {
i = (k - 1) * 2 + l;
pointer = y[relp + i];
length = y[pointer];
if (length > 1) {
if (l == 2)
fprintf(present, " = ");
exp = y[pointer + 1];
if (exp != 1)
fprintf(present, "(");
for (i = 2; i <= length; ++i) {
generator = y[pointer + i];
absgen = abs(generator);
fprintf(present, "x%d", absgen);
if (absgen != generator)
fprintf(present, "^-1");
if (i != length)
fprintf(present, " * ");
}
if (exp != 1)
fprintf(present, ")^%d", exp);
} else if ((length = abs(length)) > 1) {
if (l == 2)
fprintf(present, " = ");
fprintf(present, "[");
for (i = 2; i <= length; ++i) {
generator = y[pointer + i];
generator = y[pointer + i];
absgen = abs(generator);
fprintf(present, "x%d", absgen);
if (absgen != generator)
fprintf(present, "^-1");
if (i != length)
fprintf(present, ", ");
}
fprintf(present, "]");
if ((exp = y[pointer + 1]) != 1)
fprintf(present, "^%d", exp);
}
if (l == 2) {
fprintf(present, ",\n");
}
}
}
/* now print the mappings of the defining generators */
if (identity_map == FALSE) {
for (i = 1; i <= pga->ndgen; ++i) {
/*
if (!is_ident (map[i], i, lastg)) {
*/
/* j = preimage[i]; */
for (j = 1; j <= ndgen && y[dgen + j] != i; ++j)
;
fprintf(present, "x%d = ", j);
print_image_under_aut(present, preimage, i, defn, map, pcp);
fprintf(present, ",\n");
/*
}
*/
}
#if defined(DEBUG)
printf("the required pcp definitions are ");
print_array(defn, 1, 1 + lastg);
#endif
definition = allocate_vector(pcp->cc + 1, 0, FALSE);
for (i = y[pcp->clend + 1] + 1; i <= lastg; ++i)
if (defn[i] == TRUE) {
/* look up and print the structure of the pcp generator i */
find_structure(i, definition, pcp);
print_definition(present, preimage, i, definition, pcp);
}
free_vector(definition, 0);
free_vector(preimage, 1);
free_vector(image, 1);
free_vector(defn, 1);
}
if (ndrel != 0)
fprintf(present, "};\n");
CloseFile(present);
}
/* is pcp generator i mapped to the identity? its image is supplied as map */
static Logical is_ident(int *map, int i, int lastg)
{
register int j;
Logical identity = TRUE;
j = 1;
while (j <= lastg && identity) {
identity = (i == j) ? map[j] == 1 : map[j] == 0;
++j;
}
return identity;
}
/* is the map the identity on the pcp generators of the Frattini quotient */
static Logical is_identity_map(int **map, int ndgen, int lastg)
{
Logical identity = TRUE;
register int i;
i = 1;
while (i <= ndgen && (identity = is_ident(map[i], i, lastg)))
++i;
return identity;
}
/* find length of image of gen under map */
static int
length_of_image(int gen, Logical *defn, int **map, struct pcp_vars *pcp)
{
register int lastg = pcp->lastg;
register int i;
int non_zero = 0;
for (i = 1; i <= lastg; ++i) {
if (map[gen][i] != 0) {
defn[i] = TRUE;
++non_zero;
}
}
return non_zero;
}
/* print image of gen under map */
static void print_image_under_aut(FILE *present,
int *preimage,
int gen,
Logical *defn,
int **map,
struct pcp_vars *pcp)
{
register int lastg = pcp->lastg;
register int i;
int non_zero;
int nmr_printed = 0;
int preim, value;
char *s;
non_zero = length_of_image(gen, defn, map, pcp);
assert(preimage);
assert(defn);
assert(map);
for (i = 1; i <= lastg; ++i) {
if (map[gen][i] == 0)
continue;
++nmr_printed;
preim = preimage[i];
s = (preim != 0) ? "x" : "y";
value = (preim != 0) ? preim : i;
fprintf(present, "%s%d", s, value);
if (map[gen][i] != 1)
fprintf(present, "^%d", map[gen][i]);
if (nmr_printed != non_zero)
fprintf(present, " * ");
}
}
/* print definition of pcp generator, gen */
static void print_definition(FILE *present,
int *preimage,
int gen,
int *definition,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int start = y[pcp->clend + 1] + 1;
register int exponent;
register int limit;
register int i;
int power, m, root = 0;
Logical first;
char *s;
int r;
#include "access.h"
fprintf(present, "y%d = ", gen);
if (gen < start) {
fprintf(present, "y%d", gen);
} else {
/* replace generator by its definition */
if (definition[0] == POWER) {
power = 0;
first = TRUE;
limit = WT(y[pcp->structure + gen]);
for (m = 1; m <= limit; ++m) {
if (definition[m] != 0) {
++power;
if (first) {
root = definition[m];
first = FALSE;
}
}
}
exponent = int_power(pcp->p, power - 1);
s = preimage[root] != 0 ? "x" : "y";
r = preimage[root] != 0 ? preimage[root] : root;
fprintf(present, "%s%d^%d", s, r, exponent);
}
if (definition[0] == COMMUTATOR) {
/* a "commutator" definition may be of the sort
[b, ..., b, a, a, a] where there are k occurrences
of the first term, b; in fact, this corresponds to
a definition [b^(p^(k - 1)), a, a, a]; we must first
check to see if this is the case */
power = 1;
root = definition[1];
limit = WT(y[pcp->structure + gen]);
for (i = 2; i < limit && root == definition[i]; ++i)
++power;
exponent = int_power(pcp->p, power - 1);
fprintf(present, "[");
s = preimage[root] != 0 ? "x" : "y";
r = preimage[root] != 0 ? preimage[root] : root;
if (exponent != 1)
fprintf(present, "%s%d^%d,", s, r, exponent);
else
fprintf(present, "%s%d,", s, r);
for (m = i; m <= limit; ++m) {
root = definition[m];
s = preimage[root] != 0 ? "x" : "y";
r = preimage[root] != 0 ? preimage[root] : root;
fprintf(present, " %s%d", s, r);
if (m != limit)
fprintf(present, ",");
else
fprintf(present, "]");
}
}
fprintf(present, ",\n");
}
}
#endif
anupq-3.3.0/src/find_allowable_subgroup.c 000644 000766 000024 00000011576 14355420571 020773 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A find_allowable_subgroup.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "standard.h"
#if defined(STANDARD_PCP)
/* which generator of the p-covering group did u and v define? */
static int find_index(int u, int v, int **definition, int q)
{
register int i;
for (i = 0; i < q; ++i)
if (u == definition[i][0] && v == definition[i][1])
return i;
return -1;
}
/* given a presentation for the p-covering group of a
class c p-quotient; find the allowable subgroup which
determines the presentation for the class c + 1 quotient;
set up its definition set both as a bit_string and as a subset */
int **find_allowable_subgroup(int option,
FILE *cover_tmp_file,
FILE *group_tmp_file,
int *bit_string,
int **subset,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int generator, exp, r, i;
register int structure, lastg;
register int start = pcp->ccbeg;
register int q = pga->q;
register int end = start + q - 1;
register int pointer;
register int length;
register int u, v;
int **definition;
int *relation;
int **subgroup;
int index, x;
int nmr_defs;
#include "access.h"
/* restore the presentation for the p-covering group */
restore_pcp(cover_tmp_file, pcp);
RESET(cover_tmp_file);
definition = allocate_matrix(q, 2, 0, FALSE);
structure = pcp->structure;
/* store the definitions of the generators of the relevant
initial segment subgroup of the p-multiplicator */
for (generator = start; generator <= end; ++generator) {
pointer = y[structure + generator];
u = PART2(pointer);
v = PART3(pointer);
definition[generator - start][0] = u;
definition[generator - start][1] = v;
}
#if defined(DEBUG)
printf("The definition matrix is\n");
print_matrix(definition, q, 2);
#endif
/* now restore the presentation for the class c + 1 quotient */
restore_pcp(group_tmp_file, pcp);
RESET(group_tmp_file);
#if defined(DEBUG)
pcp->diagn = TRUE;
print_presentation(TRUE, pcp);
pcp->diagn = FALSE;
#endif
structure = pcp->structure;
lastg = pcp->lastg;
subgroup = allocate_matrix(pga->s, q, 0, TRUE);
relation = allocate_vector(q, 0, TRUE);
*bit_string = 0;
*subset = allocate_vector(lastg - start + 1, 0, FALSE);
/* check the values of the definitions in this quotient
and set up its definition set */
index = 0;
for (generator = start; generator <= lastg; ++generator) {
pointer = y[structure + generator];
u = PART2(pointer);
v = PART3(pointer);
if ((x = find_index(u, v, definition, q)) != -1) {
*bit_string |= 1 << x;
(*subset)[index] = x;
subgroup[index++][x] = 1;
relation[x] = TRUE;
} else {
(*subset)[index++] = -1;
}
}
#if defined(DEBUG)
printf("Bit string and matrix are %d and ", *bit_string);
print_array(*subset, 0, lastg - start);
#endif
if (option == RELATIVE) {
nmr_defs = 0;
for (i = 0; i < lastg - start + 1; ++i)
if ((*subset)[i] >= 0)
++nmr_defs;
pga->s = nmr_defs;
/* memory leakage September 1996 */
free_matrix(definition, q, 0);
free_vector(relation, 0);
free_matrix(subgroup, pga->s, 0);
free_vector(*subset, 0);
*subset = (int *)0;
return (int **)0;
}
/* look up necessary relations in the class c + 1 quotient
and store the appropriate exponents in subgroup matrix */
for (r = 0; r < q; ++r) {
if (relation[r] == TRUE)
continue;
u = definition[r][0];
v = definition[r][1];
/* look up u^p or [u, v] */
pointer = (v == 0) ? y[pcp->ppower + u] : y[y[pcp->ppcomm + u] + v];
/* set up the exponents of these relations in the subgroup matrix */
if (pointer > 0)
subgroup[pointer - start][r] = 1;
else if (pointer < 0) {
pointer = -pointer + 1;
length = y[pointer];
for (i = 1; i <= length; i++) {
exp = FIELD1(y[pointer + i]);
generator = FIELD2(y[pointer + i]);
if (generator >= start)
subgroup[generator - start][r] = exp;
}
}
}
#if defined(DEBUG)
printf("The subgroup matrix is\n");
print_matrix(subgroup, pga->s, q);
#endif
free_matrix(definition, q, 0);
free_vector(relation, 0);
return subgroup;
}
#endif
anupq-3.3.0/src/update.c 000644 000766 000024 00000013021 14355420571 015350 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A update.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* the new values for irredundant generators have been
assembled in eliminate in a table pointed to by y[dgen];
update the value represented by y[ptr] and y[ptr] if necessary */
void update(int ptr, struct pcp_vars *pcp)
{
register int *y = y_address;
register int g;
register int i;
register int k;
register int p1 = ptr;
register int p2;
register int p3;
register int renumb;
register int count;
register int expfba;
register int count1;
register int factor;
register int count2;
register int lastg;
register int value;
register int structure = pcp->structure;
register int lused = pcp->lused;
register int class_beg = pcp->ccbeg;
register int dgen = pcp->dgen;
#include "access.h"
if (y[p1] == 0)
return;
/* consider case where y[ptr] represents a generator */
if (y[p1] > 0) {
if (class_beg - y[p1] > 0)
return;
/* the generator is of class pcp->cc */
g = y[p1];
value = y[structure + g];
if (value == 0) {
/* g is now trivial */
y[p1] = 0;
} else if (value > 0) {
/* g is an irredundant generator */
renumb = -y[dgen] - class_beg + 2;
y[p1] = y[renumb + g];
} else {
/* g is redundant with value pointed to by y[structure + g] */
if (is_space_exhausted(g - class_beg + 1, pcp))
return;
lused = pcp->lused;
p2 = -y[structure + g];
count = y[p2 + 1];
renumb = -y[dgen] - class_beg + 2;
/* make a renumbered copy of the value of g */
for (i = 1; i <= count; i++) {
k = FIELD2(y[p2 + i + 1]);
y[lused + 2 + i] = PACK2(FIELD1(y[p2 + i + 1]), y[renumb + k]);
}
y[lused + 1] = p1;
y[lused + 2] = count;
y[p1] = -(lused + 1);
pcp->lused += count + 2;
}
return;
}
/* the value represented by y[ptr] is a string;
find the length of the old class pcp->cc part and calculate
the new class pcp->cc part (in exponent form from y[lused + 1]) */
if (is_space_exhausted(pcp->lastg + 2, pcp))
return;
lused = pcp->lused;
renumb = -y[dgen] - class_beg + 2;
p3 = -y[p1];
expfba = lused + 1 - class_beg;
/* set exponent form trivial */
for (i = class_beg, lastg = pcp->lastg; i <= lastg; i++)
y[expfba + i] = 0;
count = y[p3 + 1];
/* convert each symbol of old class pcp->cc part */
for (count1 = count;
(g = FIELD2(y[p3 + count1 + 1])) >= class_beg && count1 > 0;
count1--) {
if ((i = y[structure + g]) >= 0) {
/* g is irredundant so renumber it */
if (i > 0) {
g = y[renumb + g];
y[expfba + g] += FIELD1(y[p3 + count1 + 1]);
}
} else {
/* g is redundant */
p2 = -y[structure + g];
factor = FIELD1(y[p3 + count1 + 1]);
count2 = y[p2 + 1];
for (i = 1; i <= count2; i++) {
g = FIELD2(y[p2 + i + 1]);
g = y[renumb + g];
y[expfba + g] += factor * FIELD1(y[p2 + i + 1]);
}
}
}
/* check if old class pcp->cc part was trivial */
if (count1 - count >= 0)
return;
/* convert new class pcp->cc part from exponent form to string */
count2 = 0;
for (i = class_beg, lastg = pcp->lastg; i <= lastg; i++) {
if (y[expfba + i] % pcp->p > 0) {
count2++;
y[lused + count2] = PACK2(y[expfba + i] % pcp->p, i);
}
}
/* check if new class pcp->cc part is trivial */
if (count2 <= 0) {
/* if entire value is trivial, deallocate old value */
if (count1 <= 0) {
y[p1] = y[p3] = 0;
return;
}
/* deallocate old class pcp->cc part */
if (count == count1 + 1)
y[p3 + count1 + 2] = -1;
else {
y[p3 + count1 + 3] = count - count1 - 2;
y[p3 + count1 + 2] = 0;
}
/* fix header block */
y[p3 + 1] = count1;
return;
}
/* new part is nontrivial; check if it is longer
than the old class pcp->cc part */
if (count > count1 + count2) {
/* new part is shorter than old part so deallocate the spare words */
if (count == count1 + count2 + 1)
y[p3 + count1 + count2 + 2] = -1;
else {
y[p3 + count1 + count2 + 2] = 0;
y[p3 + count1 + count2 + 3] = count - count1 - count2 - 2;
}
}
if (count >= count1 + count2) {
/* copy in the new class pcp->cc part */
for (i = 1; i <= count2; i++)
y[p3 + count1 + i + 1] = y[lused + i];
/* fix header block */
y[p3 + 1] = count1 + count2;
return;
}
/* new part is longer than the old part; move up the new
class pcp->cc part to copy in the earlier parts */
k = lused + count2 + 1;
for (i = 1; i <= count2; i++) {
--k;
y[k + 2 + count1] = y[k];
}
k = count1 + 2;
/* copy in the earlier parts */
for (i = 1; i <= k; i++)
y[lused + i] = y[p3 - 1 + i];
/* deallocate old value */
y[p3] = 0;
/* fix new header block */
y[lused + 2] = count1 + count2;
/* fix pointer */
y[p1] = -(lused + 1);
pcp->lused += count1 + count2 + 2;
}
anupq-3.3.0/src/update_generators.c 000644 000766 000024 00000010740 14355420571 017606 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A update_generators.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* add pseudo-generators to redundant defining generators;
also recompute required inverses of defining generators;
this routine must be called before a call to collect defining
relations; if there are redundant defining generators, calls to
eliminate should only be done after calling update_generator
because the space reserved for the pseudo-generator(s) added
by update_generator in structure is not set up yet */
void update_generators(struct pcp_vars *pcp)
{
register int *y = y_address;
register int f;
register int i;
register int cp;
register int start;
register int ycol;
register int length;
register int extra;
register int value;
register int prime = pcp->p;
register int dgen = pcp->dgen;
register int ndgen = pcp->ndgen;
register int lused;
register int lastg;
#include "access.h"
/* first, add pseudo-generators to redundant defining generators */
for (f = 1; f <= ndgen; f++) {
value = y[dgen + f];
if (value == 0) {
/* defining generator f was trivial; insert pseudo-generator */
if (is_space_exhausted(3, pcp))
return;
pcp->lused += 3;
lused = pcp->lused;
/* set up block header block and pointer to it */
y[lused - 2] = dgen + f;
y[lused - 1] = 1;
y[dgen + f] = -(lused - 2);
/* add pseudo-generator */
pcp->lastg++;
y[lused] = PACK2(1, pcp->lastg);
/* if there are greater than MAXGENS defining generators
then this field will overflow; such an overflow causes
some output idiocies, but no logical errors */
y[pcp->structure + pcp->lastg] = PACK3(0, 0, f) + INSWT(pcp->cc);
} else if (value < 0) {
/* old entry was non-trivial so we deallocate it
and insert pseudo-generator */
extend_tail(dgen + f, 0, f, pcp);
if (pcp->overflow)
return;
}
}
/* update submlg to account for any new pseudo-generators introduced */
pcp->submlg = pcp->subgrp - pcp->lastg;
/* now, recompute required inverses --
we know the inverse of f to the end of class pcp->cc - 1;
denote this by f'; evaluate f * f' and take the inverse of
this result to give the class pcp->cc part of f^-1 */
for (f = 1; f <= ndgen; f++) {
if (y[dgen - f] > 0)
continue;
if (is_space_exhausted(2 * pcp->lastg + 2, pcp))
return;
lastg = pcp->lastg;
lused = pcp->lused;
cp = lused + lastg + 2;
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
ycol = y[dgen + f];
collect(ycol, cp, pcp);
ycol = y[dgen - f];
collect(ycol, cp, pcp);
/* inverse of the class pcp->cc part of f^(-1) is now in
y[cp + pcp->ccbeg] to y[cp + pcp->lastg] in exponent form;
convert it to string form */
length = 0;
for (i = pcp->ccbeg; i <= lastg; i++) {
if ((ycol = y[cp + i]) > 0) {
++length;
y[lused + 2 + length] = PACK2(prime - ycol, i);
}
}
if (length == 0)
continue;
/* the class pcp->cc part of f^(-1) is nontrivial */
if (y[dgen - f] >= 0) {
/* f^(-1) was previously trivial */
y[lused + 1] = dgen - f;
y[lused + 2] = length;
y[dgen - f] = -(lused + 1);
pcp->lused += length + 2;
lused = pcp->lused;
} else {
/* f^(-1) was nontrivial, so make room for lower class entries */
start = -y[dgen - f];
extra = y[start + 1];
ycol = lused + length + 3;
for (i = 1; i <= length; i++)
y[ycol + extra - i] = y[ycol - i];
/* copy header block and lower class entries */
for (i = 1; i <= extra; i++)
y[lused + i + 2] = y[start + i + 1];
/* fix header block */
y[lused + 1] = y[start];
y[lused + 2] = length + extra;
/* deallocate old entry */
y[start] = 0;
/* set up pointer to new entry */
y[dgen - f] = -(lused + 1);
pcp->lused += length + extra + 2;
}
}
}
anupq-3.3.0/src/defaults_pga.c 000644 000766 000024 00000023106 14355420571 016531 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A defaults_pga.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#define SINGLE_STAGE 5
/* set up algorithm and print defaults for p-group generation calculation */
void defaults_pga(int option,
int *k,
struct pga_vars *flag,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int default_algorithm;
int default_output;
int default_perm_info;
int default_group_info;
int default_orbit_info;
int default_automorphism_info;
set_defaults(flag);
if (option == SINGLE_STAGE)
read_step_size(pga, pcp);
flag->step_size = pga->step_size;
query_solubility(flag);
read_value(
TRUE, "Do you want default algorithm? ", &default_algorithm, INT_MIN);
if (!default_algorithm) {
read_subgroup_rank(k);
if (flag->soluble)
query_space_efficiency(flag);
query_terminal(flag);
query_exponent_law(flag);
query_metabelian_law(flag);
} else {
*k = 0;
}
read_value(TRUE, "Do you want default output? ", &default_output, INT_MIN);
if (default_output)
return;
read_value(TRUE,
"Do you want default permutation group output? ",
&default_perm_info,
INT_MIN);
if (!default_perm_info) {
query_degree_aut_information(flag);
query_perm_information(flag);
}
read_value(TRUE,
"Do you want default orbit information? ",
&default_orbit_info,
INT_MIN);
if (!default_orbit_info)
query_orbit_information(flag);
read_value(TRUE,
"Do you want default group information? ",
&default_group_info,
INT_MIN);
if (!default_group_info)
query_group_information(pcp->p, flag);
read_value(TRUE,
"Do you want default automorphism group information? ",
&default_automorphism_info,
INT_MIN);
if (!default_automorphism_info)
query_aut_group_information(flag);
read_value(TRUE,
"Do you want algorithm trace information? ",
&flag->trace,
INT_MIN);
}
/* set printing and algorithm defaults up in flag structure for storage */
void set_defaults(struct pga_vars *flag)
{
flag->print_extensions = FALSE;
flag->print_automorphism_matrix = FALSE;
flag->print_degree = FALSE;
flag->print_permutation = FALSE;
flag->print_subgroup = FALSE;
flag->print_reduced_cover = FALSE;
flag->print_group = FALSE;
flag->print_nuclear_rank = FALSE;
flag->print_multiplicator_rank = FALSE;
flag->print_orbit_summary = FALSE;
flag->print_orbits = FALSE;
flag->print_orbit_arrays = FALSE;
flag->print_commutator_matrix = FALSE;
flag->print_automorphisms = FALSE;
flag->print_automorphism_order = FALSE;
flag->print_stabiliser_array = FALSE;
flag->trace = FALSE;
flag->space_efficient = FALSE;
flag->soluble = TRUE;
flag->terminal = FALSE;
flag->metabelian = FALSE;
flag->exponent_law = 0;
}
/* copy printing and algorithm defaults from flag structure to pga */
void copy_flags(struct pga_vars *flag, struct pga_vars *pga)
{
pga->print_extensions = flag->print_extensions;
pga->print_automorphism_matrix = flag->print_automorphism_matrix;
pga->print_degree = flag->print_degree;
pga->print_permutation = flag->print_permutation;
pga->print_subgroup = flag->print_subgroup;
pga->print_reduced_cover = flag->print_reduced_cover;
pga->print_group = flag->print_group;
pga->print_nuclear_rank = flag->print_nuclear_rank;
pga->print_multiplicator_rank = flag->print_multiplicator_rank;
pga->print_orbits = flag->print_orbits;
pga->print_orbit_summary = flag->print_orbit_summary;
pga->print_orbit_arrays = flag->print_orbit_arrays;
pga->print_commutator_matrix = flag->print_commutator_matrix;
pga->print_automorphisms = flag->print_automorphisms;
pga->print_automorphism_order = flag->print_automorphism_order;
pga->print_stabiliser_array = flag->print_stabiliser_array;
pga->trace = flag->trace;
pga->space_efficient = flag->space_efficient;
pga->soluble = flag->soluble;
pga->terminal = flag->terminal;
pga->exponent_law = flag->exponent_law;
pga->metabelian = flag->metabelian;
pga->step_size = flag->step_size;
}
/* use space efficient option? */
void query_space_efficiency(struct pga_vars *pga)
{
read_value(
TRUE, "Space efficient computation? ", &pga->space_efficient, INT_MIN);
}
/* orbit information to be printed */
void query_orbit_information(struct pga_vars *pga)
{
read_value(TRUE,
"Summary of orbit information? ",
&pga->print_orbit_summary,
INT_MIN);
read_value(
TRUE, "Complete listing of orbits? ", &pga->print_orbits, INT_MIN);
pga->print_orbit_arrays = FALSE;
}
/* group information to be printed */
void query_group_information(int p, struct pga_vars *pga)
{
read_value(TRUE,
"Print standard matrix of allowable subgroup? ",
&pga->print_subgroup,
INT_MIN);
read_value(TRUE,
"Presentation of reduced p-covering groups? ",
&pga->print_reduced_cover,
INT_MIN);
read_value(TRUE,
"Presentation of immediate descendants? ",
&pga->print_group,
INT_MIN);
read_value(TRUE,
"Print nuclear rank of descendants? ",
&pga->print_nuclear_rank,
INT_MIN);
read_value(TRUE,
"Print p-multiplicator rank of descendants? ",
&pga->print_multiplicator_rank,
INT_MIN);
}
/* automorphism group information to be printed */
void query_aut_group_information(struct pga_vars *pga)
{
read_value(TRUE,
"Print commutator matrix? ",
&pga->print_commutator_matrix,
INT_MIN);
read_value(TRUE,
"Automorphism group description of descendants? ",
&pga->print_automorphisms,
INT_MIN);
#ifdef HAVE_GMP
read_value(TRUE,
"Automorphism group order of descendants? ",
&pga->print_automorphism_order,
INT_MIN);
#else
/* HACK: still ask the question, to prevent the GAP interface from
getting "confused" (it blindly fires input at us, without checking
what the prompt is). */
int fake;
read_value(TRUE,
"PLACEHOLDER QUESTION (GMP disabled), input any integer? ",
&fake,
INT_MIN);
#endif
pga->print_stabiliser_array = FALSE;
}
/* degree and extended automorphism information to be printed */
void query_degree_aut_information(struct pga_vars *pga)
{
read_value(TRUE,
"Print degree of permutation group? ",
&pga->print_degree,
INT_MIN);
read_value(
TRUE, "Print extended automorphisms? ", &pga->print_extensions, INT_MIN);
}
/* other permutation group information to be printed */
void query_perm_information(struct pga_vars *pga)
{
read_value(TRUE,
"Print automorphism matrices? ",
&pga->print_automorphism_matrix,
INT_MIN);
read_value(TRUE, "Print permutations? ", &pga->print_permutation, INT_MIN);
}
/* read step size */
void read_step_size(struct pga_vars *pga, struct pcp_vars *pcp)
{
Logical reading = TRUE;
while (reading) {
read_value(TRUE, "Input step size: ", &pga->step_size, 1);
reading = (pga->step_size <= 0);
if (isatty(0))
reading = (reading || (pga->step_size > pcp->newgen));
if (reading)
printf("Error: step sizes range from 1 to %d only\n", pcp->newgen);
/*
if (reading = (pga->step_size <= 0 || pga->step_size > pcp->newgen))
printf ("Error: step sizes range from 1 to %d only\n", pcp->newgen);
*/
}
}
/* read class bound */
void read_class_bound(int *class_bound, struct pcp_vars *pcp)
{
read_value(TRUE, "Input class bound on descendants: ", class_bound, pcp->cc);
}
/* read order bound */
void read_order_bound(int *order_bound, struct pcp_vars *pcp)
{
register int *y = y_address;
int least_order = y[pcp->clend + pcp->cc - 1] + 1;
read_value(
TRUE, "Input order bound on descendants: ", order_bound, least_order);
}
/* read rank of initial-segment subgroup */
void read_subgroup_rank(int *k)
{
read_value(TRUE, "Rank of the initial segment subgroup? ", k, 0);
*k = MAX(0, *k - 1);
}
/* supply a PAG-generating sequence for automorphism group? */
void query_solubility(struct pga_vars *pga)
{
read_value(TRUE,
"PAG-generating sequence for automorphism group? ",
&pga->soluble,
INT_MIN);
}
/* completely process all (capable and terminal) descendants? */
void query_terminal(struct pga_vars *pga)
{
read_value(TRUE,
"Completely process terminal descendants? ",
&pga->terminal,
INT_MIN);
}
/* set exponent law for all descendants to satisfy */
void query_exponent_law(struct pga_vars *pga)
{
read_value(
TRUE, "Input exponent law (0 if none): ", &pga->exponent_law, INT_MIN);
}
/* enforce metabelian law on all descendants */
void query_metabelian_law(struct pga_vars *pga)
{
read_value(TRUE, "Enforce metabelian law? ", &pga->metabelian, INT_MIN);
}
anupq-3.3.0/src/extend_automorphisms.c 000644 000766 000024 00000012656 14355420571 020364 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A extend_automorphisms.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
static int nmr_of_bytes;
static void extend_automorphism(int **auts, struct pcp_vars *pcp);
/* for each automorphism, compute its action on each of the generators */
void extend_automorphisms(int ***auts, int nmr_of_auts, struct pcp_vars *pcp)
{
register int alpha;
nmr_of_bytes = pcp->lastg * sizeof(int);
if (is_space_exhausted(7 * pcp->lastg + 4, pcp))
return;
for (alpha = 1; alpha <= nmr_of_auts; ++alpha)
extend_automorphism(auts[alpha], pcp);
}
/* extend the automorphism whose action on the defining generators
of the group is described by the supplied 2-dimensional matrix,
auts, to act on all of the generators of the group */
static void extend_automorphism(int **auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int generator;
register int lastg = pcp->lastg;
register int structure = pcp->structure;
int cp1 = pcp->submlg - lastg - 2;
int cp2 = cp1 - lastg;
int result = cp2 - lastg;
int start = y[pcp->clend + 1] + 1;
register int value;
int u, v;
#include "access.h"
/* update submlg because of possible call to power */
pcp->submlg -= (3 * lastg + 2);
/* for each generator, compute its image under the action of auts */
for (generator = start; generator <= lastg; ++generator) {
/* examine the definition of generator */
value = y[structure + generator];
u = PART2(value);
v = PART3(value);
if (v == 0)
extend_power(cp1, cp2, u, auts, pcp);
else
extend_commutator(cp1, cp2, u, v, auts, pcp);
/* solve the appropriate equation, storing the image
of generator under the action of alpha at result */
solve_equation(cp1, cp2, result, pcp);
/* now copy the result to auts */
memcpy(auts[generator] + 1, y + result + 1, nmr_of_bytes);
}
/* reset value of submlg */
pcp->submlg += (3 * lastg + 2);
}
/* given generator t of the p-multiplicator, whose definition is
u^p; hence, we have the equation
u^p = W * t
where W is a word (possibly trivial) in the generators of the group;
find the image of t under alpha by setting up (W)alpha at cp1,
((u)alpha)^p at cp2, and then call solve_equation */
void extend_power(int cp1, int cp2, int u, int **auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int lastg = pcp->lastg;
/* set up the image of u under alpha at cp2 and zero vector at cp1 */
for (i = 1; i <= lastg; ++i) {
y[cp2 + i] = auts[u][i];
y[cp1 + i] = 0;
}
/* raise the image of u under alpha to its pth power */
power(pcp->p, cp2, pcp);
/* set up image of W under alpha at cp1 */
if (y[pcp->ppower + u] < 0)
collect_image_of_string(-y[pcp->ppower + u], cp1, auts, pcp);
}
/* given generator t of the p-multiplicator, whose definition is
[u, v]; hence, we have the equation
[u, v] = W * t, or equivalently, u * v = v * u * W * t
where W is a word (possibly trivial) in the generators of the group;
find the image of t under alpha by setting up
(v)alpha * (u)alpha * (W)alpha at cp1, (u)alpha * (v)alpha at cp2
and then call solve_equation */
void extend_commutator(
int cp1, int cp2, int u, int v, int **auts, struct pcp_vars *pcp)
{
register int *y = y_address;
int pointer;
/* set up image under alpha of u at cp2 and image of v at cp1 */
memcpy(y + cp2 + 1, auts[u] + 1, nmr_of_bytes);
memcpy(y + cp1 + 1, auts[v] + 1, nmr_of_bytes);
/* collect image of v under alpha at cp2 */
collect_image_of_generator(cp2, auts[v], pcp);
/* collect image of u under alpha at cp1 */
collect_image_of_generator(cp1, auts[u], pcp);
/* collect image of W under alpha at cp1 */
pointer = y[pcp->ppcomm + u];
if (y[pointer + v] < 0)
collect_image_of_string(-y[pointer + v], cp1, auts, pcp);
}
/* collect the image of a generator under the action of
an automorphism and store the result at cp */
void collect_image_of_generator(int cp, int *auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lused = pcp->lused;
register int lastg = pcp->lastg;
register int length = 0;
register int i;
int exp;
#include "access.h"
for (i = 1; i <= lastg; ++i) {
if ((exp = auts[i]) != 0)
y[lused + 1 + (++length)] = PACK2(exp, i);
}
y[lused + 1] = length;
collect(-lused, cp, pcp);
}
/* collect image of supplied string under the action of
supplied automorphism, auts, and store the result at cp */
void
collect_image_of_string(int string, int cp, int **auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
int generator, exp;
int length = y[string + 1] - 1; /* last element of string
is in p-multiplicator */
#include "access.h"
/* collect the string generator by generator */
for (i = 1; i <= length; ++i) {
generator = FIELD2(y[string + 1 + i]);
exp = FIELD1(y[string + 1 + i]);
while (exp > 0) {
collect_image_of_generator(cp, auts[generator], pcp);
--exp;
}
}
}
anupq-3.3.0/src/maxoccur.c 000644 000766 000024 00000002326 14355420571 015715 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A maxoccur.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* set maximal occurrences for pcp generators of weight one */
void set_maxoccur(struct pcp_vars *pcp)
{
register int *y = y_address;
register int ndgen = pcp->ndgen;
register int dgen = pcp->dgen;
register int moccur = dgen + ndgen;
register int nmr_of_generators = y[pcp->clend + 1];
register int sum = 0;
register int i;
Logical zero = FALSE;
Logical flag;
printf("Input occurrence limits for each of the %d", nmr_of_generators);
printf(" pcp generators of weight one: ");
for (i = 1; i <= nmr_of_generators; i++) {
flag = (i == nmr_of_generators) ? TRUE : FALSE;
read_value(flag, "", &y[moccur + i], 0);
sum += y[moccur + i];
zero |= (y[moccur + i] == 0);
}
if (sum == 0)
pcp->nocset = 0;
else if (zero)
pcp->nocset = 1;
else
pcp->nocset = sum;
}
anupq-3.3.0/src/last_class.c 000644 000766 000024 00000003167 14355420571 016230 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A last_class.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* delete all entries for class pcp->cc and note that
it is still set up (that is, set pcp->ncset = 1) */
void last_class(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int p1;
register int bound;
register int structure;
register int ndgen = pcp->ndgen;
if (pcp->ncset != 0 || pcp->cc == 1) {
text(10, 0, 0, 0, 0);
return;
}
/* remove all word and subgroup tables entries */
delete_tables(0, pcp);
/* remove all equations */
structure = pcp->structure;
for (i = pcp->ccbeg, bound = pcp->lastg; i <= bound; i++) {
if ((j = y[structure + i]) < 0) {
/* deallocate this equation */
y[-j] = 0;
}
}
/* initialise this value to 0 */
y[pcp->clend + pcp->cc] = 0;
--pcp->cc;
pcp->lastg = pcp->ccbeg - 1;
pcp->submlg = pcp->subgrp - pcp->lastg;
pcp->ccbeg = y[pcp->clend + pcp->cc - 1] + 1;
for (i = 1, bound = pcp->lastg; i <= bound; i++)
down_class(pcp->ppower + i, pcp);
p1 = y[pcp->ppcomm + 2];
for (i = 1, bound = pcp->ncomm; i <= bound; i++)
down_class(p1 + i, pcp);
for (i = 1; i <= ndgen; i++) {
down_class(pcp->dgen + i, pcp);
down_class(pcp->dgen - i, pcp);
}
pcp->ncset = 1;
}
anupq-3.3.0/src/commute_dgen.c 000644 000766 000024 00000010575 14355420571 016547 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A commute_dgen.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "pretty_filterfns.h"
#include "word_types.h"
static void
collect_defining_generator_word(int ptr, int cp, struct pcp_vars *pcp);
/* calculate a power of a left-normed commutator of supplied depth
by repeated calls to find_commutator; set up the result as an
exponent vector with base address pcp->lused in order to permit
the result to be handed to echelon easily; each component
is a defining generator */
void commute_defining_generators(int format, struct pcp_vars *pcp)
{
register int *y = y_address;
register int ptr, cp1, cp2, cp3, cp4, result;
register int lastg = pcp->lastg;
register int total;
int disp = 0;
int type;
int depth;
int exp;
total = 6 * lastg + 6;
if (is_space_exhausted(total, pcp))
return;
cp1 = pcp->submlg - lastg - 2;
cp2 = cp1 - lastg;
cp3 = cp2 - lastg;
cp4 = cp3 - lastg;
result = cp4 - lastg;
ptr = pcp->lused + 1;
/* fudge the value of submlg because of possible call to power */
pcp->submlg -= total;
read_value(TRUE, "Input number of components of commutator: ", &depth, 2);
/* read in a and set it up at cp2 and cp3 */
type = FIRST_ENTRY;
if (format == BASIC)
read_word(stdin, disp, type, pcp);
else
pretty_read_word(stdin, disp, type, pcp);
collect_defining_generator_word(ptr, cp2, pcp);
copy(cp2, lastg, cp3, pcp);
type = NEXT_ENTRY;
disp = y[ptr] + 1;
while (--depth > 0) {
/* read in next component, b, and set it up at cp1 and cp4 */
if (format == BASIC)
read_word(stdin, disp, type, pcp);
else
pretty_read_word(stdin, disp, type, pcp);
collect_defining_generator_word(ptr + disp, cp1, pcp);
copy(cp1, lastg, cp4, pcp);
/* solve the equation (ba) * x = ab to obtain [a, b] */
find_commutator(cp1, cp2, cp3, cp4, result, pcp);
copy(result, lastg, cp2, pcp);
copy(result, lastg, cp3, pcp);
}
read_value(TRUE, "Input required power of this commutator: ", &exp, 1);
power(exp, result, pcp);
/* print the commutator */
setup_word_to_print("commutator", result, ptr, pcp);
/* copy result to pcp->lused */
copy(result, lastg, pcp->lused, pcp);
/* reset the value of submlg */
pcp->submlg += total;
}
/* collect word in defining generators stored as string at
y[ptr] and place the result as exponent vector at cp */
static void
collect_defining_generator_word(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
int i, generator, genval;
#if defined(DEBUG)
int j, word_len;
#endif
int length, exp;
register int lastg = pcp->lastg;
/* zero out lastg entries in array in order to store result */
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
length = y[ptr];
for (i = 1; i < length; ++i) {
generator = y[ptr + 1 + i];
genval = y[pcp->dgen + generator];
#if defined(DEBUG)
if (genval > 0)
printf("%d %d\n", generator, genval);
else if (genval < 0) {
printf("%d %d ", generator, y[-genval]);
word_len = y[-genval + 1];
for (j = 1; j <= word_len; ++j)
printf(" %d", y[-genval + 1 + j]);
};
if (genval == 0)
printf("No defining generator %d -- taken to be the identity\n",
generator);
#endif
collect(genval, cp, pcp);
}
/* calculate power of this word */
exp = y[ptr + 1];
power(exp, cp, pcp);
#if defined(DEBUG)
print_array(y, cp, cp + pcp->lastg + 1);
#endif
}
/* prepare to collect word in defining generators */
void setup_defgen_word_to_collect(
FILE *file, int format, int type, int cp, struct pcp_vars *pcp)
{
int disp = pcp->lastg + 2;
register int ptr;
ptr = pcp->lused + 1 + disp;
if (format == BASIC)
read_word(file, disp, type, pcp);
else
pretty_read_word(file, disp, type, pcp);
collect_defining_generator_word(ptr, cp, pcp);
if (type == ACTION || file != stdin)
return;
setup_word_to_print("result of collection", cp, ptr, pcp);
}
anupq-3.3.0/src/FreeSpace.c 000644 000766 000024 00000005122 14355420571 015726 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A FreeSpace.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pcp_vars.h"
/* free space used by vector, a, whose first index is start */
void free_vector(int *a, int start)
{
#ifdef DEBUG
printf("Free vector\n");
#endif
if (start)
++a;
free(a);
}
/* free space used by matrix, a, whose indices commence at either 0 or 1 */
void free_matrix(int **a, int n, int start)
{
register int i;
#ifdef DEBUG
printf("Free matrix\n");
#endif
if (n == 0)
n = 1;
for (i = start; i < start + n; ++i) {
if (start)
++a[i];
free(a[i]);
}
if (start)
++a;
free(a);
}
/* free space used by array, a, whose indices commence at either 0 or 1 */
void free_array(int ***a, int n, int m, int start)
{
register int i, j;
#ifdef DEBUG
printf("Free array\n");
#endif
if (n == 0)
n = 1;
if (m == 0)
m = 1;
for (i = start; i < start + n; ++i) {
for (j = start; j < start + m; ++j) {
if (start)
++a[i][j];
free(a[i][j]);
}
if (start)
++a[i];
free(a[i]);
}
if (start)
++a;
free(a);
}
/* free space used by character vector, a, whose first index is start */
void free_char_vector(char *a, int start)
{
#ifdef DEBUG
printf("Free char vector\n");
#endif
if (start)
++a;
free(a);
}
/* free space used by character matrix, a */
void free_char_matrix(char **a, int n)
{
register int i;
#ifdef DEBUG
printf("Free char matrix\n");
#endif
if (n == 0)
n = 1;
for (i = 0; i < n; ++i)
free(a[i]);
free(a);
}
/* free space used in computing orbits and stabilisers */
void free_space(Logical soluble_computation,
int **perms,
int *orbit_length,
int *a,
int *b,
char *c,
struct pga_vars *pga)
{
int nmr_of_perms = (pga->space_efficient ? 1 : pga->nmr_of_perms);
#ifdef DEBUG
printf("Free space routine\n");
#endif
free_matrix(perms, nmr_of_perms, 1);
free_vector(orbit_length, 1);
free_vector(a, 1);
if (soluble_computation) {
free_vector(b, 1);
free_char_vector(c, 1);
}
free_vector(pga->map, 1);
free_vector(pga->rep, 1);
free_vector(pga->powers, 0);
free_vector(pga->inverse_modp, 0);
}
anupq-3.3.0/src/close_relations.c 000644 000766 000024 00000010622 14355420571 017257 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A close_relations.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#define SORT_FACTOR 25
/* close a queue of relations under the action of the automorphisms;
each of length entries in the queue is a pointer to
a relation of the sort
x = y1^a1 ... yq^aq
where each of x and y are among the new generators introduced;
apply automorphism alpha to this relation and rewrite to obtain
(y1^a1 ... yq^aq) * x^-1 = identity
this new relation is now echelonised */
void close_relations(Logical report,
int limit,
int queue_type,
int *head,
int *list,
int *queue,
int length,
int *long_queue,
int *long_queue_length,
struct pcp_vars *pcp)
{
register int *y = y_address;
char *s;
char *t;
int nmr_reds = 0;
int current = 1;
int gen;
int relation_length;
int generator, exponent;
register int offset;
int *copy;
int alpha, i;
int cp, p1;
int start = y[pcp->clend + pcp->cc - 1] + 1;
int prime = pcp->p;
int pm1 = pcp->pm1;
#include "access.h"
while (current <= length) {
gen = queue[current];
++current;
if (gen == 0)
continue;
if (current % SORT_FACTOR == 1) {
copy = queue + current - 1;
bubble_sort(copy, length - current + 1, pcp);
}
/* apply automorphism alpha to the relation */
for (alpha = 1; alpha <= pcp->m; ++alpha) {
if (is_space_exhausted(2 * pcp->lastg, pcp)) {
pcp->overflow = TRUE;
return;
}
cp = pcp->lused;
for (i = 1; i <= 2 * pcp->lastg; ++i)
y[cp + i] = 0;
offset = (alpha - 1) * pcp->lastg;
/* is the relation trivial? */
if (y[pcp->structure + gen] == 0)
traverse_list(1, head[offset + gen], list, cp, pcp);
else {
/* the relation was non-trivial; first, set up (gen)^-1 */
traverse_list(pm1, head[offset + gen], list, cp, pcp);
/* now apply the automorphism to each entry of
the string pointed to by y[pcp->structure + gen] */
p1 = -y[pcp->structure + gen];
relation_length = y[p1 + 1];
if (queue_type == 1 && relation_length > limit) {
long_queue[++*long_queue_length] = gen;
break;
}
for (i = 1; i <= relation_length; ++i) {
generator = FIELD2(y[p1 + 1 + i]);
exponent = FIELD1(y[p1 + 1 + i]);
traverse_list(exponent, head[offset + generator], list, cp, pcp);
}
/* now reduce the entries mod p */
for (i = start; i <= pcp->lastg; ++i)
y[cp + i] %= prime;
}
relation_length = echelon(pcp);
if (pcp->complete)
return;
/* if appropriate, add a new relation to the queue */
if (pcp->eliminate_flag) {
++nmr_reds;
if (relation_length <= limit || queue_type == 2)
queue[++length] = pcp->redgen;
if (relation_length > limit || queue_type == 2)
long_queue[++*long_queue_length] = pcp->redgen;
}
}
}
if (report || pcp->fullop || pcp->diagn) {
if (queue_type == 1)
s = "Short";
else
s = "Long";
if (nmr_reds == 1)
t = "y";
else
t = "ies";
printf("%s queue gave %d redundanc%s\n", s, nmr_reds, t);
}
}
/* add exponent times the action of automorphism with pointer head
to the contents of the exponent-vector with base address cp */
void
traverse_list(int exponent, int head, int *list, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int value;
register int length = list[++head];
#include "access.h"
while (length != 0) {
value = list[head + length];
y[cp + FIELD2(value)] += FIELD1(value) * exponent;
--length;
}
}
anupq-3.3.0/src/pretty_filterfns.c 000644 000766 000024 00000104534 14355420571 017503 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A pretty_filterfns.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pretty_filterfns.h"
#include "constants.h"
/* filter functions to process "pretty" presentation input;
this code was written and supplied by Sarah Rees */
static void word_double(word *wp);
static void word2user_name(word *prog_wordp, word *user_wordp);
int num_gens = 0;
gen_type *inv_of = 0;
word *user_gen_name = 0;
int gen_array_size = 53;
int *pairnumber = 0;
int paired_gens;
void pc_word_init(word *wp)
{
wp->g = anu_valloc(gen_type, 16);
wp->first = 0;
wp->last = -1;
wp->space = 16;
wp->type = 0; /* later set as 's' or 'c' */
wp->n = 1; /* only one for trivial or unexpanded words. After initialisation
this is set to 0 if the word is not a proper power, and to the
power otherwise.
*/
}
void word_init(word *wp)
{
wp->g = anu_valloc(gen_type, 16);
wp->first = 0;
wp->last = -1;
wp->space = 16;
wp->type = 's';
wp->n = 0;
}
/* Clear space allocated to a word.
The space assigned to a word (as a pointer to generators) is cleared.
*/
void word_clear(word *wp)
{
free((char *)wp->g);
wp->g = 0;
}
void pc_word_reset(word *wp)
{
wp->last = wp->first - 1;
wp->type = 0;
wp->n = 1;
}
void word_reset(word *wp)
{
wp->last = wp->first - 1;
}
/*
The word |*wp| has certainly been initialized, and may already contain a
non-trivial word. But the information it contains, if any, is redundant, and
can be thrown away. We just require the space for new information but there
may not be enough of it. If the word currently contains space for less than
n generators we increase the amount of space to this. We set the position
for the first word entry at a, and the last at a-1 (since at this stage the
word is empty).
*/
void word_stretch_reset(word *wp, int N, int a)
{
if (wp->space < N) {
free((char *)wp->g);
wp->g = 0;
wp->g = anu_valloc(gen_type, N);
wp->space = N;
}
wp->first = a;
wp->last = a - 1;
}
/* Initialize a |word_traverser| to make it traverse a particular
word, whose address is given in the second argument.
*/
static void word_traverser_init(word_traverser *wtp, word *wp)
{
wtp->wp = wp;
wtp->posn = wp->first;
}
word_link *word_link_create(void)
{
word_link *wlp = anu_valloc(word_link, 1);
wlp->wp = 0;
wlp->next = 0;
return wlp;
}
void word_link_init(word_link *wlp)
{
wlp->wp = anu_valloc(word, 1);
word_init(wlp->wp);
wlp->next = word_link_create();
}
void word_link_clear(word_link *wlp)
{
word_clear(wlp->wp);
free((char *)(wlp->wp));
}
/* |word_get_first ()| gets hold of the first generator in a word without
changing it. It returns |1| provided the word is non-trivial, |0|
otherwise.
The pointer |gp| is set to point to the first generator in the word pointed
to by |wp|.
*/
char word_get_first(word *wp, gen_type *gp)
{
if (wp->first <= wp->last) {
*gp = (wp->g)[wp->first];
return 1;
} else {
*gp = 0;
return 0;
}
}
/* |word_next ()| is used when traversing a word, generator by generator. It
returns |1| while the |list_traverser| points to a generator, |0|
once the last generator in the word has been passed.
The pointer |gp| is set to point to the generator at which the
|word_traverser| is currently positioned..
The procedure does not change the word being traversed.
*/
char word_next(word_traverser *wtp, gen_type *gp)
{
if (wtp->posn <= wtp->wp->last) {
*gp = (wtp->wp->g)[wtp->posn];
wtp->posn++;
return 1;
} else {
*gp = 0;
return 0;
}
}
/* Construct the inverse of a word.
If a word is read as a sequence of generators the inverse word consists of
the string of the inverses of these generators, but in the reverse order.
Before the function is applied |*inverse| could be a freshly initialized word or
an actual word already in use. It might be the same word as |*given|.
Space is assigned or reassigned as necessary
within this function.
*/
void word_inv(word *given, word *inverse)
{
int i;
int j;
gen_type *gp = 0;
gp = anu_valloc(gen_type, given->space);
for (i = given->first, j = given->last; i <= given->last; i++, j--)
gp[i] = inv(given->g[j]);
inverse->space = given->space;
inverse->first = given->first;
inverse->last = given->last;
free((char *)inverse->g);
inverse->g = 0;
inverse->g = gp;
}
void word_put_last(word *wp, gen_type g)
{
int i;
int n;
n = wp->space;
if (wp->last == n - 1) { /* there's an entry in the rightmost
piece of space */
if (wp->first > n / 2) {
int k;
k = n / 4;
wp->first -= k;
wp->last -= k;
for (i = wp->first; i <= wp->last; ++i)
wp->g[i] = wp->g[i + k];
} else
word_double(wp);
}
(wp->last)++;
wp->g[wp->last] = g;
}
/*Adding on a generator to the left hand end of a word (left
multiplication).
*/
void word_put_first(word *wp, gen_type g)
{
if (wp->first == 0) {
int i;
int n;
n = wp->space;
if (wp->last <= n / 2) {
int k;
k = n / 4;
wp->first += k;
wp->last += k;
for (i = wp->last; i >= wp->first; --i)
wp->g[i] = wp->g[i - k];
} else
word_double(wp);
}
(wp->first)--;
wp->g[wp->first] = g;
}
/* Double the amount of space available to a word, while preserving the
information stored in the word.
*/
static void word_double(word *wp)
{
int n;
int k;
int i;
gen_type *gp;
n = wp->space;
k = n / 2;
gp = anu_valloc(gen_type, 2 * n);
for (i = k; i < 3 * k; ++i)
gp[i] = (wp->g)[i - k];
free((char *)wp->g);
wp->g = 0;
wp->g = gp;
wp->space *= 2;
wp->first += k;
wp->last += k;
}
/*Get the first generator out of a word, and at the same time delete it from
that word.
The function returns |0| if the word is trivial, |1| otherwise.
*/
char word_delget_first(word *wp, gen_type *gp)
{
if (wp->first > wp->last) {
*gp = 0;
return 0;
} else {
*gp = wp->g[wp->first++];
return 1;
}
}
/* Delete the last generator in a word.
The function returns |0| if the word is trivial, |1| otherwise.
*/
char word_del_last(word *wp)
{
if (wp->first > wp->last)
return 0;
else {
wp->last--;
return 1;
}
}
/* Concatenate two words.
|wp1|, |wp2| and |wp3| are pointers to initialized words. |*wp1| and |*wp2| are
not changed by this procedure (provided that they are both distinct from
|*wp3|). At the end |*wp3| contains the concatenation
of |*wp1| and |*wp2|.
*/
void word_concat(word *wp1, word *wp2, word *wp3)
{
int n1, n2, n;
int N;
int i;
gen_type *factor, *concat;
n1 = word_length(wp1);
n2 = word_length(wp2);
n = n1 + n2;
if (n <= 0) {
wp3->last = wp3->first - 1;
return;
} /* avoid malloc()ing 0 bytes */
concat = anu_valloc(gen_type, n);
factor = wp1->g + wp1->first;
for (i = 0; i < n1; i++)
concat[i] = factor[i];
factor = wp2->g + wp2->first;
for (i = n1; i < n; i++)
concat[i] = factor[i - n1];
N = wp1->space > wp2->space ? wp1->space : wp2->space;
while (N < 2 * n)
N *= 2;
word_stretch_reset(wp3, N, n / 2);
for (i = 0; i < n; ++i)
wp3->g[wp3->first + i] = concat[i];
wp3->last = wp3->first + n - 1;
free((char *)concat);
concat = 0;
}
void word_append(word *wp1, word *wp2)
{
int N = wp1->space;
int last = wp1->last;
int n2 = (wp2->last) - (wp2->first) + 1;
int i;
gen_type *genp1, *genp2, *genp3;
while (N - 1 - last <= n2)
N *= 2;
if (N > wp1->space) {
gen_type *genp = vzalloc(gen_type, N);
for (i = wp1->first; i <= last; i++)
genp[i] = (wp1->g)[i];
free((char *)(wp1->g));
wp1->g = genp;
wp1->space = N;
}
genp1 = (wp1->g) + last;
genp3 = genp1 + n2;
genp2 = (wp2->g) + (wp2->first);
while (++genp1 <= genp3)
*genp1 = *(genp2++);
wp1->last += n2;
}
char word_eq(word *w1p, word *w2p)
{
int m;
if ((m = ((w1p->last) - (w1p->first))) != ((w2p->last) - (w2p->first)))
return 0;
else if (m >= 0) {
int i;
gen_type *g1p = w1p->g + w1p->first;
gen_type *g2p = w2p->g + w2p->first;
for (i = 0; i <= m; i++)
if (g1p[i] != g2p[i])
return 0;
}
return 1;
}
void word_cpy(word *oldwp, word *newwp)
{
int m;
int n;
int i;
gen_type *newgp, *oldgp;
newwp->type = oldwp->type;
newwp->n = oldwp->n;
m = word_length(oldwp);
if ((n = newwp->space) < 2 * m) {
while (n < 2 * m)
n *= 2;
free((char *)(newwp->g));
newwp->g = 0;
newwp->g = anu_valloc(gen_type, n);
newwp->space = n;
}
newwp->first = m / 2;
newwp->last = newwp->first + m - 1;
newgp = newwp->g + newwp->first;
oldgp = oldwp->g + oldwp->first;
for (i = 0; i < m; ++i)
newgp[i] = oldgp[i];
}
static void bad_data(void)
{
fprintf(stderr, "Bad data.\n");
exit(FAILURE);
}
char read_next_gen(word *wp, FILE *file)
{
char ans = 1;
int c;
word_reset(wp);
while ((c = read_char(file)) != EOF && !(isalpha(c))) {
if (c == '$')
return 1;
if (c == '}') {
/* a '}' is used to terminate the input of gens */
ungetc('}', file);
ans = 0;
break;
} else if (c != ' ' && c != ',') {
fprintf(stderr, "Generators must start with a letter.\n");
bad_data();
}
}
if (c == EOF) {
fprintf(stderr, "Unexpected end of file.\n");
bad_data();
}
if (ans == 1) {
do {
if (c == EOF)
break;
if (c == '^') {
int d, e;
d = read_char(file);
e = read_char(file);
if (d != '-' || e != '1') {
fprintf(stderr, "Invalid generator name.\n");
bad_data();
}
word_put_last(wp, c);
word_put_last(wp, d);
word_put_last(wp, e);
c = read_char(file);
break;
}
if (!isalpha(c) && !isdigit(c) && c != '_' && c != '.') {
fprintf(stderr,
"Only letters, digits, underscores and .'s are "
"allowed in generator names.\n");
bad_data();
}
word_put_last(wp, c);
c = read_char(file);
} while (isalpha(c) || isdigit(c) || c == '^' || c == '-' || c == '_' ||
c == '.');
if (c != EOF && c != ' ')
ungetc(c, file);
}
return ans;
}
char read_next_word(word *wp, FILE *file)
{
/*
A word is recognisable as a power of a single commutator iff
a) the first symbol after any number of ('s is a [ and
b) it contains no *'s, no ['s or ^'s inside the []'s, and only ('s, )'s ^'s
-'s
and digits outside.
wp->type is initialised as 0, then we reset it
when we encounter the first symbol that is not a (. If set to
c it will be reset to s once an inappropriate symbol is encountered.
is encountered .
A word is recognised as a power if it contains no *'s
unless enclosed by ()'s. wp->n is reset to 0 as soon
as such a '*' is encountered.
*/
char ans = 1;
int c;
word_reset(wp);
while ((c = read_char(file)) != EOF && !(isalpha(c)) && !(isdigit(c)) &&
c != '(' && c != '[') {
if (c == '$')
return 1;
if (c == '}') {
/* a '}' is used to terminate the input of words */
ungetc('}', file);
ans = 0;
break;
}
}
if (c == EOF) {
fprintf(stderr, "Unexpected end of file.\n");
bad_data();
}
if (ans == 1 && c == '1')
return ans;
/* 1 is used to represent the identity. It will only be the first symbol in a
word when it's the whole word. */
if (ans == 1) {
char bracket_level = 0;
char comm_level = 0;
do {
if (c == EOF)
break;
if (c == ' ' || (c == ',' && comm_level == 0)) {
/* if this happens, the previous character must have been an
alphanumeric character or a ), and we are not within commutators
(since
spaces after ^,( and * and inside commutators are dealt with
elsewhere). If the next non-space character is not *,^ or ) we
must have
reached the end of the word. */
do {
c = read_char(file);
if (c == EOF)
break;
} while (c == ' ');
if (c == EOF || (c != '^' && c != '*' && c != ']' && c != ')'))
break; /* we have got to the end of the word */
}
if (c == '[') {
comm_level++;
if (wp->type != 0)
wp->type = 's';
if (wp->type == 0)
wp->type = 'c';
} else if (c == ']')
comm_level--;
else if (c == '(')
bracket_level++;
else if (c == ')')
bracket_level--;
if ((c == '*') || (wp->type == 0 && c != '(') ||
(comm_level == 0 && c != ']' && c != '(' && c != ')' && c != '^' &&
c != '-' && (!isdigit(c))))
wp->type = 's';
if (bracket_level == 0 && comm_level == 0 && c == '*')
wp->n = 0;
if (bracket_level >= 0 && comm_level >= 0)
word_put_last(wp, c);
else
break;
/* word reading is terminated by an unmatched right bracket of either
* type */
if (c == '*' || c == '^' || c == '(' || comm_level != 0) {
/* '*','^' and '(' are non-terminal characters, so we can
automatically
skip over any
white spaces that appear after them, without further
investigation */
do {
c = read_char(file);
if (c == EOF)
break;
} while (c == ' ');
} else {
c = read_char(file);
if (c == EOF)
break;
}
} while (isalpha(c) || isdigit(c) || c == '_' || c == '.' || c == '^' ||
c == '-' || c == '(' || c == ')' || c == '[' || c == ']' ||
c == ',' || c == '*' || c == ' ');
if (c != EOF)
ungetc(c, file);
}
if (c == EOF) {
fprintf(stderr, "Unexpected end of file.\n");
bad_data();
} else if (word_length(wp) == 0)
wp->type = 's'; /* then we'd have the trivial word */
else
word_expand(wp);
return ans;
}
void word_expand(word *wp)
{
word expansion;
word buf;
word temp;
word temp2;
gen_type g;
char type = wp->type;
int n = wp->n;
int separator = '*';
int bracket_level = 0;
int commutator_level = 0;
int exponent;
int sign = 1;
if (type == 'c') {
if (n) {
int i = wp->first; /* i is the position we're currently at in gp */
gen_type *gp = wp->g + wp->first;
gen_type *ggp = wp->g + wp->last;
while (gp <= ggp) {
if ((*gp) == '^') {
int j = i;
exponent = 0;
gp++;
i++;
if ((*gp) == '-')
sign = -1;
else
exponent = (*gp) - '0';
gp++;
i++;
while (gp <= ggp && isdigit(*gp)) {
exponent = 10 * exponent + (*gp) - '0';
gp++;
i++;
}
exponent *= sign;
if (commutator_level == 0) {
/* in the case the whole commutator is raised to a power */
wp->last =
j - 1; /* this is to delete the exponent from the end */
if (exponent == 0)
word_reset(wp);
else
n *= exponent;
break;
} else if (exponent != -1) {
/* if we see any exponent other than a -1 inside a commutator
* we expand it */
wp->type = type = 's';
break;
}
} else {
if ((*gp) == '[')
commutator_level = 1;
else if ((*gp) == ']')
commutator_level = 0;
gp++;
i++;
}
}
wp->n = n;
}
if (wp->type == 'c')
return;
}
word_init(&expansion);
word_init(&buf);
word_init(&temp);
word_init(&temp2);
while (word_delget_first(wp, &g)) {
if (isalpha(g) || isdigit(g) || g == '_' || g == '.')
word_put_last(&buf, g);
else if (g == separator) {
if (word_length(&buf) > 0) {
word_append(&expansion, &buf);
word_put_last(&expansion, g);
word_reset(&buf);
}
} else if (g == '^') {
/* read the exponent that follows and replace whatever's currently in
the buf by the appropriate number of copies of it or its inverse */
int i;
sign = 1;
(void)word_delget_first(wp, &g);
if (g == '-') {
sign = -1;
word_delget_first(wp, &g);
}
if (isdigit(g)) {
exponent = 0;
/*Now g must be a digit */
exponent = g - '0' + 10 * exponent;
while (word_get_first(wp, &g) && isdigit(g)) {
exponent = g - '0' + 10 * exponent;
word_delget_first(wp, &g);
}
if ((n) && word_length(wp) == 0) {
/* wp->n non-zero means we believe we're looking for a power at
the end of
the word. We know we are at the end of the word if we've
deleted every character */
if (exponent == 0)
word_reset(wp);
else
n = sign * exponent;
} else {
if (sign == -1) {
gen_type h;
word2prog_word(&buf, &temp);
if (word_length(&temp) == 1 && word_get_last(&temp, &h) &&
(inv_of == 0 || inv_of[h] == 0)) {
/* in this case we're reading the name of a new generator
*/
word_put_last(&buf, '^');
word_put_last(&buf, '-');
word_put_last(&buf, '1');
} else {
word_inv(&temp, &temp);
word2user_name(&temp, &buf);
}
}
word_cpy(&buf, &temp);
word_reset(&buf);
for (i = 1; i <= exponent; i++) {
word_append(&buf, &temp);
if (i < exponent && word_length(&buf) > 0)
word_put_last(&buf, separator);
}
word_reset(&temp);
}
} else {
word exp;
bracket_level = 0;
commutator_level = 0;
word_init(&exp);
do {
if (commutator_level == 0 && bracket_level == 0 &&
(g == '*' || g == '^')) {
word_put_first(wp, g);
break;
}
if (g == '(')
bracket_level++;
else if (g == ')')
bracket_level--;
if (g == '[')
commutator_level++;
else if (g == ']')
commutator_level--;
word_put_last(&exp, g);
} while (word_delget_first(wp, &g));
word_expand(&exp);
if (word_length(&exp) > 0) {
word2prog_word(&exp, &temp);
word_inv(&temp, &temp);
word2user_name(&temp, &temp2);
word_put_last(&temp2, separator);
word_concat(&temp2, &buf, &buf);
word_put_last(&buf, separator);
word_append(&buf, &exp);
word_reset(&temp);
word_reset(&temp2);
}
word_clear(&exp);
}
} else if (g == '(') {
bracket_level = 1;
while (word_delget_first(wp, &g)) {
if (g == '(')
bracket_level++;
else if (g == ')')
bracket_level--;
if (bracket_level == 0)
break;
word_put_last(&buf, g);
}
word_expand(&buf);
} else if (g == '[') {
word w1, w2;
commutator_level = 1;
word_init(&w1);
while (word_delget_first(wp, &g)) {
if (g == ',' && commutator_level == 1)
break;
else if (g == '[')
commutator_level++;
else if (g == ']')
commutator_level--;
word_put_last(&w1, g);
}
word_expand(&w1);
word_init(&w2);
while (word_delget_first(wp, &g)) {
if (g == '[')
commutator_level++;
else if (g == ',' && commutator_level == 1) {
/* convert to nested binary commutators, to make expansion easier
*/
word_put_first(&w1, '[');
word_put_last(&w1, ',');
word_append(&w1, &w2);
word_put_last(&w1, ']');
word_expand(&w1);
word_reset(&w2);
continue; /* we don't want to put the ',' onto the end of w2 */
} else if (g == ']') {
commutator_level--;
if (commutator_level == 0)
break;
}
word_put_last(&w2, g);
}
word_expand(&w2);
if (word_length(&w1) > 0 && word_length(&w2) > 0) {
word2prog_word(&w1, &temp);
word_inv(&temp, &temp);
word2user_name(&temp, &buf);
word_put_last(&buf, separator);
word2prog_word(&w2, &temp);
word_inv(&temp, &temp);
word2user_name(&temp, &temp2);
word_append(&buf, &temp2);
word_put_last(&buf, separator);
word_append(&buf, &w1);
word_put_last(&buf, separator);
word_append(&buf, &w2);
word_reset(&temp);
word_reset(&temp2);
}
word_clear(&w1);
word_clear(&w2);
}
}
if (bracket_level != 0 || commutator_level != 0) {
fprintf(stderr, "Unmatched bracket in relation.\n");
bad_data();
}
word_append(&expansion, &buf);
/* there's no * at the end */
if (word_get_last(&expansion, &g) && g == separator)
word_del_last(&expansion);
word_cpy(&expansion, wp);
word_clear(&expansion);
word_clear(&temp);
word_clear(&temp2);
word_clear(&buf);
if (n == 1)
wp->n = 0;
else
wp->n = n;
wp->type = type;
}
char word_get_last(word *wp, gen_type *gp)
{
char ans = 1;
if (wp->first > wp->last) {
*gp = 0;
ans = 0;
} else
*gp = wp->g[wp->last];
return ans;
}
char word_delget_last(word *wp, gen_type *gp)
{
char ans = 1;
if (wp->first > wp->last) {
*gp = 0;
ans = 0;
} else {
*gp = wp->g[wp->last];
wp->last--;
}
return ans;
}
void word2prog_gen(word *user_namep, gen_type *prog_genp)
{
gen_type g;
*prog_genp = 0;
for (g = 1; g <= num_gens; ++g)
if (word_eq(user_namep, user_gen_name + g)) {
*prog_genp = g;
break;
}
}
void word2prog_word(word *user_wordp, word *prog_wordp)
{
word user_gen;
word_traverser wt;
gen_type g;
gen_type h;
int i;
int n = word_length(user_wordp);
char *epsilon = "epsilon";
word identity;
word_init(&identity);
for (i = 0; i <= 6; i++)
word_put_last(&identity, (gen_type)epsilon[i]);
i = 0;
word_reset(prog_wordp);
prog_wordp->type = user_wordp->type;
prog_wordp->n = user_wordp->n;
if (word_eq(user_wordp, &identity) == 0) {
word_init(&user_gen);
word_traverser_init(&wt, user_wordp);
while (word_next(&wt, &g)) {
i++;
if (g != '*' && g != ',' && g != '[' && g != ']' && g != '(' &&
g != ')')
word_put_last(&user_gen, g);
if ((g == '*' || g == ',' || g == ']' || g == ')' || i == n) &&
word_length(&user_gen) != 0) {
word2prog_gen(&user_gen, &h);
word_reset(&user_gen);
word_put_last(prog_wordp, h);
}
}
word_clear(&user_gen);
}
word_clear(&identity);
}
void gen2prog_gen(gen_type user_gen, gen_type *prog_genp)
{
word w;
word_init(&w);
word_put_last(&w, user_gen);
word2prog_gen(&w, prog_genp);
word_clear(&w);
}
void gen2user_name(gen_type program_gen, word *user_wordp)
{
word_reset(user_wordp);
if (program_gen == 0 || (num_gens != 0 && program_gen > num_gens)) {
gen_type g = '$';
word_put_last(user_wordp, g);
} else
word_cpy(user_gen_name + program_gen, user_wordp);
}
static void word2user_name(word *prog_wordp, word *user_wordp)
{
word w;
gen_type separator;
gen_type g = 0;
word_traverser wt;
word_traverser_init(&wt, prog_wordp);
word_reset(user_wordp);
word_init(&w);
user_wordp->n = prog_wordp->n;
user_wordp->type = prog_wordp->type;
if (user_wordp->type == 'c') {
word_put_first(user_wordp, '[');
separator = ',';
} else
separator = '*';
while (word_next(&wt, &g)) {
gen2user_name(g, &w);
word_append(user_wordp, &w);
word_put_last(user_wordp, separator);
word_reset(&w);
}
word_del_last(user_wordp); /* delete the final separator */
if (user_wordp->type == 'c')
word_put_last(user_wordp, ']');
word_clear(&w);
}
static void define_next_gen(word *wp)
{
word *ucpy;
num_gens++;
if (num_gens == gen_array_size - 1) {
/* need more space */
int i;
gen_array_size = 2 * num_gens + 1;
ucpy = vzalloc(word, gen_array_size);
for (i = 0; i < gen_array_size; ++i)
word_init(ucpy + i);
for (i = 0; i < num_gens; ++i) {
word_cpy(user_gen_name + i, ucpy + i);
word_clear(user_gen_name + i);
}
free((char *)user_gen_name);
user_gen_name = 0;
user_gen_name = ucpy;
ucpy = 0;
}
word_cpy(wp, user_gen_name + num_gens);
}
void read_gen_name_array(FILE *file)
{
word w;
int i;
num_gens = 0;
user_gen_name = vzalloc(word, gen_array_size);
for (i = 0; i < gen_array_size; ++i)
word_init(user_gen_name + i);
find_char('{', file);
word_init(&w);
while (read_next_gen(&w, file)) {
define_next_gen(&w);
word_reset(&w);
}
word_clear(&w);
find_char('}', file);
}
void insert_gen(gen_type h, word *wp)
{
word *ucpy;
gen_type *icpy;
int i;
int size = gen_array_size;
num_gens++;
if (num_gens == gen_array_size - 1)
/* need more space */
gen_array_size = 2 * num_gens + 1;
ucpy = vzalloc(word, gen_array_size);
icpy = vzalloc(gen_type, gen_array_size);
for (i = 0; i < gen_array_size; ++i)
word_init(ucpy + i);
for (i = 0; i < h; ++i) {
word_cpy(user_gen_name + i, ucpy + i);
}
word_cpy(wp, ucpy + h);
for (i = h; i <= num_gens - 1; ++i)
word_cpy(user_gen_name + i, ucpy + i + 1);
for (i = 0; i < size; ++i)
word_clear(user_gen_name + i);
free((char *)user_gen_name);
user_gen_name = 0;
user_gen_name = ucpy;
ucpy = 0;
for (i = 0; i < h; ++i) {
if (inv_of[i] >= h)
icpy[i] = inv_of[i] + 1;
else
icpy[i] = inv_of[i];
}
for (i = h; i < num_gens; i++) {
if (inv_of[i] >= h)
icpy[i + 1] = inv_of[i] + 1;
else
icpy[i + 1] = inv_of[i];
}
free((char *)inv_of);
inv_of = icpy;
icpy = 0;
}
void default_inverse_array(void)
{
word w;
word_traverser wt;
gen_type g, h, k;
gen_type l = 0;
if (inv_of == 0)
inv_of = vzalloc(gen_type, gen_array_size);
word_init(&w);
for (g = 1; g <= num_gens; ++g) {
if (inv_of[g] != 0)
continue;
/* we may have set some inverses already explicitly */
if (word_length(user_gen_name + g) == 1) {
/* we're just checking here to see that the user hasn't assumed the old
default of case change. Therefore if the lower and upper case
versions of
the same character appear, the program exits with a bad data
message. */
word_get_first(user_gen_name + g, &h);
if (islower(h))
k = toupper(h);
else
k = tolower(h);
gen2prog_gen(k, &l);
if (l != 0) {
/* h and k are lower and upper case versions of the same alphabet
character.
We don't allow this unless the generators are inverse to each
other. This
isn't the case here. */
fprintf(
stderr, "%c and %c aren't allowed as generator names\n", h, k);
fprintf(stderr,
"unless they're defined to be inverse to each other.\n");
bad_data();
}
}
/* now we'll set the inverse of g appropriately */
word_traverser_init(&wt, user_gen_name + g);
while (word_next(&wt, &h)) {
if (h == '^')
break;
else
word_put_last(&w, h);
}
if (h != '^') {
word_put_last(&w, '^');
word_put_last(&w, '-');
word_put_last(&w, '1');
}
word2prog_gen(&w, &k);
if (k == 0) {
/* There's no generator yet defined with user name w, so we have to
slot one
in, just after g. */
insert_gen(g + 1, &w);
k = g + 1;
}
inv_of[g] = k;
inv_of[k] = g;
word_reset(&w);
}
word_clear(&w);
}
void word_factor(word *wp, word *wwp, int *ep)
{
int length = word_length(wp);
int baselength = 0;
word power;
word_init(&power);
word_reset(wwp);
if (length == 0) {
*ep = 0;
return;
}
while (baselength <= length) {
word_traverser wt;
int count = 0;
gen_type g;
int i;
word_traverser_init(&wt, wp);
while (word_next(&wt, &g)) {
count++;
if (count <= baselength)
continue;
word_put_last(wwp, g);
baselength++;
if (baselength > length / 2 || length % baselength == 0)
break;
}
if (baselength > length / 2) {
baselength = length;
*ep = 1;
break;
} else {
*ep = length / baselength;
for (i = 1; i <= *ep; i++)
word_append(&power, wwp);
if (word_eq(wp, &power))
break;
}
word_reset(&power);
}
word_clear(&power);
if (baselength == length)
word_cpy(wp, wwp);
}
char read_next_int(int *kp, FILE *rfile)
{
char ans = 1;
int sign = 1;
int c;
*kp = 0;
while ((c = read_char(rfile)) != EOF && !(isdigit(c))) {
if (c == '-')
sign = -1;
else if (c == '}' || c == ';') {
/* a '}' or ';' is used to terminate the input */
ungetc(c, rfile);
ans = 0;
break;
} else
sign = 1;
}
if (c == EOF)
bad_data();
if (ans == 1) {
do {
*kp = 10 * (*kp) + c - '0';
} while (isdigit(c = getc(rfile)));
ungetc(c, rfile);
}
*kp = sign * (*kp);
return ans;
}
/* The next complete string is read and the first n or less non-null characters
are
stored in cp. Any space between the last non-null character of the string
and
the terminating null character of cp is filled
with blank spaces. Spaces, tabs and
returns, and also matched pairs {} (and all the stuff between them) are skipped
over until other symbols are met. The string is terminated by a tab, space,
return , (,), { or } (which remains unread ).
A string beginning with } or ; causes the function to stop
reading and return false. The character is then returned to the buffer as if
unread.
*/
char read_next_string(char *cp, int n, FILE *rfile)
{
int i = 0;
int c;
char ans = 1;
while ((c = read_char(rfile)) != EOF) {
if (i == 0) {
if (c == '}' || c == ';') {
ungetc(c, rfile);
return 0;
} else if (c == '{') { /* skip over {}'s */
int count = 1;
while (count > 0) {
if ((c = read_char(rfile)) == '{')
count++;
else if (c == '}')
count--;
if (c == EOF)
break;
}
} else if (c == ' ')
continue;
else {
cp[0] = c;
i = 1;
}
} else if (i > 0) {
if (c == ' ' || c == ';' || c == '{' || c == '}' || c == '(' ||
c == ')' || c == '=') {
if (c != ' ')
ungetc(c, rfile);
break;
} else {
if (i < n)
cp[i++] = c;
}
}
}
if (c == EOF) {
ans = 0;
i = 0; /* if the function's returning false, we'd like to empty the
string */
}
while (i < n)
cp[i++] = ' ';
cp[n] = '\0';
return ans;
}
char find_keyword(char *label, FILE *rfile)
{
char *string;
char found = 1;
int k = 0;
while (label[k] != '\0')
k++;
string = vzalloc(char, k + 1);
do {
found = 1;
if (read_next_string(string, k, rfile) == 0) {
found = 0;
break;
}
} while ((strcmp(string, label) != 0));
free(string);
string = 0;
return found;
}
/* The next function should be used in place of getc. It reads and returns
the next character, except that comments (preceded by # and going to the
next new line) and tabs and new lines are replaced by a single space.
*/
int read_char(FILE *rfile)
{
int n;
n = getc(rfile);
/* The input may contain a '\' character which is printed before '\n'
-- this is particularly true if the input file is generated by GAP */
if (n == '\\') {
n = getc(rfile);
if (n == '\n')
n = getc(rfile);
}
if (n == '#')
while ((n = getc(rfile)) != '\n' && n != EOF)
;
if (n == '\n' || n == '\t')
return (' ');
return (n);
}
void find_char(char c, FILE *rfile)
{
int n;
while ((n = read_char(rfile)) != c) {
if (n == EOF) {
fprintf(stderr, "Unexpected end of file.\n");
bad_data();
}
}
return;
}
anupq-3.3.0/src/print_word.c 000644 000766 000024 00000002654 14355420571 016267 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_word.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* print out a word of a pcp presentation */
void print_word(int ptr, struct pcp_vars *pcp)
{
register int *y = y_address;
register int gen, exp;
register int i;
register int count;
#include "access.h"
if (ptr == 0)
printf(" IDENTITY\n");
else if (ptr > 0)
printf(" .%d\n", ptr);
else {
ptr = -ptr + 1;
count = y[ptr];
for (i = 1; i <= count; i++) {
exp = FIELD1(y[ptr + i]);
gen = FIELD2(y[ptr + i]);
printf(" .%d", gen);
if (exp != 1)
printf("^%d", exp);
}
printf("\n");
}
}
/* print out exponent-vector with base address cp, first
converting it to string stored at str for printing */
void setup_word_to_print(char *type, int cp, int str, struct pcp_vars *pcp)
{
register int *y = y_address;
#if defined(GROUP)
vector_to_string(cp, str, pcp);
/* may need to set up pointer to this string at a later stage */
++str;
printf("The %s is ", type);
if (y[str] == 0)
print_word(0, pcp);
else
print_word(-str + 1, pcp);
#endif
}
anupq-3.3.0/src/read.c 000644 000766 000024 00000007555 14355420571 015020 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "constants.h"
/* check whether required data has been read from file */
void verify_read(int nmr_items, int required)
{
if (nmr_items != required) {
printf("Insufficient data read in from or written to file\n");
exit(FAILURE);
}
}
/* restore pcp structure from file ifp -- if selected workspace is
larger or smaller than saved workspace, then update pointers */
void restore_pcp(FILE *ifp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, l;
int new_workspace = pcp->backy;
int offset = 0;
int value, end, min;
int weight, p1, p2;
int nmr_items, total;
#include "access.h"
nmr_items = fread(pcp, sizeof(struct pcp_vars), 1, ifp);
verify_read(nmr_items, 1);
/* this resetting of print flags may later be changed */
pcp->fullop = FALSE;
pcp->diagn = FALSE;
if (new_workspace != pcp->backy) {
if (new_workspace < pcp->backy) {
min = pcp->lused + (pcp->backy - pcp->structure + 1) + pcp->lastg;
if (new_workspace < min) {
printf("Program workspace must be at least %d\n", min);
exit(FAILURE);
}
}
offset = new_workspace - pcp->backy;
pcp->backy += offset;
pcp->structure += offset;
pcp->subgrp += offset;
pcp->words += offset;
pcp->submlg += offset;
pcp->ppower += offset;
pcp->ppcomm += offset;
}
nmr_items = fread(y, sizeof(int), pcp->lused + 1, ifp);
verify_read(nmr_items, pcp->lused + 1);
total = pcp->backy - pcp->subgrp + 1;
nmr_items = fread(y + pcp->subgrp, sizeof(int), total, ifp);
verify_read(nmr_items, total);
if (offset != 0) {
end = pcp->structure + pcp->lastg;
for (i = pcp->structure + 1; i <= end; ++i) {
if ((value = y[i]) < 0)
y[-value] += offset;
}
end = y[pcp->clend + pcp->cc - 1];
for (i = 1; i <= end; i++) {
if ((value = y[pcp->ppower + i]) < 0)
y[-value] += offset;
}
for (i = 2; i <= end; i++)
y[pcp->ppcomm + i] += offset;
for (i = 2; i <= end; i++) {
weight = WT(y[pcp->structure + i]);
p1 = y[pcp->ppcomm + i];
l = MIN(i - 1, y[pcp->clend + pcp->cc - weight]);
for (j = 1; j <= l; j++) {
p2 = y[p1 + j];
if (p2 < 0)
y[-p2] += offset;
}
}
}
}
/* fread in the pga structure and the automorphisms for group from file ifp */
int ***restore_pga(FILE *ifp, struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j;
int ***auts;
int nmr_generators;
int nmr_items;
#ifdef HAVE_GMP
MP_INT aut_ord;
mpz_init(&aut_ord);
mpz_inp_str(&aut_ord, ifp, 10);
#endif
nmr_items = fread(pga, sizeof(struct pga_vars), 1, ifp);
verify_read(nmr_items, 1);
#ifdef HAVE_GMP
mpz_init_set(&pga->aut_order, &aut_ord);
mpz_clear(&aut_ord);
#endif
auts = allocate_array(pga->m, pcp->lastg, pcp->lastg, TRUE);
nmr_generators = pga->final_stage ? y[pcp->clend + pcp->cc - 1] : pcp->lastg;
if (pga->nuclear_rank == 0)
nmr_generators = pcp->lastg;
for (i = 1; i <= pga->m; ++i) {
for (j = 1; j <= pga->ndgen; ++j) {
nmr_items = fread(auts[i][j] + 1, sizeof(int), nmr_generators, ifp);
verify_read(nmr_items, nmr_generators);
}
}
pga->relative = allocate_vector(pga->nmr_soluble, 1, FALSE);
fread(pga->relative + 1, sizeof(int), pga->nmr_soluble, ifp);
return auts;
}
anupq-3.3.0/src/collect_gen_word.c 000644 000766 000024 00000002157 14355420571 017407 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collect_gen_word.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* collect the defining generator word whose base address
is ptr and whose length is length to the storage location
referenced by cp */
void collect_gen_word(int ptr, int length, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int gen;
register int exp = y[ptr + 1];
register int entry;
register int gen_val;
for (entry = 2; entry <= length; ++entry) {
gen = y[ptr + entry];
/* check for illegal defining generators */
if (abs(gen) > pcp->ndgen || gen == 0)
report_error(0, gen, 0);
gen_val = y[pcp->dgen + gen];
if (gen < 0 && gen_val == 1)
report_error(0, gen, 0);
collect(gen_val, cp, pcp);
}
calculate_power(exp, cp + 2 * pcp->lastg + 1, cp, pcp);
}
anupq-3.3.0/src/GAP.c 000644 000766 000024 00000020721 14355420571 014502 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A GAP.c ANUPQ source Eamonn O'Brien
*A & Frank Celler
**
*Y Copyright 1995-1997, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1997-1997, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "constants.h"
#if defined(GAP_LINK)
/****************************************************************************
**
*V p1, p2
*/
int p1[2], p2[2];
/****************************************************************************
**
*F WriteGap( )
** write to gap via input pipe
*/
void WriteGap(char *str)
{
write(p2[1], str, strlen(str));
}
/****************************************************************************
**
*F ReadGap( )
** read string from gap via output pipe into buffer
*/
void ReadGap(char *str)
{
char *ptr;
/* read next line */
ptr = str;
do
while (read(p1[0], ptr, 1) != 1)
;
while (*ptr++ != '\n');
/* append a trailing '\0' */
*(--ptr) = 0;
/* if line begins with a '#' ignore this line and start again */
if (*str == '#') {
fprintf(stderr, "%s\n", str);
ReadGap(str);
}
}
/****************************************************************************
**
*F WriteGapInfo( , )
** write initial information to GAP input pipe
*/
void WriteGapInfo(int ***auts, struct pga_vars *pga)
{
int i;
char str[MAXWORD];
/* we need the GAP library files defined in the package "anupq" */
WriteGap("LoadPackage( \"anupq\" );\n");
/* give debug information if 'ANUPQlog' is set to 'LogTo' */
WriteGap("ANUPQlog( \"debug.out\" );\n");
/* use a record 'ANUPQglb' to hold all global variables */
WriteGap("ANUPQglb := rec();;\n");
sprintf(str, "ANUPQglb.d := %d;\n", pga->ndgen);
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQglb.F := GF(%d);\n", pga->p);
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQglb.q := %d;\n", pga->q);
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQglb.genD := [];\n");
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQglb.genQ := [];\n");
WriteGap(str);
ReadGap(str);
for (i = 1; i <= pga->m; ++i)
write_GAP_matrix(0, "ANUPQglb.genD", auts[i], pga->ndgen, 1, i);
}
/****************************************************************************
**
*F start_GAP_file( , )
** start GAP process or write necessary information to existing process
*/
void start_GAP_file(int ***auts, struct pga_vars *pga)
{
int pid;
char *path;
int i;
char tmp[200];
pipe(p1);
pipe(p2);
if ((pid = fork()) == 0)
{
dup2(p1[1], 1);
dup2(p2[0], 0);
if ((path = (char *)getenv("ANUPQ_GAP_EXEC")) == NULL)
#if defined(ANUPQ_GAP_EXEC)
path = ANUPQ_GAP_EXEC;
#else
path = "gap";
#endif
if (execlp(path, path, "-r -q", 0) == -1) {
perror("Error in system call to GAP");
exit(FAILURE);
}
} else if (pid == -1) {
perror("cannot fork");
exit(FAILURE);
} else {
/* write GAP information to file */
WriteGapInfo(auts, pga);
/* try to synchronise with gap process */
WriteGap("165287638495312637;\n");
for (i = 0; i < 100; i++) {
ReadGap(tmp);
if (!strcmp(tmp, "165287638495312637"))
break;
}
if (i == 100)
fprintf(stderr, "WARNING: did not got magic number, got '%s'\n", tmp);
}
}
/****************************************************************************
**
*F QuitGap()
** close the pipes to GAP
*/
void QuitGap(void)
{
WriteGap("quit;\n");
close(p1[1]);
close(p2[1]);
close(p1[0]);
close(p2[0]);
wait((int *)0);
}
/****************************************************************************
**
*F ReadFromGapPipe( )
** read a string from the GAP output pipe and check whether it is an integer
*/
void ReadFromGapPipe(int *value)
{
Logical error;
char str[MAXWORD];
ReadGap(str);
*value = string_to_int(str, &error);
if (error) {
fprintf(stderr, "Error in reading stabiliser data from GAP pipe\n");
fprintf(stderr, "got line: '%s'\n", str);
exit(FAILURE);
}
}
/****************************************************************************
**
*F read_stabiliser_gens( , , )
** read the insoluble stabiliser generators from the pipe;
** each list of stabilisers is preceded by two integers --
** the first indicates whether the stabiliser is soluble;
** the second is the number of generators for the stabiliser
*/
int ***read_stabiliser_gens(int nr_gens, int ***sol_gens, struct pga_vars *pga)
{
int ndgen = pga->ndgen;
int gamma, i, j;
int ***stabiliser;
int current;
/* check if any gens for the stabiliser have already been computed */
current = pga->nmr_stabilisers;
/* read the first two integers (is soluble and number of generators) */
ReadFromGapPipe(&pga->soluble);
ReadFromGapPipe(&pga->nmr_stabilisers);
/* get enough room for the generators */
pga->nmr_stabilisers += current;
/* memory leakage September 1996 */
stabiliser = reallocate_array(sol_gens,
current,
ndgen,
nr_gens,
pga->nmr_stabilisers,
ndgen,
nr_gens,
TRUE);
/*
if (current != 0) {
stabiliser = reallocate_array( sol_gens, current, ndgen,
nr_gens, pga->nmr_stabilisers,
ndgen, nr_gens, TRUE );
}
else {
stabiliser = allocate_array( pga->nmr_stabilisers, ndgen,
nr_gens, TRUE );
}
*/
/* now read in the insoluble generators */
for (gamma = current + 1; gamma <= pga->nmr_stabilisers; ++gamma)
for (i = 1; i <= ndgen; ++i)
for (j = 1; j <= ndgen; ++j)
ReadFromGapPipe(&stabiliser[gamma][i][j]);
/* return the result */
return stabiliser;
}
/****************************************************************************
**
*F insoluble_stab_gens( , )
** calculate the stabiliser of the supplied representative using GAP
*/
void insoluble_stab_gens(int rep,
int orbit_length,
struct pga_vars *,
struct pcp_vars *)
{
char str[MAXWORD];
sprintf(str,
"stab := ANUPQstabilizer( %d, %d, ANUPQglb );;1;\n",
rep,
orbit_length);
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQoutputResult( stab, \"*stdout*\" );;\n");
WriteGap(str);
}
/****************************************************************************
**
*F write_GAP_matrix
** write out a matrix in a GAP input form
**
*/
void write_GAP_matrix(
FILE *GAP_input, char *gen, int **A, int size, int start, int nr)
{
int i, j;
char str[MAXWORD];
sprintf(str, "%s[%d] := [\n", gen, nr);
WriteGap(str);
for (i = start; i < start + size; ++i) {
WriteGap("[");
for (j = start; j < start + size - 1; ++j) {
sprintf(str, "%d, ", A[i][j]);
WriteGap(str);
}
if (i != start + size - 1)
sprintf(str, "%d],\n", A[i][j]);
else
sprintf(str, "%d]] * One( ANUPQglb.F );;\n", A[i][j]);
WriteGap(str);
}
}
/****************************************************************************
**
*F StartGapFile( )
** write basic input information to GAP input pipe
*/
void StartGapFile(struct pga_vars *pga)
{
char str[MAXWORD];
sprintf(str, "ANUPQglb.s := %d;\n", pga->s);
WriteGap(str);
ReadGap(str);
sprintf(str, "ANUPQglb.r := %d;\n", pga->r);
WriteGap(str);
ReadGap(str);
}
#endif
anupq-3.3.0/src/calculate_jacobi.c 000644 000766 000024 00000003152 14355420571 017336 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A calculate_jacobi.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* calculate an individual jacobi */
void calculate_jacobi(struct pcp_vars *pcp)
{
register int *y = y_address;
Logical invalid = FALSE;
int bound = pcp->ccbeg;
int output;
int a, b, c;
#include "access.h"
printf("Input the three components for the consistency calculation: ");
read_value(FALSE, "", &c, 1);
read_value(FALSE, "", &b, 1);
read_value(TRUE, "", &a, 1);
/* check the validity of the components */
invalid =
outside(a, bound) || outside(b, bound) || outside(c, bound) ||
pcp->cc <= 2 || c < b || b < a ||
(a != b && b != c &&
WT(y[pcp->structure + c]) + WT(y[pcp->structure + b]) +
WT(y[pcp->structure + a]) >
pcp->cc) ||
((a == b || b == c) &&
WT(y[pcp->structure + a]) + WT(y[pcp->structure + c]) + 1 > pcp->cc);
/* if valid, calculate the jacobi */
if (!invalid) {
output = pcp->fullop;
pcp->fullop = TRUE;
jacobi(c, b, a, 0, pcp);
pcp->fullop = output;
} else {
PRINT("Incorrect values %d, %d, %d for Jacobi calculation\n", c, b, a);
pcp->redgen = 0;
}
}
/* check if x lies outside permitted range from 1 to y */
int outside(int x, int y)
{
return (x <= 0) || (x > y);
}
anupq-3.3.0/src/insoluble_orbits.c 000644 000766 000024 00000010273 14355420571 017452 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A insoluble_orbits.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "standard.h"
/* find the orbits of an insoluble permutation group,
which has generators stored as a sequence in perms */
void insoluble_compute_orbits(int **orbit,
int **backptr,
char **schreier,
int **perms,
struct pga_vars *pga)
{
int *stack;
int *pointer;
int point, image;
register int i, j;
register int Degree = pga->Degree;
register int nmr_of_perms = pga->nmr_of_perms;
*orbit = allocate_vector(Degree, 1, FALSE);
/* if standard presentation computation, set
up schreier vectors and backward pointers */
if (StandardPresentation) {
*schreier = allocate_char_vector(Degree, 1, TRUE);
*backptr = allocate_vector(Degree, 1, TRUE);
}
for (i = 1; i <= Degree; ++i)
*(*orbit + i) = i;
stack = allocate_vector(Degree + 1, 0, FALSE);
for (i = 1; i <= Degree; ++i) {
if (*(*orbit + i) != i)
continue;
pointer = stack;
*pointer = i;
while (pointer - stack >= 0) {
point = *pointer;
for (j = 1; j <= nmr_of_perms; ++j) {
image = perms[j][point];
if ((image != i) && (*(*orbit + image) == image)) {
*pointer++ = image;
*(*orbit + image) = i;
if (StandardPresentation) {
*(*schreier + image) = j;
*(*backptr + image) = point;
}
}
}
--pointer;
}
}
free_vector(stack, 0);
}
/* list the orbit of insoluble permutation group with leading term rep */
static void
insoluble_list_orbit(int rep, int orbit_length, int *a, struct pga_vars *pga)
{
register int j;
register int Degree = pga->Degree;
printf("%d ", rep);
--orbit_length;
for (j = rep + 1; j <= Degree && orbit_length > 0; ++j)
if (*(a + j) == rep) {
printf("%d ", j);
--orbit_length;
}
}
/* list the orbit of soluble permutation group with leading term j */
static void list_orbit(int j, int *b)
{
while (j != 0) {
printf("%d ", j);
j = b[j];
}
}
/* find the orbit representatives, number of orbits, and
orbit lengths; if required, list the individual orbits */
int *find_orbit_reps(int *a, int *b, struct pga_vars *pga)
{
Logical soluble;
register int Degree = pga->Degree;
register int counter = 0;
register int j;
int *length;
int size = 1000;
pga->nmr_orbits = 0;
/* set up space to store orbit representatives and orbit lengths */
pga->rep = allocate_vector(1000, 1, FALSE);
length = allocate_vector(1000, 1, FALSE);
for (j = 1; j <= Degree; ++j) {
if (*(a + j) == j) {
if (++pga->nmr_orbits > size) {
pga->rep = reallocate_vector(pga->rep, size, size + 1000, 1, 0);
length = reallocate_vector(length, size, size + 1000, 1, 0);
size += 1000;
}
pga->rep[pga->nmr_orbits] = j;
length[pga->nmr_orbits] = 1;
a[j] = -pga->nmr_orbits;
} else
++length[-a[a[j]]];
}
soluble = (pga->soluble || pga->nmr_of_perms == 0 || Degree == 1);
if (!soluble && !pga->print_orbits)
return length;
/* list the elements of each orbit -- this must be speeded up
since it is potentially very expensive as written -- EO'B */
for (j = 1; j <= Degree && counter < pga->nmr_orbits; ++j) {
if (*(a + j) < 0) {
++counter;
if (soluble)
*(a + j) = j;
if (pga->print_orbits) {
printf("\nOrbit %d has length %d:\n", counter, length[counter]);
if (soluble)
list_orbit(j, b);
else
insoluble_list_orbit(j, length[counter], a, pga);
}
}
}
return length;
}
anupq-3.3.0/src/permute_subgroups.c 000644 000766 000024 00000016350 14355420571 017670 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A permute_subgroups.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "constants.h"
/* compute all of the permutations of the allowable subgroups
induced by the extended automorphisms described in auts;
store them in image format in a 2-dimensional array, perms */
int **permute_subgroups(FILE *LINK_input,
int **a,
int **b,
char **c,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int alpha;
register int nmr_of_perms;
register int q = pga->q;
int **A; /* automorphism matrix */
int **perms;
Logical soluble_group;
soluble_group = (pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
/* set up space for automorphism matrix */
A = allocate_matrix(q, q, 0, FALSE);
/* set up space for orbit and stabiliser information */
if (soluble_group && pga->space_efficient)
space_for_orbits(a, b, c, pga);
/* set up space to store permutations */
nmr_of_perms = (pga->space_efficient ? 1 : MAX(pga->nmr_of_perms, 1));
perms = allocate_matrix(nmr_of_perms, pga->Degree, 1, FALSE);
/* the stabiliser of a reduced p-covering group may be trivial */
if (pga->nmr_of_perms == 0)
setup_identity_perm(perms[nmr_of_perms], pga);
for (alpha = 1; alpha <= pga->m; ++alpha) {
if (pga->trace)
printf("Processing automorphism %d:\n", alpha);
assemble_matrix(A, q, auts[alpha], pcp);
/* check if the matrix passes some elementary tests */
if (!valid_matrix(A, q, pga->p, 0)) {
printf("The following automorphism matrix is invalid\n");
print_matrix(A, q, q);
exit(FAILURE);
}
if (pga->print_automorphism_matrix) {
printf("Automorphism matrix %d is\n", alpha);
print_matrix(A, q, q);
}
if (!soluble_group) {
#if defined(GAP_LINK) || defined(GAP_LINK_VIA_FILE)
write_GAP_matrix(LINK_input, "ANUPQglb.genQ", A, q, 0, alpha);
#endif
}
/* is the action on the p-multiplicator non-trivial? */
if (pga->map[alpha] != 0) {
nmr_of_perms = (pga->space_efficient ? 1 : pga->map[alpha]);
compute_permutation(perms[nmr_of_perms], A, pga);
if (pga->print_permutation) {
printf("Permutation %d is\n", alpha);
print_array(perms[nmr_of_perms], 1, pga->Degree + 1);
}
}
if (soluble_group && pga->space_efficient) {
if (pga->map[alpha] != 0)
orbits(perms[nmr_of_perms], *a, *b, *c, pga);
else
process_identity_perm(*a, *b, *c, pga);
}
}
free_matrix(A, q, 0);
return perms;
}
/* compute and store in image form the permutation that the extended
automorphism stored in A induces on the allowable subgroups */
void compute_permutation(int *permutation, int **A, struct pga_vars *pga)
{
register int i;
if (pga->s != 0) {
/* process each definition set in turn */
pga->nmr_subgroups = 0;
for (i = 0; i < pga->nmr_def_sets; ++i)
compute_images(A, pga->list[i], pga->available[i], permutation, pga);
} else {
permutation[1] = 1;
pga->nmr_subgroups = 1;
}
}
/* compute the images of all allowable subgroups having definition
set K under the action of automorphism matrix A */
void compute_images(
int **A, int K, int depth, int *permutation, struct pga_vars *pga)
/* number of available positions */
{
int **S; /* standard matrix */
int **Image; /* image of allowable subgroup under A */
int *row; /* indices of available positions in S */
int *column;
int *position; /* array to keep track of processed image */
int *subset; /* array to store definition set of image */
int K_Image; /* bit string representation of same */
int nmr_of_bytes = pga->q * sizeof(int);
register int i;
register int index;
register int s = pga->s;
register int q = pga->q;
register int p = pga->p;
register int nmr_subgroups = pga->nmr_subgroups;
S = allocate_matrix(s, q, 0, FALSE);
Image = allocate_matrix(s, q, 0, TRUE);
subset = allocate_vector(s, 0, 0);
position = allocate_vector(depth + 1, 0, 1);
/* set up row and column indices of available positions as
arrays of length depth + 1; also set up Image as image of
allowable subgroup with least label under action of A */
find_available_positions(K, A, Image, &row, &column, depth, pga);
/* for each allowable subgroup in turn, compute its image under A */
do {
/* make a copy of the image matrix and echelonise the copy */
for (i = 0; i < s; ++i)
memcpy(S[i], Image[i], nmr_of_bytes);
K_Image = echelonise_matrix(S, s, q, p, subset, pga);
/* compute and store the label of the resulting standard matrix */
++nmr_subgroups;
if (nmr_subgroups % 1000000 == 0)
printf("processing subgroup %d\n", nmr_subgroups);
permutation[nmr_subgroups] = subgroup_to_label(S, K_Image, subset, pga);
index = 0;
++position[0];
update_image(A, column[index], Image, row[index], pga);
while (index < depth && position[index] == p) {
position[index] = 0;
++index;
++position[index];
update_image(A, column[index], Image, row[index], pga);
}
} while (index < depth);
pga->nmr_subgroups = nmr_subgroups;
free_vector(row, 0);
free_vector(column, 0);
free_vector(subset, 0);
free_vector(position, 0);
free_matrix(S, s, 0);
free_matrix(Image, s, 0);
}
/* add column of A to row of Image */
void
update_image(int **A, int column, int **Image, int row, struct pga_vars *pga)
{
register int i;
register int q = pga->q;
register int p = pga->p;
for (i = 0; i < q; ++i)
Image[row][i] = (Image[row][i] + A[i][column]) % p;
}
/* set up the indices of the available positions of the standard matrices
determined by K as two arrays, row and column; also set up Image as
image of allowable subgroup with least label under action of A */
void find_available_positions(int K,
int **A,
int **Image,
int **row,
int **column,
int depth,
struct pga_vars *pga)
{
register int i, j;
register int index = 0;
register int s = pga->s;
register int q = pga->q;
int *subset;
subset = bitstring_to_subset(K, pga);
*row = allocate_vector(depth + 1, 0, 0);
*column = allocate_vector(depth + 1, 0, 0);
(*row)[depth] = 0;
(*column)[depth] = 0;
for (i = 0; i < s; ++i) {
update_image(A, subset[i], Image, i, pga);
for (j = subset[i] + 1; j < q; ++j) {
if (1 << j & K)
continue;
(*row)[index] = i;
(*column)[index] = j;
++index;
}
}
free_vector(subset, 0);
}
anupq-3.3.0/src/construct.c 000644 000766 000024 00000015653 14355420571 016127 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A construct.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "exp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#define ITERATION 6
#define SINGLE_STAGE 5
static Logical select_group(int *min_step,
int *max_step,
int order_bound,
struct pga_vars *pga,
struct pcp_vars *pcp);
/* prepare to construct, partially or completely, some or all of the
immediate descendants of group group_nmr stored on start_file */
int construct(int call_depth,
struct pga_vars *flag,
int option,
FILE *output_file,
FILE *start_file,
int k,
int order_bound,
int group_nmr,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int ***auts;
char *name;
register int step;
int min_step, max_step;
int nmr_of_descendants = 0;
int nmr_of_capables = 0;
int nmr_of_covers;
int x_dim, y_dim;
FILE *tmp_file;
Logical change;
if (option == ITERATION) {
restore_pcp(start_file, pcp);
auts = restore_pga(start_file, pga, pcp);
/* enforce any law on the p-covering group of starting group */
if (call_depth == 1)
enforce_laws(flag, pga, pcp);
start_group(&tmp_file, auts, pga, pcp);
} else {
auts = restore_group(TRUE, start_file, group_nmr, pga, pcp);
RESET(start_file);
}
/* save dimension of autormorphism array for later call to free */
x_dim = pga->m;
y_dim = pcp->lastg;
pga->nmr_of_descendants = 0;
pga->nmr_of_capables = 0;
switch (option) {
case SINGLE_STAGE:
defaults_pga(option, &k, flag, pga, pcp);
copy_flags(flag, pga);
name = GetString("Input output file name: ");
output_file = OpenFileOutput(name);
enforce_laws(flag, pga, pcp);
print_group_details(pga, pcp);
nmr_of_covers =
reduced_covers(output_file, output_file, k, auts, pga, pcp);
if (pcp->overflow)
exit(FAILURE);
nmr_of_descendants = pga->nmr_of_descendants;
nmr_of_capables = pga->nmr_of_capables;
report(nmr_of_capables, nmr_of_descendants, nmr_of_covers, pga, pcp);
auts = restore_group(TRUE, start_file, group_nmr, pga, pcp);
RESET(start_file);
RESET(output_file);
break;
case ITERATION:
print_group_details(pga, pcp);
/* check if automorphism group is now soluble */
change = (pga->soluble == LINK_SOLUBLE_FLAG);
copy_flags(flag, pga);
if (change)
pga->soluble = LINK_SOLUBLE_FLAG;
if (!select_group(&min_step, &max_step, order_bound, pga, pcp)) {
free_array(auts, x_dim, y_dim, 1);
CloseFile(tmp_file);
break;
}
for (step = min_step; step <= max_step; ++step) {
pga->step_size = step;
start_stage(output_file, k, auts, pga, pcp);
report(pga->nmr_of_capables - nmr_of_capables,
pga->nmr_of_descendants - nmr_of_descendants,
0,
pga,
pcp);
nmr_of_descendants = pga->nmr_of_descendants;
nmr_of_capables = pga->nmr_of_capables;
free_array(auts, x_dim, y_dim, 1);
if (step != max_step) {
auts = restore_group(TRUE, tmp_file, 1, pga, pcp);
RESET(tmp_file);
}
pga->nmr_of_descendants = nmr_of_descendants;
pga->nmr_of_capables = nmr_of_capables;
change = (pga->soluble == LINK_SOLUBLE_FLAG);
copy_flags(flag, pga);
if (change)
pga->soluble = LINK_SOLUBLE_FLAG;
}
CloseFile(tmp_file);
break;
} /* switch */
/* were terminal groups processed? */
if (pga->terminal)
return nmr_of_descendants;
else
return nmr_of_capables;
}
/* report on the number immediate descendants and on those capable */
void report(int nmr_of_capables,
int nmr_of_descendants,
int nmr_of_covers,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
/*
FILE * COUNT;
COUNT = OpenFile ("COUNT", "a+");
fprintf (COUNT, "%d,\n", nmr_of_descendants);
*/
if (nmr_of_descendants != 0) {
printf("# of immediate descendants of order %d^%d is %d\n",
pcp->p,
y[pcp->clend + pcp->cc - 1] + pga->step_size,
nmr_of_descendants);
if (nmr_of_capables != 0)
printf("# of capable immediate descendants is %d\n", nmr_of_capables);
} else if (nmr_of_covers != 0)
printf("# of reduced %d-covering groups is %d\n", pcp->p, nmr_of_covers);
}
/* print out basic information about the starting group */
void print_group_details(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
int order;
printf("\n**************************************************\n");
printf("Starting group: %s\n", pcp->ident);
order = pcp->newgen ? y[pcp->clend + pcp->cc - 1] : y[pcp->clend + pcp->cc];
printf("Order: %d^%d\n", pcp->p, order);
printf("Nuclear rank: %d\n", pga->nuclear_rank);
printf("%d-multiplicator rank: %d\n", pga->p, pga->multiplicator_rank);
}
/* check if the group is a valid starting group */
static Logical select_group(int *min_step,
int *max_step,
int order_bound,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int max_extension = order_bound - y[pcp->clend + pcp->cc - 1];
Logical select = TRUE;
if (pga->step_size == ALL) {
*max_step = MIN(pcp->newgen, max_extension);
if (*max_step <= 0) {
invalid_group(pcp);
return FALSE;
} else
*min_step = 1;
} else {
if (pga->step_size > pcp->newgen || pga->step_size > max_extension) {
invalid_group(pcp);
return FALSE;
} else
*min_step = *max_step = pga->step_size;
}
return select;
}
/* print a message that the group is not a valid starting group */
void invalid_group(struct pcp_vars *pcp)
{
printf("Group %s is an invalid starting group\n", pcp->ident);
}
/* enforce laws on p-covering group of starting group --
these include exponent and metabelian laws */
void
enforce_laws(struct pga_vars *flag, struct pga_vars *pga, struct pcp_vars *pcp)
{
struct exp_vars exp_flag;
if (flag->exponent_law != 0) {
initialise_exponent(&exp_flag, pcp);
pcp->extra_relations = flag->exponent_law;
extra_relations(&exp_flag, pcp);
eliminate(FALSE, pcp);
set_values(pga, pcp);
}
}
anupq-3.3.0/src/setup.c 000644 000766 000024 00000026001 14355420571 015230 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A setup.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "setup.h"
void class_setup(int new_space, struct pcp_vars *pcp);
/* this routine moves existing structures in the array y to create
the space necessary to store the presentation to be computed for
the next class; for a description of the basic data structures,
read the header file setup.h */
void setup(struct pcp_vars *pcp)
{
register int *y = y_address;
register int e;
register int i;
register int j;
register int k;
register int s;
register int w;
register int x;
register int p1;
register int ee;
register int moccur;
register int new_space; /* new space required for next class */
register int max_gens; /* upper bound for total number of generators */
register int end_ccm2; /* last generator of class pcp->cc - 2 */
register int halfwt;
register int oldpc;
register int pcomm;
register int extra_ppower; /* extra pointers to powers */
register int extra_ppcomm; /* extra pointers to pointers to commutators */
register int extra_comm; /* extra pointers to commutators */
register int bound;
register int value;
register int ndgen = pcp->ndgen;
register int lastg = pcp->lastg;
register int class_end;
#include "access.h"
/* delete the pcp->words and subgroups entries if present */
if (pcp->subgrp != pcp->structure && pcp->cc != 0)
delete_tables(0, pcp);
if (pcp->complete != 0 && !pcp->multiplicator)
return;
++pcp->cc;
pcp->ccbeg = pcp->lastg + 1;
/* set up class 1 */
if (pcp->cc == 1) {
/* y[pcp->clend + i] is the number of the last pcp generator
in class i; set y[pcp->clend] = 0 for convenience */
pcp->clend = pcp->fronty;
for (i = 0; i <= MAXCLASS; ++i)
y[pcp->clend + i] = 0;
pcp->dgen = pcp->clend + MAXCLASS + ndgen + 1;
moccur = pcp->dgen + ndgen;
pcp->relp = moccur + ndgen;
pcp->first_pseudo = 0;
pcp->newgen = ndgen;
pcp->lastg = ndgen;
/* structure information is stored at the back of y */
pcp->structure = pcp->backy - ndgen;
pcp->words = pcp->structure;
pcp->subgrp = pcp->words;
pcp->submlg = pcp->subgrp - pcp->lastg;
pcp->nwords = 0;
pcp->nsubgp = 0;
/* pcp->lused is the last used location working from the front */
pcp->lused = pcp->relp + 2 * pcp->ndrel;
/* pcp->gspace is the index of the first garbage collectable
location in the array y */
pcp->gspace = pcp->lused + 1;
if (is_space_exhausted(0, pcp))
return;
/* mark all defining generators as irredundant */
for (i = 1; i <= ndgen; ++i) {
y[pcp->dgen + i] = i;
y[moccur + i] = 0;
}
/* read defining relations */
/*
read_relations (pcp);
pcp->gspace = pcp->lused + 1;
*/
/* set up inverse, j^(p - 1), for defining generator j;
not all inverses are required but we choose to compute these
as such information is useful for the Holt & Rees programs */
for (j = 1; j <= ndgen; ++j) {
if (is_space_exhausted(3, pcp))
return;
pcp->lused += 3;
y[pcp->dgen - j] = -(pcp->lused - 2);
y[pcp->lused - 1] = 1;
y[pcp->lused - 2] = pcp->dgen - j;
y[pcp->lused] = PACK2(pcp->pm1, j);
}
/* for generators of current class, generator eliminating
equations are pointed to by y[structure + i];
y[structure + i] is positive if generator i is not redundant;
y[structure + i] = 0 if generator i is trivial;
y[structure + i] = -ptr if generator i has value pointed to by ptr;
each positive word in y[structure + i] has 3 pieces of
information stored in it arranged as follows --
bits 25 to the (no of bits in a computer word - 1) contain
weight (class) information;
bits 0 to 24 contain the defining information for generator i;
the defining information is composed of 2 parts,
bits 0 to 8 containing a say, and bits 9 to 24 containing b say;
if b = 0 then generator i is on the image of defining generator a;
if a = 0 then generator i is on the power b^p;
if both a and b are non-zero then generator i is on the
commutator (b, a); it is possible that this version allows the
user to control the the precise breakdown of the word via
the run-time options -c and -d */
/* insert structure information to indicate that i is irredundant */
for (i = 1; i <= ndgen; ++i)
y[pcp->structure + i] = i;
return;
}
/* for class 2 we create space for --
the pointers to powers (base address pcp->ppower),
pointers to pointers to commutators (base address pcp->ppcomm),
pointers to commutators, and additional structure information;
this data is accommodated by moving the structure array forward */
if (pcp->cc == 2) {
pcp->ncomm = lastg * (lastg - 1) / 2;
/* is the next class already set up? */
if (pcp->ncset != 0) {
new_space = pcp->ncomm + ndgen;
class_setup(new_space, pcp);
return;
}
/* the following additional space is required --
for pcp->ppower = lastg; for pcp->ppower = lastg;
for pcp->ppcomm = lastg - 1; for pcomm = pcp->ncomm;
also required is pcp->ncomm + ndgen */
new_space = lastg + lastg - 1 + pcp->ncomm + pcp->ncomm + ndgen;
/* structure information is moved to accommodate the new data */
pcp->structure -= new_space;
pcp->words = pcp->structure;
pcp->subgrp = pcp->words;
pcp->submlg = pcp->subgrp - lastg;
if (is_space_exhausted(0, pcp))
return;
for (i = 1; i <= lastg; ++i)
y[pcp->structure + i] = y[pcp->structure + new_space + i];
/* pointers to powers follow structure plus any spare area */
pcp->ppower = pcp->structure + lastg + pcp->ncomm + ndgen;
for (i = 1; i <= lastg; ++i)
y[pcp->ppower + i] = 0;
/* initialise pcp->ppcomm so that y[pcp->ppcomm + 2] is the
first location after y[pcp->ppower + lastg] */
pcp->ppcomm = pcp->ppower + lastg - 1;
/* pointers to commutators follow in lexicographic order
after y[pcp->ppcomm + lastg] */
pcomm = pcp->ppcomm + lastg;
for (i = 2; i <= lastg; ++i) {
pcomm += i - 2;
y[pcp->ppcomm + i] = pcomm;
}
for (i = 1, bound = pcp->ncomm; i <= bound; ++i)
y[pcp->ppcomm + lastg + i] = 0;
return;
}
/* class 3 onwards --
check that occurrence conditions don't stop at this class */
if (pcp->nocset > 1 && pcp->cc > pcp->nocset) {
--pcp->cc;
pcp->complete = 1;
pcp->ccbeg = y[pcp->clend + pcp->cc - 1] + 1;
/*
text (5, pcp->cc, pcp->p, lastg, 0);
*/
return;
}
class_end = pcp->clend;
/* calculate an upper bound for the number of new generators */
value = y[class_end + 1];
max_gens = value * (value - 1) / 2 + (lastg - value) * value + ndgen;
/* is the next class already set up? */
if (pcp->ncset != 0) {
new_space = max_gens;
class_setup(new_space, pcp);
return;
}
/* compute the new space required */
end_ccm2 = y[class_end + pcp->cc - 2];
extra_ppower = lastg - end_ccm2;
extra_ppcomm = extra_ppower;
halfwt = (pcp->cc - 1) / 2;
/* compute the number of extra commutators to be stored */
for (i = 1, extra_comm = 0; i <= halfwt; ++i) {
extra_comm +=
(y[class_end + i] - y[class_end + i - 1]) *
(y[class_end + pcp->cc - i] - y[class_end + pcp->cc - i - 1]);
}
if (MOD(pcp->cc, 2) == 0) {
halfwt = pcp->cc / 2;
extra_comm += (y[class_end + halfwt] - y[class_end + halfwt - 1]) *
(y[class_end + halfwt] - y[class_end + halfwt - 1] - 1) / 2;
}
new_space = max_gens + extra_ppower + extra_ppcomm + extra_comm;
if (is_space_exhausted(new_space, pcp))
return;
/* move structure array forward */
pcp->structure -= new_space;
pcp->words = pcp->structure;
pcp->subgrp = pcp->words;
pcp->submlg = pcp->subgrp - lastg;
for (i = 1; i <= lastg; ++i)
y[pcp->structure + i] = y[pcp->structure + new_space + i];
/* move pointers to powers forward */
for (i = 1; i <= end_ccm2; ++i) {
y[pcp->structure + lastg + max_gens + i] = y[pcp->ppower + i];
if (y[pcp->ppower + i] < 0) {
p1 = -y[pcp->ppower + i];
y[p1] = pcp->structure + lastg + max_gens + i;
}
}
pcp->ppower = pcp->structure + lastg + max_gens;
for (i = end_ccm2 + 1; i <= lastg; ++i)
y[pcp->ppower + i] = 0;
oldpc = pcp->ppcomm + end_ccm2;
pcp->ppcomm = pcp->ppower + lastg - 1;
pcomm = pcp->ppcomm + lastg;
/* move pointers to commutators and compute pointers to these */
for (w = 3, bound = pcp->cc; w <= bound; w++) {
s = MAX(y[class_end + w - 3] + 1, 2);
e = y[class_end + w - 2];
for (i = s; i <= e; ++i) {
y[pcp->ppcomm + i] = pcomm;
value = y[class_end + pcp->cc - w + 1];
for (ee = MIN(i - 1, value); ee > 0; --ee) {
y[++pcomm] = y[++oldpc];
if (y[pcomm] < 0) {
p1 = -y[pcomm];
y[p1] = pcomm;
}
}
x = w - 2 - halfwt;
if (x > 0)
/* make room for (w - 2, pcp->cc - (w - 2)) commutators */
k = y[class_end + pcp->cc - w + 2] - value;
else {
if (x == 0 && MOD(pcp->cc, 2) == 0)
/* make room for (pcp->cc / 2, pcp->cc / 2) commutators */
k = MAX(0, i - y[class_end + halfwt - 1] - 1);
else
k = 0;
}
for (j = 1; j <= k; ++j)
y[pcomm + j] = 0;
pcomm += k;
}
}
/* append the left-normed commutators of class pcp->cc */
s = y[class_end + pcp->cc - 2] + 1;
k = y[class_end + 1];
for (i = s; i <= lastg; ++i) {
for (j = 1; j <= k; ++j)
y[pcomm + j] = 0;
y[pcp->ppcomm + i] = pcomm;
pcomm += k;
}
pcp->ncomm += extra_comm;
}
/* was the class already setup? */
void class_setup(int new_space, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int bound = pcp->lastg;
new_space -= (pcp->ppower - (pcp->structure + pcp->lastg));
if (new_space > 0) {
if (is_space_exhausted(new_space, pcp))
return;
pcp->structure -= new_space;
pcp->words = pcp->structure;
pcp->subgrp = pcp->words;
pcp->submlg = pcp->subgrp - pcp->lastg;
for (i = 1; i <= bound; ++i)
y[pcp->structure + i] = y[pcp->structure + new_space + i];
}
pcp->ncset = 0;
}
anupq-3.3.0/src/extend_representation.c 000644 000766 000024 00000007243 14355420571 020510 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A extend_representation.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* compute a matrix which permits the extension of an existing
permutation representation for a group by a group of order
p^rank; the matrix rows are indexed from 0 .. p^rank - 1;
the matrix columns are indexed by the defining generators and
their inverses in the sequence 1, 1^-1, 2, 2^-1, etc.
M[i][j] = k, where a = (a_1,.....a_rank) is the vector of
coefficients of the p-adic expansion of i, b is the vector of
coefficients of the p-adic expansion of k, and within the
p-group b = a * im(j) */
void extend_representation(struct pcp_vars *pcp)
{
register int *y = y_address;
int *expand; /* array to store p-adic expansion */
register int rank = y[pcp->clend + pcp->cc];
register int i, j, gen, sum;
int bound;
int **M;
int index;
int *powers; /* store powers of p to avoid recomputation */
register int p = pcp->p;
int cp = pcp->lused;
int ptr;
bound = int_power(p, rank);
/* set up room to store p-adic expansion and powers of p */
expand = allocate_vector(rank, 0, TRUE);
powers = allocate_vector(rank, 0, FALSE);
for (i = 0; i < rank; ++i)
powers[i] = int_power(p, i);
/* set up matrix to store results */
M = allocate_matrix(bound, 2 * pcp->ndgen, 0, FALSE);
for (i = 0; i < bound; ++i) {
/* find the p-adic expansion of i */
compute_padic(powers, i, rank - 1, p, expand);
/* now process each defining generator and its inverse in turn */
for (gen = -pcp->ndgen; gen <= pcp->ndgen; ++gen) {
if (gen == 0)
continue;
/* now copy p-adic expansion to y */
for (j = 0; j < rank; ++j)
y[cp + j + 1] = expand[j];
#if defined(DEBUG)
printf("processing generator %d \n", gen);
printf("Stored p-adic expansion for %d in y is ", i);
for (j = 1; j <= pcp->lastg; ++j) {
printf("%d ", y[cp + j]);
}
printf("\n");
#endif
/* look up image of gen which is stored as a generator-exponent
string in y; post-multiply the p-adic expansion by this image */
ptr = y[pcp->dgen + gen];
if (ptr != 0)
collect(ptr, cp, pcp);
#if defined(DEBUG)
printf("result of collection is ");
for (j = 1; j <= pcp->lastg; ++j) {
printf("%d ", y[cp + j]);
}
printf("\n");
#endif
/* store the result of the multiplication */
sum = 0;
for (j = 1; j <= pcp->lastg; ++j)
sum += (y[cp + j] * powers[j - 1]);
index = (gen < 0) ? 2 * (-gen) - 1 : 2 * gen - 2;
M[i][index] = sum;
}
for (j = 0; j < rank; ++j)
expand[j] = 0;
}
printf("The extension matrix is\n");
print_matrix(M, bound, 2 * pcp->ndgen);
free_vector(expand, 0);
free_vector(powers, 0);
free_matrix(M, bound, 0);
}
/* compute p-adic expansion of x, where x < p^(k + 1) */
void compute_padic(int *powers, int x, int k, int p, int *expand)
{
register int alpha;
register int val;
while (x > 0 && k >= 0) {
val = powers[k];
if (val <= x) {
/* find largest multiple of p^k < x */
alpha = p - 1;
while (alpha * val > x)
--alpha;
expand[k] = alpha;
x -= alpha * val;
}
--k;
}
}
anupq-3.3.0/src/formula.c 000644 000766 000024 00000012131 14355420571 015534 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A formula.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
int *list;
int *first;
int *last;
int power_of_entry;
int exponent;
/* echelonise the relation and add any redundant generator to the queue */
void setup_echelon(int *queue, int *queue_length, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
int i;
/* now echelonise the result */
for (i = 1; i <= lastg; ++i)
y[cp + lastg + i] = 0;
echelon(pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
/* evaluate the word whose variables are stored in the list */
void evaluate_list(
int *queue, int *queue_length, int *list, int depth, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
register int cp = pcp->lused;
register int cp1 = cp + lastg;
register int cp2 = cp1 + lastg;
register int i, a;
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
while (depth > 0) {
a = list[depth];
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = 0;
y[cp1 + a] = 1;
/* compute a^power_of_entry */
power(power_of_entry, cp1, pcp);
vector_to_string(cp1, cp2, pcp);
if (y[cp2 + 1] != 0)
collect(-cp2, cp, pcp);
--depth;
}
#ifdef DEBUG
print_array(y, cp + 1, cp + lastg + 1);
printf("The result is ");
print_array(y, cp + 1, cp + lastg + 1);
#endif
/* now compute word^exponent */
power(exponent, cp, pcp);
setup_word_to_print("result of collection", cp, cp + lastg + 1, pcp);
/*
if (pcp->m != 0)
*/
setup_echelon(queue, queue_length, cp, pcp);
}
/* check that word is a normal word -- if not, discard */
Logical valid_word(int *list, int depth)
{
Logical normal_word = TRUE;
while (depth > 1 && (normal_word = (list[depth] < list[depth - 1])))
--depth;
return normal_word;
}
/* build up a list whose entries are the letters of the word to be evaluated */
void loop(int *queue,
int *queue_length,
int depth,
int *list,
int *nmr,
int begin,
int end,
struct pcp_vars *pcp)
{
int i, k;
char *s;
for (i = begin; i <= end; ++i) {
++*nmr;
list[*nmr] = i;
if (*nmr == depth) {
if (valid_word(list, depth)) {
s = (depth == 1) ? " is" : "s are";
printf("The component%s ", s);
/* one has a complete list of entries to generate a normal word */
for (k = *nmr; k >= 1; --k)
printf("%d ", list[k]);
printf("\n");
evaluate_list(queue, queue_length, list, depth, pcp);
}
--*nmr;
} else {
loop(queue,
queue_length,
depth,
list,
nmr,
first[depth - *nmr],
last[depth - *nmr],
pcp);
}
}
--*nmr;
}
/* evaluate formulae of the form
(x1^n * x2^n * ... * x^n)^m
where each of the x run over all of the generators of a
supplied weight in the group; n and m are positive integers;
echelonise the result and add any redundancies to the queue */
void evaluate_formula(int *queue, int *queue_length, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
register int i;
int nmr_entries;
int *weight;
int total;
int nmr;
total = 6 * lastg + 6;
if (is_space_exhausted(total, pcp))
return;
/* fudge the value of submlg because of possible call to power */
pcp->submlg -= total;
read_value(TRUE, "Input number of components of formula: ", &nmr_entries, 1);
weight = allocate_vector(nmr_entries, 1, FALSE);
first = allocate_vector(nmr_entries + 1, 0, FALSE);
last = allocate_vector(nmr_entries + 1, 0, FALSE);
list = allocate_vector(nmr_entries + 1, 0, FALSE);
printf("Input weight of each component of formula: ");
for (i = 1; i < nmr_entries; ++i) {
read_value(FALSE, "", &weight[i], 1);
}
read_value(TRUE, "", &weight[i], 1);
read_value(
TRUE, "Input power of individual component: ", &power_of_entry, 1);
read_value(TRUE, "Input power of word: ", &exponent, 1);
for (i = 1; i <= nmr_entries; ++i) {
first[i] = y[pcp->clend + weight[i] - 1] + 1;
last[i] = y[pcp->clend + weight[i]];
}
/* generate the list of words; evaluate each, echelonise it
and build up the queue of redundant generators */
nmr = 0;
loop(queue,
queue_length,
nmr_entries,
list,
&nmr,
first[nmr_entries],
last[nmr_entries],
pcp);
/* reset value of submlg */
pcp->submlg += total;
free_vector(weight, 1);
free_vector(first, 0);
free_vector(last, 0);
free_vector(list, 0);
}
anupq-3.3.0/src/power.c 000644 000766 000024 00000013056 14355420571 015232 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A power.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
static void zero_array(int ptr, int length);
static void copy_array(int old, int length, int new);
/* power routine - written by M J Smith, May 1991.
raise exponent vector with base address cp to power exp;
the method used depends on the value of the prime P;
P = 2, 3: For each factor of P in the power the word is raised
to the power P by multiplication P - 1 times. Any factor of the
power remaining is done using a P-ary decomposition.
P > 3: A P-ary decomposition is used. Calculation of the powers
up to P at each step are done using a binary expansion.
Storage:
X - exponent vect contains word on entry, will contain
on exit of routine. Always accumulating answer.
A - exponent string - used for multiplying a word a number of
times in a loop (small primes) or for squaring words in binary.
Z - In binary method, accumulates the word to the prime p
exponent. This is used as the base word in the next iteration.
B - Is used only in binary expansion to square the string A.
A is unpacked into B, then collected onto B, then packed from B. */
void power(int exp, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int p = pcp->p;
register int lastg = pcp->lastg;
register int x = cp;
register int a = pcp->submlg - (lastg + 1);
register int b = a - (lastg + 1);
register int z = b - (lastg + 1);
register int q, r, pp, nn;
register int i;
if (exp == 1)
return;
/* nn is the exponent requested */
nn = exp;
/* first consider small primes */
if (p == 2 || p == 3) {
/* extract all powers of the prime from the exponent */
while (MOD(nn, p) == 0) {
nn /= p;
/* pack word in X into string for multiplication p - 1 times */
vector_to_string(x, a, pcp);
if (y[a + 1] == 0)
return;
/* now multiply p - 1 times to get X^p */
for (i = 1; i <= p - 1; ++i) {
collect(-a, x, pcp);
}
}
if (nn == 1)
return;
/* have extracted all powers of p from exponent -
now do rest using prime p expansion */
/* move X into Z, set X to 1 */
copy_array(x, lastg, z);
zero_array(x, lastg);
while (nn > 0) {
r = MOD(nn, p);
nn /= p;
/* move Z into A to multiply onto Z p - 1 times and
onto X r times */
vector_to_string(z, a, pcp);
/* now calculate Z = Z^p and X = X * Z^r */
if (y[a + 1] != 0) {
for (i = 1; i <= p - 1; ++i) {
if (i <= r)
collect(-a, x, pcp);
collect(-a, z, pcp);
}
}
}
}
/* for larger primes, use prime p decomposition and subsequent
binary expansion */
else {
/* move X into Z and set X to 1 */
vector_to_string(x, z, pcp);
zero_array(x, lastg);
while (nn > 0) {
/* move word w in Z into A, and set Z to 1; A will square each
iteration, and Z will accumulate some of these powers to
end up with w^p at end of while loop */
string_to_vector(z, a, pcp);
zero_array(z, lastg);
q = nn / p;
r = MOD(nn, p);
pp = p;
/* Now use binary expansion of both PP (ie p) and remainder R
to accumulate w^p in Z and w^R onto X from squaring of w.
Must continue until we have last w^R on X or until we get
w^p in Z if there is any remaining exponent (ie Q > 0) */
while (r > 0 || (pp > 0 && q > 0)) {
/* collect onto answer if needed (ie R = 1) */
if (MOD(r, 2) == 1) {
copy_array(a, lastg, b);
if (y[x + 1] > 0) {
collect(-x, b, pcp);
}
vector_to_string(b, x, pcp);
}
/* collect onto Z for next power of w if next iteration reqd */
if (MOD(pp, 2) == 1 && q > 0) {
copy_array(a, lastg, b);
if (y[z + 1] > 0) {
collect(-z, b, pcp);
}
vector_to_string(b, z, pcp);
}
r = r >> 1;
pp = pp >> 1;
/* if powers still needed for answer X or for w^p in Z for
another iteration (ie Q > 0) then square A by unpacking into
exponent vector B, collecting A and B, then repacking into A */
if (r > 0 || (pp > 0 && q > 0)) {
/* square A */
vector_to_string(a, b, pcp);
if (y[b + 1] > 0) {
collect(-b, a, pcp);
}
}
}
nn = q;
}
/* now X is the answer as a string, so convert to exponent vector */
string_to_vector(x, b, pcp);
copy_array(b, lastg, x);
}
}
/* zero a section of the array, y */
static void zero_array(int ptr, int length)
{
register int *y = y_address;
register int i;
for (i = 1; i <= length; ++i)
y[ptr + i] = 0;
}
/* copy a section of the array, y */
static void copy_array(int old, int length, int new)
{
register int *y = y_address;
register int i;
for (i = 1; i <= length; ++i)
y[new + i] = y[old + i];
}
anupq-3.3.0/src/initialise_pcp.c 000644 000766 000024 00000001546 14355420571 017073 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A initialise_pcp.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* initialise the contents of the pcp structure */
void initialise_pcp(int output, struct pcp_vars *pcp)
{
pcp->fullop = output >= 2;
pcp->diagn = output == 3;
pcp->overflow = FALSE;
pcp->multiplicator = FALSE;
pcp->metabelian = FALSE;
pcp->cover = FALSE;
pcp->valid = TRUE;
pcp->end_wt = 0;
pcp->start_wt = 0;
pcp->ncset = 0;
pcp->complete = 0;
pcp->nocset = 0;
pcp->cc = 0;
pcp->lastg = 0;
pcp->pm1 = pcp->p - 1;
pcp->m = 0;
}
anupq-3.3.0/src/label_to_subgroup.c 000644 000766 000024 00000011062 14355420571 017600 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A label_to_subgroup.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pcp_vars.h"
#include "pq_functions.h"
enum {
BITES_IN_INT = 8 * sizeof(int)
};
/* given a label, find the standard matrix, S, for the
corresponding allowable subgroup and its definition set */
int **
label_to_subgroup(int *Index, int **subset, int label, struct pga_vars *pga)
/* definition set for subgroup */
{
register int i, j;
int *expand; /* array to store p-adic expansion */
int index = 1; /* index of definition set of subgroup */
int **S;
int position = 0;
/* deduct the appropriate offset + 1 */
while (index < pga->nmr_def_sets && label > pga->offset[index])
++index;
--index;
label -= (pga->offset[index] + 1);
/* set up room to store the p-adic expansion of the remainder */
expand = allocate_vector(pga->available[index], 0, 1);
find_padic(label, pga->available[index] - 1, pga->p, expand, pga);
/* convert bit string representation of definition set to subset */
*subset = bitstring_to_subset(pga->list[index], pga);
/* set up standard matrix for allowable subgroup */
S = allocate_matrix(pga->s, pga->q, 0, TRUE);
for (i = 0; i < pga->s; ++i) {
S[i][(*subset)[i]] = 1;
for (j = (*subset)[i] + 1; j < pga->q; ++j) {
if (1 << j & pga->list[index])
continue;
S[i][j] = expand[position];
++position;
}
}
free_vector(expand, 0);
*Index = index;
return S;
}
/* factorise subgroup determined by standard matrix S from
p-covering group; the definition set for S is pga->list[index] */
void factorise_subgroup(
int **S, int index, int *subset, struct pga_vars *pga, struct pcp_vars *pcp)
/* definition set for subgroup */
{
register int *y = y_address;
register int i, j;
for (i = 0; i < pga->q; ++i) {
if (1 << i & pga->list[index])
continue;
for (j = 1; j <= 2 * pcp->lastg; ++j)
y[pcp->lused + j] = 0;
for (j = 0; j < pga->s; ++j)
if (S[j][i] != 0)
y[pcp->lused + pcp->ccbeg + subset[j]] = pga->p - S[j][i];
y[pcp->lused + pcp->ccbeg + i] = 1;
echelon(pcp);
}
eliminate(0, pcp);
}
/* factorise subgroup determined by standard matrix S from
p-covering group; the definition set for S is pga->list[index] */
void GAP_factorise_subgroup(FILE *GAP_input,
int **S,
int index,
int *subset,
struct pga_vars *pga,
struct pcp_vars *pcp)
/* definition set for subgroup */
{
register int *y = y_address;
register int i, j;
fprintf(GAP_input, "gens := [");
for (i = 0; i < pga->q; ++i) {
if (1 << i & pga->list[index])
continue;
for (j = 1; j <= 2 * pcp->lastg; ++j)
y[pcp->lused + j] = 0;
for (j = 0; j < pga->s; ++j)
if (S[j][i] != 0)
y[pcp->lused + pcp->ccbeg + subset[j]] = pga->p - S[j][i];
y[pcp->lused + pcp->ccbeg + i] = 1;
fprintf(GAP_input, "[");
for (j = pcp->ccbeg; j < pcp->ccbeg + pga->q - 1; ++j)
fprintf(GAP_input, "%d, ", y[pcp->lused + j]);
fprintf(GAP_input, "%d]", y[pcp->lused + pcp->ccbeg + pga->q - 1]);
if (i < pga->q - 1)
fprintf(GAP_input, ",\n");
}
fprintf(GAP_input, "];;\n");
}
/* find p-adic expansion of x, where x < p^(k + 1) */
void find_padic(int x, int k, int p, int *expand, struct pga_vars *pga)
{
register int alpha;
register int val;
while (x > 0 && k >= 0) {
val = pga->powers[k];
if (val <= x) {
/* find largest multiple of p^k < x */
alpha = p - 1;
while (alpha * val > x)
--alpha;
expand[k] = alpha;
x -= alpha * val;
}
--k;
}
}
/* decode the bit string K and store as subset */
int *bitstring_to_subset(int K, struct pga_vars *pga)
{
int length = pga->s; /* number of elements of subset */
int *subset;
register int i;
int mask = 1 << (BITES_IN_INT - 1);
subset = allocate_vector(pga->s, 0, 1);
for (i = 1; i <= BITES_IN_INT && length > 0; ++i) {
if ((K & mask) != 0) {
--length;
subset[length] = BITES_IN_INT - i;
}
K <<= 1;
}
return subset;
}
anupq-3.3.0/src/expand_commutator.c 000644 000766 000024 00000002571 14355420571 017627 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A expand_commutator.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "constants.h"
/* routines for handling expansion of commutator relations */
static void add(int *x, int *y);
static void invert_symbols(int *x);
static int length(int *s);
/* expand the commutator of s and t */
void expand_commutator(int *s, int t)
{
int a[MAXWORD];
register int i;
for (i = 0; i < MAXWORD; ++i)
a[i] = s[i];
invert_symbols(s);
s[length(s)] = -t;
add(s, a);
s[length(s)] = t;
}
/* find the number of non-zero entries in s */
static int length(int *s)
{
register int i = 0;
while (i < MAXWORD && s[i] != 0)
++i;
return i;
}
/* concatenate y with x */
static void add(int *x, int *y)
{
register int j;
int i = length(x);
for (j = 0; j < MAXWORD && y[j] != 0; ++j)
x[i + j] = y[j];
}
/* construct the group-theoretic inverse of the symbols in x */
static void invert_symbols(int *x)
{
register int i = length(x) - 1;
register int j;
int temp, mid;
mid = i / 2;
for (j = 0; j <= mid; ++j) {
temp = x[j];
x[j] = -x[i - j];
x[i - j] = -temp;
}
}
anupq-3.3.0/src/next_class.c 000644 000766 000024 00000017555 14355420571 016251 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A next_class.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "exp_vars.h"
#define BOTH_TAILS 0
#if defined(GROUP)
/* calculate the next class of the group layer by layer */
void next_class(Logical report, int **head, int **list, struct pcp_vars *pcp)
{
register int *y = y_address;
register int class;
struct exp_vars exp_flag;
int prev = 1, new;
/* if class 1 computation, setup has already been done --
before relations are read */
if (y[pcp->clend + 1] != 0)
setup(pcp);
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
if (pcp->extra_relations != 0 || pcp->m != 0)
initialise_exponent(&exp_flag, pcp);
for (class = pcp->cc; class > 1; --class) {
tails(BOTH_TAILS, class, pcp->cc, 1, pcp);
if (pcp->overflow)
return;
if (class != 2) {
if (pcp->m != 0) {
new = pcp->lastg - pcp->ccbeg + 1;
exp_flag.queue =
reallocate_vector(exp_flag.queue, prev, new, 1, FALSE);
prev = new;
}
consistency(0, exp_flag.queue, &exp_flag.queue_length, class, pcp);
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
if (!pcp->multiplicator) {
if (pcp->cc > 1) {
update_generators(pcp);
if (pcp->overflow)
return;
/* this call is not necessary if there are no automorphisms
present -- however, it may be useful in reducing space
requirements and hence improve efficiency -- this needs
to be investigated further -- EO'B October 1991 */
if (pcp->m != 0) {
eliminate(0, pcp);
/* an elimination has been performed -- must reset queue length */
exp_flag.queue_length = 0;
if (pcp->overflow)
return;
}
}
collect_relations(pcp);
if (pcp->overflow || pcp->complete != 0 || !pcp->valid)
return;
if (pcp->extra_relations != 0) {
if (pcp->m == 0) {
exp_flag.list = ALL_WORDS;
extra_relations(&exp_flag, pcp);
} else {
exp_flag.list = REDUCED_LIST;
enforce_exponent(report, &exp_flag, head, list, pcp);
if (pcp->overflow)
return;
}
}
if (pcp->overflow || pcp->complete != 0 || !pcp->valid)
return;
}
/* if the multiplicator flag is set and there are redundant
generators, then we must be careful about elimination --
update_generators has not yet been performed; see note
in code of that procedure */
if (pcp->multiplicator && pcp->ndgen > y[pcp->clend + 1])
eliminate(TRUE, pcp);
else
eliminate(FALSE, pcp);
}
#endif
/* when automorphisms are supplied, enforce exponent law by setting
up a queue of redundant generators and then close this queue */
void enforce_exponent(Logical report,
struct exp_vars *exp_flag,
int **head,
int **list,
struct pcp_vars *pcp)
{
register int *y = y_address;
#if defined(TIME)
int t;
#endif
int factor;
int limit = 0;
int *queue, queue_length;
int list_length;
char *s;
if (pcp->m != 0) {
read_value(TRUE, "Input queue factor: ", &factor, 0);
limit = factor * (pcp->lastg - pcp->ccbeg + 1) / 100;
}
#if defined(TIME)
t = runTime();
#endif
Extend_Auts(head, list, y[pcp->clend + 1] + 1, pcp);
if (pcp->overflow)
return;
#if defined(TIME)
t = runTime() - t;
printf("Time to extend automorphisms is %.2f seconds\n", t * CLK_SCALE);
#endif
#if defined(TIME)
t = runTime();
#endif
list_length = pcp->lastg - pcp->ccbeg + 1;
pcp->start_wt = 1;
pcp->end_wt = (2 * pcp->cc) / 3;
extra_relations(exp_flag, pcp);
if (pcp->overflow)
return;
queue = exp_flag->queue;
queue_length = exp_flag->queue_length;
pcp->end_wt = 0;
#if defined(TIME)
t = runTime() - t;
#endif
s = (queue_length == 1) ? "y" : "ies";
if (report || pcp->fullop || pcp->diagn)
printf("Exponent checks gave %d redundanc%s\n", queue_length, s);
#if defined(TIME)
printf("Time to check exponents is %.2f seconds\n", t * CLK_SCALE);
#endif
close_queue(
report, list_length, limit, *head, *list, queue, queue_length, pcp);
}
/* close the queue of redundant generators under the action
of the automorphisms */
void close_queue(Logical report,
int list_length,
int limit,
int *head,
int *list,
int *queue,
int queue_length,
struct pcp_vars *pcp)
{
int *long_queue, long_queue_length;
#if defined(TIME)
int t;
#endif
long_queue = allocate_vector(list_length, 1, 0);
long_queue_length = 0;
#if defined(TIME)
t = runTime();
#endif
if (!pcp->complete) {
close_relations(report,
limit,
1,
head,
list,
queue,
queue_length,
long_queue,
&long_queue_length,
pcp);
if (report || pcp->fullop || pcp->diagn)
printf("Length of long queue after closing short queue is %d\n",
long_queue_length);
}
if (!pcp->complete)
close_relations(report,
limit,
2,
head,
list,
long_queue,
long_queue_length,
long_queue,
&long_queue_length,
pcp);
if (report || pcp->fullop || pcp->diagn)
printf("Final long queue length is %d\n", long_queue_length);
#if defined(TIME)
t = runTime() - t;
printf("Time to close under action of automorphisms is %.2f seconds\n",
t * CLK_SCALE);
#endif
free_vector(queue, 1);
free_vector(long_queue, 1);
}
int rearrange_queues(int limit,
int *queue,
int *queue_length,
int *long_queue,
int long_queue_length,
struct pcp_vars *pcp)
{
register int *y = y_address;
int gen;
int i, p1;
for (i = 1; i <= long_queue_length; ++i) {
gen = long_queue[i];
p1 = -y[pcp->structure + gen];
if (y[p1 + 1] < limit) {
queue[++*queue_length] = gen;
long_queue[i] = 0;
}
}
return 0;
}
/* sort queue of redundant generators according to increasing length
of those relations which imply that each generator is redundant */
void bubble_sort(int *x, int len, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, pointer, temp;
Logical swap = TRUE;
register int structure = pcp->structure;
int *length = allocate_vector(len, 1, 1);
/* set up the length of the relations as an array */
for (i = 1; i <= len; ++i) {
if (x[i] != 0) {
pointer = -y[structure + x[i]];
length[i] = y[pointer + 1];
}
}
/* now sort the queue of generators */
for (i = 1; i <= len && swap; ++i) {
swap = FALSE;
for (j = len; j > i; --j)
if (length[j] < length[j - 1]) {
temp = x[j];
x[j] = x[j - 1];
x[j - 1] = temp;
temp = length[j];
length[j] = length[j - 1];
length[j - 1] = temp;
swap = TRUE;
}
}
free_vector(length, 1);
}
anupq-3.3.0/src/Extend_Auts.c 000644 000766 000024 00000032675 14355420571 016331 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A Extend_Auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#define SIZE 100
#define DEFAULT_SIZE 100000
#define DEBUG1
/* for each automorphism, compute its action on each of the generators;
this code is a modified version of the code to be found in the file
extend_automorphisms -- the modifications are introduced in order
to store the automorphims much more efficiently than the 3-dimensional
array used in that code; the efficiency is achieved by storing the
description using two 1-dimensional arrays, head and list;
these vectors are organised as follows --
ptr = head[(alpha - 1) * lastg + i] is a pointer to action of
automorphism alpha on generator i;
length = list[ptr + 1] = length of generator-exponent string
storing action;
list[ptr + 2] ... list[ptr + 1 + length] contains the string */
void Extend_Auts(int **head, int **list, int start, struct pcp_vars *pcp)
{
register int lastg = pcp->lastg;
register int offset;
register int alpha;
int index = 0;
int max_length;
FILE *fp;
int nmr_saved;
int list_length;
int saved_length; /* total length of description saved to file */
int restored_length = 0; /* amount of description restored from file */
int new; /* new storage requirement */
/* this used to be 5 * lastg + 4 -- April 1994 */
if (is_space_exhausted(7 * lastg + 4, pcp))
return;
fp = TemporaryFile();
save_auts(fp, *head, *list, pcp);
fread(&nmr_saved, sizeof(int), 1, fp);
fread(&saved_length, sizeof(int), 1, fp);
max_length = MIN(SIZE, lastg) * lastg;
list_length = max_length + DEFAULT_SIZE;
if (pcp->cc != 1) {
if ((*head)[0] < lastg)
*head = reallocate_vector(
*head, 1 + (*head)[0] * pcp->m, 1 + lastg * pcp->m, 0, FALSE);
if ((*list)[0] < list_length)
*list = reallocate_vector(
*list, (*list)[0] + 1, list_length + 1, 0, FALSE);
else
list_length = (*list)[0];
}
for (alpha = 1; alpha <= pcp->m; ++alpha) {
offset = (alpha - 1) * lastg;
restored_length +=
restore_auts(fp, offset, nmr_saved, start - 1, &index, *head, *list);
Extend_Aut(
start, max_length, &list_length, *head, list, offset, &index, pcp);
#ifdef DEBUG
if (alpha != pcp->m) {
printf("*** After automorphism %d, allocation is %d\n",
alpha,
list_length);
printf("*** Value of index is now %d\n", index);
}
#endif
if ((new = saved_length - restored_length + index) > list_length) {
*list = reallocate_vector(*list, list_length + 1, new + 1, 0, FALSE);
list_length = new;
#ifdef DEBUG
printf("*** Allocation is increased to %d\n", list_length);
#endif
}
}
(*head)[0] = lastg;
(*list)[0] = list_length;
CloseFile(fp);
#ifdef DEBUG1
printf("*** Final allocated space for automorphisms is %d\n", list_length);
printf("*** Final amount used is %d\n", index);
#endif
}
/* list the action of each automorphism on each of the
pcp generators, first .. last, by their image */
void List_Auts(int *head, int *list, int first, int last, struct pcp_vars *pcp)
{
register int alpha, i, j, ptr, length;
int offset = 0;
#include "access.h"
for (alpha = 1; alpha <= pcp->m; ++alpha) {
for (i = first; i <= MIN(last, pcp->lastg); ++i) {
ptr = head[offset + i];
length = list[ptr + 1];
printf("%d --> ", i);
for (j = ptr + 2; j <= ptr + length + 1; ++j) {
printf("%d^%d ", FIELD2(list[j]), FIELD1(list[j]));
}
printf("\n");
}
offset += pcp->lastg;
}
}
/* set up description of action of automorphisms on defining generators */
void Setup_Action(int **head,
int **list,
int ***auts,
int nmr_of_exponents,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, generator;
int position, max_length, exp, alpha, offset;
int lastg = pcp->lastg;
int fq_rank = y[pcp->clend + 1];
int list_length;
int index = 0;
#include "access.h"
*head = allocate_vector(fq_rank * pcp->m + 1, 0, FALSE);
max_length = MIN(SIZE, lastg) * lastg;
list_length = max_length + DEFAULT_SIZE;
*list = allocate_vector(list_length + 1, 0, FALSE);
for (alpha = 1; alpha <= pcp->m; ++alpha) {
offset = (alpha - 1) * fq_rank;
for (generator = 1; generator <= fq_rank; ++generator) {
position = (*head)[offset + generator] = index;
(*list)[++position] = 0;
++index;
for (i = 1; i <= nmr_of_exponents; ++i) {
if ((exp = auts[alpha][generator][i]) != 0) {
++(*list)[position];
(*list)[++index] = PACK2(exp, i);
}
}
}
}
(*head)[0] = fq_rank;
(*list)[0] = list_length;
}
/* extend the automorphism whose action on the defining generators
of the group is described in the two 1-dimensional arrays, head
and list, to act on the generators of the group; the first
generator whose image is computed is start */
void Extend_Aut(int start,
int max_length,
int *list_length,
int *head,
int **list,
int offset,
int *index,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, generator;
register int lastg = pcp->lastg;
register int structure = pcp->structure;
int cp1 = pcp->submlg - lastg - 2;
int cp2 = cp1 - lastg;
int result = cp2 - lastg;
register int value;
int u, v;
int exp;
int position, new;
#include "access.h"
/* update submlg because of possible call to power */
pcp->submlg -= (3 * lastg + 2);
/* for each specified generator, compute its image under
the action of the automorphism */
for (generator = start; generator <= lastg; ++generator) {
#ifdef DEBUG
if (generator % 100 == 0)
printf("Processed generator %d\n", generator);
#endif
/* check if there is sufficient space allocated */
if (generator % SIZE == 1 && (new = *index + max_length) > *list_length) {
*list = reallocate_vector(*list, *list_length + 1, new + 1, 0, FALSE);
*list_length = new;
}
/* examine the definition of generator */
value = y[structure + generator];
if (value <= 0) {
evaluate_image(head, *list, offset, -value, result, pcp);
} else {
u = PART2(value);
v = PART3(value);
if (v == 0)
Extend_Pow(cp1, cp2, u, offset, head, *list, pcp);
else
Extend_Comm(cp1, cp2, u, v, offset, head, *list, pcp);
#if defined(GROUP)
/* solve the appropriate equation, storing the image
of generator under the action of alpha at result;
in the Lie Program, Extend_Comm has already
set up the answer at location result */
solve_equation(cp1, cp2, result, pcp);
#endif
}
/* now copy the result to list */
position = head[offset + generator] = *index;
(*list)[++position] = 0;
++*index;
for (i = 1; i <= lastg; ++i) {
if ((exp = y[result + i]) != 0) {
++(*list)[position];
(*list)[++*index] = PACK2(exp, i);
}
}
}
/* reset value of submlg */
pcp->submlg += (3 * lastg + 2);
}
void evaluate_image(
int *head, int *list, int offset, int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
int lastg = pcp->lastg;
int i, j, start, u;
int pointer;
int exp;
int image_length, relation_length;
int next_gen, next_exp;
int p = pcp->p;
#include "access.h"
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
if (ptr == 0)
return;
/* length of redundant relation */
relation_length = y[ptr + 1];
/* first generator in redundant relation */
u = FIELD2(y[ptr + 1 + 1]);
/* its exponent */
exp = FIELD1(y[ptr + 1 + 1]);
/* set up exp power of the image of u under alpha as exponent vector at cp */
traverse_list(exp, head[offset + u], list, cp, pcp);
/* now reduce the entries mod p */
for (i = 1; i <= lastg; ++i)
y[cp + i] %= p;
/* now set up image of second generator as word with
base address pointer */
pointer = pcp->lused + 1;
for (i = 2; i <= relation_length; ++i) {
next_gen = FIELD2(y[ptr + 1 + i]);
next_exp = FIELD1(y[ptr + 1 + i]);
start = head[offset + next_gen];
image_length = list[++start];
y[pointer + 1] = image_length;
for (j = 1; j <= image_length; ++j)
y[pointer + 1 + j] = list[start + j];
for (; next_exp > 0; --next_exp)
collect(-pointer, cp, pcp);
}
}
/* given generator t of the p-multiplicator, whose definition is
u^p; hence, we have the equation
u^p = W * t
where W is a word (possibly trivial) in the generators of the group;
find the image of t under alpha by setting up (W)alpha at cp1,
((u)alpha)^p at cp2, and then call solve_equation */
void Extend_Pow(int cp1,
int cp2,
int u,
int offset,
int *head,
int *list,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int value;
register int lastg = pcp->lastg;
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = y[cp2 + i] = 0;
/* set up the image of u under alpha at cp2 */
traverse_list(1, head[offset + u], list, cp2, pcp);
/* raise the image of u under alpha to its pth power */
power(pcp->p, cp2, pcp);
/* set up image of W under alpha at cp1 */
if ((value = y[pcp->ppower + u]) < 0)
Collect_Image_Of_Str(-value, cp1, offset, head, list, pcp);
}
#if defined(GROUP)
/* given generator t of the p-multiplicator, whose definition is
[u, v]; hence, we have the equation
[u, v] = W * t, or equivalently, u * v = v * u * W * t
where W is a word (possibly trivial) in the generators of the group;
find the image of t under alpha by setting up
(v)alpha * (u)alpha * (W)alpha at cp1, (u)alpha * (v)alpha at cp2
and then call solve_equation */
void Extend_Comm(int cp1,
int cp2,
int u,
int v,
int offset,
int *head,
int *list,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int pointer, value;
register int lastg = pcp->lastg;
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = y[cp2 + i] = 0;
/* set up the image of u under alpha at cp2 */
traverse_list(1, head[offset + u], list, cp2, pcp);
/* collect image of v under alpha at cp2 */
Collect_Image_Of_Gen(cp2, head[offset + v], list, pcp);
/* set up image of v under alpha at cp1 */
traverse_list(1, head[offset + v], list, cp1, pcp);
/* collect image of u under alpha at cp1 */
Collect_Image_Of_Gen(cp1, head[offset + u], list, pcp);
/* collect image of W under alpha at cp1 */
pointer = y[pcp->ppcomm + u];
if ((value = y[pointer + v]) < 0)
Collect_Image_Of_Str(-value, cp1, offset, head, list, pcp);
}
#endif
/* there may be a case where each of the exponent and p is large
to use the power routine to compute the exp power of the
image of generator under automorphism -- it does not seem to
be worthwhile where p = 5 -- needs further investigation */
void Pq_Collect_Image_Of_Gen(
int exp, int cp, int head, int *list, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lused = pcp->lused;
int str = lused + pcp->lastg;
register int i;
for (i = 1; i <= pcp->lastg; ++i)
y[lused + i] = 0;
traverse_list(1, head, list, lused, pcp);
power(exp, lused, pcp);
vector_to_string(lused, str, pcp);
collect(-str, cp, pcp);
}
/* collect image of a generator under the
action of an automorphism and store the result at cp */
void Collect_Image_Of_Gen(int cp, int head, int *list, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lused = pcp->lused;
register int length = list[++head];
register int i;
y[lused + 1] = length;
for (i = 1; i <= length; ++i)
y[lused + 1 + i] = list[head + i];
collect(-lused, cp, pcp);
}
/* collect image of supplied string under the action of
supplied automorphism and store the result at cp */
void Collect_Image_Of_Str(
int string, int cp, int offset, int *head, int *list, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int generator, exp;
register int value;
register int length = y[string + 1] - 1; /* last element of string
is in p-multiplicator */
#include "access.h"
/* process the string generator by generator, collecting exp
copies of the image of generator under action of automorphism
-- should power routine be used? */
for (i = 1; i <= length; ++i) {
value = y[string + 1 + i];
generator = FIELD2(value);
exp = FIELD1(value);
while (exp > 0) {
Collect_Image_Of_Gen(cp, head[offset + generator], list, pcp);
--exp;
}
}
}
anupq-3.3.0/src/print_level.c 000644 000766 000024 00000001547 14355420571 016423 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_level.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* set print levels for p-quotient calculation */
void print_level(int *output, struct pcp_vars *pcp)
{
Logical reading = TRUE;
while (reading) {
read_value(TRUE, "Input print level (0-3): ", output, MIN_PRINT);
reading = (*output > MAX_PRINT);
if (reading)
printf(
"Print level must lie between %d and %d\n", MIN_PRINT, MAX_PRINT);
}
pcp->diagn = (*output == MAX_PRINT);
pcp->fullop = (*output >= INTERMEDIATE_PRINT);
}
anupq-3.3.0/src/autgp_order.c 000644 000766 000024 00000007215 14355420571 016411 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A autgp_order.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "global.h"
#include "standard.h"
#ifdef HAVE_GMP
/* update the order of the automorphism group */
void
update_autgp_order(int orbit_length, struct pga_vars *pga, struct pcp_vars *pcp)
{
/* register int *y = y_address; */
register int nmr_cent;
MP_INT prime, nmr_centrals, orbit_size;
MP_INT t;
/* divide existing automorphism group order by size of orbit */
mpz_init_set_si(&orbit_size, orbit_length);
mpz_div(&(pga->aut_order), &(pga->aut_order), &orbit_size);
/* multiply existing order by order of new central automorphisms */
if (pga->final_stage) {
/*
int d = y[pcp->clend + 1];
nmr_cent = y[pcp->clend + pcp->cc] - y[pcp->clend + pcp->cc - 1];
*/
nmr_cent = pga->nmr_centrals;
mpz_init_set_si(&prime, pcp->p);
mpz_init(&nmr_centrals);
/*
mpz_pow_ui (&nmr_centrals, &prime, nmr_cent * d);
*/
mpz_pow_ui(&nmr_centrals, &prime, nmr_cent);
mpz_init(&t);
mpz_mul(&t, &(pga->aut_order), &nmr_centrals);
mpz_set(&(pga->aut_order), &t);
/* mpz_mul (&(pga->aut_order), &(pga->aut_order), &nmr_centrals);
*/
mpz_clear(&t);
mpz_clear(&prime);
mpz_clear(&nmr_centrals);
}
mpz_clear(&orbit_size);
}
/* report the group and automorphism group order */
void report_autgp_order(struct pga_vars *pga, struct pcp_vars *pcp)
{
int p, n;
char *s;
if (StandardPresentation)
return;
p = pcp->p;
n = pcp->lastg;
if (pga->print_automorphism_order && (pga->capable || pga->terminal)) {
s = pga->upper_bound ? "at most " : "";
printf("Order of group is %d^%d;", p, n);
printf(" automorphism group order is %s", s);
mpz_out_str(stdout, 10, &(pga->aut_order));
printf("\n");
}
}
/* compute (an upper bound for) the order of the automorphism group */
void autgp_order(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
MP_INT diff, prime, nmr_centrals, sub, large;
MP_INT t;
register int i, d, n, p;
char *s;
p = pcp->p;
d = y[pcp->clend + 1];
n = y[pcp->clend + pcp->cc - 1];
mpz_init_set_si(&(pga->aut_order), 1);
mpz_init_set_si(&prime, pcp->p);
/* large = p^d */
mpz_init(&large);
mpz_pow_ui(&large, &prime, d);
mpz_init_set_si(&sub, 1);
for (i = 0; i < d; ++i) {
mpz_init(&diff);
mpz_sub(&diff, &large, &sub);
mpz_mul(&(pga->aut_order), &(pga->aut_order), &diff);
mpz_mul(&sub, &sub, &prime);
mpz_clear(&diff);
}
mpz_init(&nmr_centrals);
mpz_pow_ui(&nmr_centrals, &prime, (n - d) * d);
/* mpz_mul (&(pga->aut_order), &(pga->aut_order), &nmr_centrals);
*/
mpz_init(&t);
mpz_mul(&t, &(pga->aut_order), &nmr_centrals);
mpz_set(&(pga->aut_order), &t);
mpz_clear(&t);
mpz_clear(&sub);
mpz_clear(&large);
mpz_clear(&prime);
mpz_clear(&nmr_centrals);
/* if d < n, we only have an upper bound for the order */
pga->upper_bound = (d < n);
if (StandardPresentation) {
s = pga->upper_bound ? "at most " : "";
printf("Starting group has order %d^%d;", p, n);
printf(" its automorphism group order is %s", s);
mpz_out_str(stdout, 10, &(pga->aut_order));
printf(" \n");
}
}
#endif
anupq-3.3.0/src/collect_comm.c 000644 000766 000024 00000005421 14355420571 016533 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A collect_comm.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "pretty_filterfns.h"
#include "word_types.h"
/* collect a commutator relation in the defining generators of the group */
void collect_def_comm(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int cp1, cp2, cp3, cp4, result;
register int lastg = pcp->lastg;
register int total;
int disp = 0;
int depth;
int exp;
cp1 = pcp->submlg - lastg - 2;
cp2 = cp1 - lastg;
cp3 = cp2 - lastg;
cp4 = cp3 - lastg;
result = cp4 - lastg;
/* fudge the value of submlg because of possible call to power */
total = 6 * lastg + 6;
pcp->submlg -= total;
depth = -y[ptr] - 1;
exp = y[ptr + 1];
collect_defining_generator(ptr + 2, cp2, pcp);
copy(cp2, lastg, cp3, pcp);
disp = 0;
while (--depth > 0) {
++disp;
collect_defining_generator(ptr + 2 + disp, cp1, pcp);
copy(cp1, lastg, cp4, pcp);
/* solve the equation (ba) * x = ab to obtain [a, b] */
find_commutator(cp1, cp2, cp3, cp4, result, pcp);
copy(result, lastg, cp2, pcp);
copy(result, lastg, cp3, pcp);
}
power(exp, result, pcp);
#ifdef DEBUG
/* print the commutator */
setup_word_to_print("commutator", result, pcp->lused, pcp);
#endif
/* copy result to cp */
copy(result, lastg, cp, pcp);
/* reset the value of submlg */
pcp->submlg += total;
}
/* collect value of defining generator stored at y[ptr] to
storage location cp */
void collect_defining_generator(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
int i, generator, genval;
#ifdef DEBUG
int j, word_len;
#endif
/* zero out lastg entries in array in order to store result */
for (i = 1; i <= lastg; ++i)
y[cp + i] = 0;
generator = y[ptr];
genval = y[pcp->dgen + generator];
/* check for illegal defining generators */
if (abs(generator) > pcp->ndgen || generator == 0)
report_error(0, generator, 0);
#ifdef DEBUG
if (genval > 0)
printf("%d %d\n", generator, genval);
else if (genval < 0) {
printf("%d %d ", generator, y[-genval]);
word_len = y[-genval + 1];
for (j = 1; j <= word_len; ++j)
printf(" %d", y[-genval + 1 + j]);
} else
printf("generator %d is trivial\n", generator);
#endif
collect(genval, cp, pcp);
#ifdef DEBUG
print_array(y, cp, cp + pcp->lastg + 1);
#endif
}
anupq-3.3.0/src/solve_equation.c 000644 000766 000024 00000004005 14355420571 017125 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A solve_equation.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "word_types.h"
/* calculate a solution, x, to the equation a * x = b,
where a and b are supplied as exponent vectors with
addresses cp1 and cp2; the result is stored as an
exponent vector with address result */
void solve_equation(int cp1, int cp2, int result, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, r;
register int p = pcp->p;
register int str = pcp->lused + 1;
register int lastg = pcp->lastg;
#include "access.h"
y[str] = 1;
for (i = 1; i <= lastg; ++i) {
r = y[cp2 + i] - y[cp1 + i];
if (r < 0) {
r += p;
y[cp1 + i] = p - r;
}
y[result + i] = r;
if (r != 0) {
y[str + 1] = PACK2(r, i);
collect(-str + 1, cp1, pcp);
}
y[cp1 + i] = 0;
}
}
/* set up input for solve_equation procedure */
void setup_to_solve_equation(int format, struct pcp_vars *pcp)
{
register int lastg = pcp->lastg;
register int cp1, cp2, result;
register int total;
int type;
total = 5 * lastg + 5;
if (is_space_exhausted(total, pcp))
return;
cp1 = pcp->submlg - lastg - 2;
cp2 = cp1 - lastg;
result = cp2 - lastg;
/* fudge the value of submlg to deal with possible call to power */
pcp->submlg -= total;
/* read in a */
type = VALUE_A;
setup_word_to_collect(stdin, format, type, cp1, pcp);
/* read in b */
type = VALUE_B;
setup_word_to_collect(stdin, format, type, cp2, pcp);
/* solve a * x = b and print result */
solve_equation(cp1, cp2, result, pcp);
setup_word_to_print("value of x", result, pcp->lused, pcp);
/* reset the value of submlg */
pcp->submlg += total;
}
anupq-3.3.0/src/list_commutators.c 000644 000766 000024 00000012105 14355420571 017500 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A list_commutators.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* evaluate the Engel (p - 1)-identity
[a, (p - 1) b] = 1
where each of a and b range over all of the generators of
supplied weights; echelonise the results and add to the
queue for possible closure under action of automorphisms */
void list_commutators(int *queue, int *queue_length, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
register int cp, cp1, cp2, cp3, cp4, result;
register int first, last;
register int total;
register int depth;
register int i, gen;
int weight, second_weight;
register int start, end, second;
register int p = pcp->p;
total = 6 * lastg + 6;
cp1 = pcp->submlg - lastg - 2;
cp2 = cp1 - lastg;
cp3 = cp2 - lastg;
cp4 = cp3 - lastg;
result = cp4 - lastg;
/* fudge the value of submlg because of possible call to power */
pcp->submlg -= total;
read_value(
TRUE, "Input weight of first component of commutator: ", &weight, 1);
first = y[pcp->clend + weight - 1] + 1;
last = y[pcp->clend + weight];
read_value(TRUE,
"Input weight of other components of commutator: ",
&second_weight,
1);
start = y[pcp->clend + second_weight - 1] + 1;
end = y[pcp->clend + second_weight];
for (gen = first; gen <= last; ++gen) {
for (second = start; second <= end; ++second) {
if (is_space_exhausted(total, pcp))
return;
/* set up first component at cp2 and cp3 */
for (i = 1; i <= lastg; ++i)
y[cp2 + i] = y[cp3 + i] = 0;
y[cp2 + gen] = y[cp3 + gen] = 1;
depth = p;
while (--depth > 0) {
/* set up next component, b, at cp1 and cp4 -- b has value second */
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = y[cp4 + i] = 0;
y[cp1 + second] = y[cp4 + second] = 1;
/* solve the equation (ba) * x = ab to obtain [a, b] */
find_commutator(cp1, cp2, cp3, cp4, result, pcp);
/* replace value of a by x */
copy(result, lastg, cp2, pcp);
copy(result, lastg, cp3, pcp);
}
cp = pcp->lused;
/* print the commutator */
if (pcp->diagn)
setup_word_to_print("commutator", result, cp, pcp);
/* now echelonise the result */
copy(result, lastg, cp, pcp);
setup_echelon(queue, queue_length, cp, pcp);
if (pcp->redgen != 0 && pcp->diagn)
printf("The commutator evaluated is [%d, %d]\n", gen, second);
}
}
/* reset the value of submlg */
pcp->submlg += total;
}
#if defined(DEBUG)
/* set up list of commutators of the form [a, 1, 1, 1, 1]
where a ranges over a supplied weight, to close under
action of automorphisms */
void List_Commutators(int *queue, int *queue_length, struct pcp_vars *pcp)
{
register int *y = y_address;
register int lastg = pcp->lastg;
register int total;
int cp1 = pcp->submlg - lastg - 2;
int cp2 = cp1 - lastg;
int cp3 = cp2 - lastg;
int cp4 = cp3 - lastg;
int result = cp4 - lastg;
register int cp;
register int first, last;
register int depth;
register int i, gen;
int weight;
read_value(
TRUE, "Input weight of first component of commutator: ", &weight, 1);
first = y[pcp->clend + weight - 1] + 1;
last = y[pcp->clend + weight];
total = 6 * lastg + 6;
if (is_space_exhausted(total, pcp))
return;
/* fudge the value of submlg because of possible call to power */
pcp->submlg -= total;
for (gen = first; gen <= last; ++gen) {
/* set up first component at cp2 and cp3 */
for (i = 1; i <= lastg; ++i)
y[cp2 + i] = y[cp3 + i] = 0;
y[cp2 + gen] = y[cp3 + gen] = 1;
depth = 5;
while (--depth > 0) {
/* set up next component, b, at cp1 and cp4 -- b is 1 in all cases */
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = y[cp4 + i] = 0;
y[cp1 + 1] = y[cp4 + 1] = 1;
/* solve the equation (ba) * x = ab to obtain [a, b] */
find_commutator(cp1, cp2, cp3, cp4, result, pcp);
/* replace value of a by x */
copy(result, lastg, cp2, pcp);
copy(result, lastg, cp3, pcp);
}
/* now echelonise the result */
cp = pcp->lused;
copy(result, lastg, cp, pcp);
for (i = 1; i <= lastg; ++i)
y[cp + lastg + i] = 0;
echelon(pcp);
if (pcp->redgen != 0)
queue[++*queue_length] = pcp->redgen;
/* print the commutator */
/*
cp = pcp->lused;
setup_word_to_print ("commutator", result, cp, pcp);
*/
}
/* reset the value of submlg */
pcp->submlg += total;
}
#endif
anupq-3.3.0/src/read_relator_file.c 000644 000766 000024 00000003716 14355420571 017542 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_relator_file.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "word_types.h"
/* collect and echelonise the relators supplied in named
file and add any redundancies to queue;
it is assumed that the relators file has the following format:
its first entry is the number of elements in the file;
each relator is given as a word supplied in standard
word/relation format -- that is, exponent followed by list
of generators and terminated by the END_OF_WORD symbol;
the word need NOT be in normal form */
void read_relator_file(int *queue, int *queue_length, struct pcp_vars *pcp)
{
register int *y = y_address;
FILE *relation_file;
int nmr_relations;
int format = BASIC;
char *name;
int type;
int cp;
register int i, k;
register int lastg = pcp->lastg;
int nmr_items;
name = GetString("Enter relation file name: ");
relation_file = OpenFile(name, "r+");
if (relation_file == NULL)
return;
nmr_items = fscanf(relation_file, "%d", &nmr_relations);
verify_read(nmr_items, 1);
type = WORD;
for (i = 1; i <= nmr_relations; ++i) {
if (pcp->complete)
break;
if (!is_space_exhausted(3 * lastg + 2, pcp)) {
cp = pcp->lused;
setup_word_to_collect(relation_file, format, type, cp, pcp);
if (pcp->diagn)
setup_word_to_print("collected word", cp, cp + pcp->lastg + 1, pcp);
for (k = 1; k <= lastg; ++k)
y[cp + lastg + k] = 0;
}
echelon(pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
CloseFile(relation_file);
}
anupq-3.3.0/src/invert.c 000644 000766 000024 00000005615 14355420571 015407 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A invert.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "word_types.h"
/* this procedure multiplies the exponent vector with
address cp by gen^(-exp), where gen is a pcp-generator
and exp is a positive integer in the range 0 to p */
void invert_generator(int gen, int exp, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int inverse;
register int entry;
register int lastg = pcp->lastg;
register int cp1 = pcp->submlg;
register int p = pcp->p;
#include "access.h"
/* each call to collect involves a string of length 1;
reserve two positions below y[pcp->submlg] for this */
inverse = cp1 - 2;
y[inverse + 1] = 1;
/* set up gen^exp as an exponent vector with base address cp1 */
for (i = 1; i <= lastg; ++i)
y[cp1 + i] = 0;
y[cp1 + gen] = exp;
/* now calculate the inverse, storing the result at cp */
for (i = gen; i <= lastg; ++i) {
entry = y[cp1 + i];
if (entry != 0) {
y[inverse + 2] = PACK2(p - entry, i);
collect(-inverse, cp, pcp);
collect(-inverse, cp1, pcp);
}
}
}
/* calculate the inverse of the string with base address
y[str], using the collected part referenced by cp */
void invert_string(int str, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int length;
register int gen, exp;
#include "access.h"
for (length = abs(y[str + 1]); length > 0; --length) {
gen = FIELD2(y[str + length]);
exp = FIELD1(y[str + length]);
invert_generator(gen, exp, cp, pcp);
}
}
/* invert word with base address ptr; store result
as exponent vector with base address cp */
void invert_word(int ptr, int cp, struct pcp_vars *pcp)
{
register int *y = y_address;
register int gen;
register int exp;
register int length = y[ptr];
for (; length > 1; --length) {
gen = y[ptr + length];
if (gen < 0)
collect(-gen, cp, pcp);
else
invert_generator(gen, 1, cp, pcp);
}
exp = y[ptr + 1];
if (exp != 1)
calculate_power(exp, ptr, cp, pcp);
}
/* read word, compute its inverse, and print out result */
void setup_word_to_invert(struct pcp_vars *pcp)
{
register int *y = y_address;
int type = INVERSE_OF_WORD;
int disp = pcp->lastg;
int cp = pcp->lused;
int ptr = pcp->lused + 1 + disp;
int str;
register int i;
for (i = 1; i <= pcp->lastg; ++i)
y[cp + i] = 0;
read_word(stdin, disp, type, pcp);
invert_word(ptr, cp, pcp);
str = ptr + y[ptr] + 1;
setup_word_to_print("inverse", cp, str, pcp);
}
anupq-3.3.0/src/is_space_exhausted.c 000644 000766 000024 00000002407 14355420571 017734 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A is_space_exhausted.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* beware - calls to this procedure are context sensitive since
it may call compact which moves strings; hence, calls should
be carefully placed with a suitable upper bound as argument;
check if there is room available for required words;
if so, return FALSE, otherwise compact the workspace
and try again; if there is still no room, report this,
set pcp->overflow TRUE, and return TRUE */
Logical is_space_exhausted(int required, struct pcp_vars *pcp)
{
register int *y = y_address;
int remain;
if (pcp->lused + required - pcp->subgrp <= 0)
return FALSE;
/* not enough room currently available, so we compact tables */
compact(pcp);
if (pcp->lused + required - pcp->subgrp <= 0)
return FALSE;
pcp->overflow = TRUE;
/* number of generators in last class */
remain = pcp->lastg - y[pcp->clend + pcp->cc - 1];
text(11, remain, 0, 0, 0);
return TRUE;
}
anupq-3.3.0/src/main.c 000644 000766 000024 00000014270 14355420571 015021 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A main.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "constants.h"
#include "pq_author.h"
#include "menus.h"
#include "global.h"
#include "standard.h"
#if defined(RUN_TIME)
#include "runtime.h"
#endif
/* main routine for p-quotient program; the run-time parameters are
-b to choose basic format for input of presentation;
-G used by GAP 4, essentially equivalent to: -i -g -k simultaneously
except that it also sends requests back via GAP's iostream when
it needs GAP to compute stabilisers;
-g to write GAP group library and to run pq from within GAP;
-i to choose standard presentation menu;
-k to read from file using key words;
-s to allocate array of size for workspace y;
-t to pass time limit in CPU seconds for computation
where t = 0 implies infinite time;
-v prints the version of the pq binary and exits;
-w to write group descriptions in GAP format
to -- used in conjunction -g
if compiled with RUN_TIME flag then there are two additional options:
-c to set class bound;
-d to set defining generator bound;
if workspace not passed, the default size of y is the constant PQSPACE */
int work_space = PQSPACE;
int format = PRETTY;
int menu = DEFAULT_MENU;
Logical StandardPresentation = FALSE;
/* From pcp_vars.h */
int *y_address = 0;
/* From global.h */
int Group_library = 0;
int Compact_Description = 0;
int Compact_Order = 0;
char *Group_library_file = 0;
Logical GAP4iostream = FALSE;
static int process_parameters(int argc, char **argv);
int main(int argc, char **argv)
{
int t;
struct pcp_vars pcp;
#include "access.h"
setbuf(stdout, NULL);
Compact_Description = FALSE;
/* process run-time parameters */
if (process_parameters(argc, argv) == 0) {
#if defined(RUN_TIME)
printf("Usage: pq [-b] [-c] [-d] [-G] [-g] [-i] [-k] [-s ] [-v] "
"[-w ]\n");
#else
printf("Usage: pq [-b] [-G] [-g] [-i] [-k] [-s ] [-v] [-w "
"]\n");
#endif
exit(INPUT_ERROR);
}
Allocate_WorkSpace(work_space, &pcp);
/* print startup message */
print_message(work_space);
#if defined(GROUP)
#if defined(STANDARD_PCP)
if (menu == ISOM_MENU)
isom_options(format, &pcp);
else
#endif
#endif
options(DEFAULT_MENU, format, &pcp);
t = runTime();
printf("Total user time in seconds is %.2f\n", t * CLK_SCALE);
exit(SUCCESS);
}
/* process run-time parameters */
static int process_parameters(int argc, char **argv)
{
int i;
Logical error;
#if defined(RUN_TIME)
int A1, A3;
A1 = 0;
A3 = 0;
#endif
Group_library_file = NULL;
for (i = 1; i < argc; ++i) {
if (strcmp(argv[i], "-s") == 0) {
if (i == argc - 1)
return (0);
work_space = string_to_int(argv[++i], &error);
if (error)
return (0);
} else if (strcmp(argv[i], "-w") == 0) {
if (i == argc - 1 || argv[++i][0] == '-')
return (0);
Group_library_file = allocate_char_vector(strlen(argv[i]), 0, FALSE);
strcpy(Group_library_file, argv[i]);
} else if (strcmp(argv[i], "-b") == 0)
format = BASIC;
#if defined(RUN_TIME)
else if (strcmp(argv[i], "-d") == 0) {
if (i == argc - 1)
return (0);
A1 = string_to_int(argv[++i], &error);
if (error)
return (0);
} else if (strcmp(argv[i], "-c") == 0) {
if (i == argc - 1)
return (0);
A3 = string_to_int(argv[++i], &error);
if (error)
return (0);
}
#endif
#if defined(STANDARD_PCP)
else if (strcmp(argv[i], "-i") == 0)
menu = ISOM_MENU;
#endif
else if (strcmp(argv[i], "-k") == 0)
format = FILE_INPUT;
else if (strcmp(argv[i], "-G") == 0) {
Group_library = GAP_LIBRARY;
menu = ISOM_MENU;
format = FILE_INPUT;
GAP4iostream = TRUE;
} else if (strcmp(argv[i], "-g") == 0)
Group_library = GAP_LIBRARY;
else if (strcmp(argv[i], "-v") == 0) {
printf("%s\n", PQ_VERSION);
exit(SUCCESS);
} else
return (0);
}
#if defined(RUN_TIME)
ExamineOptions(A1, A3);
#endif
#if defined(GAP)
CreateGAPLibraryFile();
#endif
return 1;
}
#if defined(RUN_TIME)
/* how many bits are needed to store x? */
int NmrOfBits(int x)
{
int nmr = 0;
while (x >= 1) {
x = x >> 1;
++nmr;
}
return nmr;
}
int ExamineOptions(int A1, int A3)
{
if (A1 == 0 && A3 == 0)
return;
if (A1 <= 0 || A3 <= 0) {
printf("You must supply positive values for each of -d and -c\n");
exit(INPUT_ERROR);
}
A1 = NmrOfBits(A1);
A3 = NmrOfBits(A3);
if (A1 + A3 >= WORD_LENGTH) {
printf("Product of the values for -d and -c must need at most %d bits\n",
WORD_LENGTH - 1);
exit(INPUT_ERROR);
}
GSC1 = A1;
GSC2 = WORD_LENGTH - (A1 + A3);
MAXGENS = int_power(2, GSC1) - 1;
MAXPC = int_power(2, GSC2) - 1;
MAXCLASS = int_power(2, A3) - 1;
printf("********************************************\n");
printf("Program now uses the following bounds:\n");
printf("Number of defining generators: %d\n", MAXGENS);
printf("Number of pc generators: %d\n", MAXPC);
printf("Class bound: %d\n", MAXCLASS);
printf("********************************************\n");
}
#endif
#if defined(GAP)
/* if pq is called successfully from GAP, we want GAP_library file to exist
in all cases, even if no group descriptions have been saved to it */
void CreateGAPLibraryFile(void)
{
FILE *GAP_library;
if (Group_library == GAP_LIBRARY) {
if (Group_library_file == NULL)
Group_library_file = "GAP_library";
GAP_library = OpenFile(Group_library_file, "a+");
fprintf(GAP_library, "ANUPQmagic := \"groups saved to file\";\n");
CloseFile(GAP_library);
}
}
#endif
anupq-3.3.0/src/isom_options.c 000644 000766 000024 00000044050 14355420571 016616 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A isom_options.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "constants.h"
#include "pq_defs.h"
#include "pretty_filterfns.h"
#include "standard.h"
#include "menus.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
#include "word_types.h"
#if defined(GROUP)
#if defined(STANDARD_PCP)
static Logical setup_start_info(Logical identity_map,
Logical status,
FILE *file,
int format,
struct pga_vars *pga,
struct pcp_vars *pcp);
static Logical compare_sequences(int *s, int *t, int length);
static char FileBuffer[1024];
static void copy_file(const char *from, const char *to)
{
FILE *in;
FILE *out;
int n;
in = fopen(from, "r");
if (in == NULL) {
perror(from);
exit(FAILURE);
}
out = fopen(to, "w");
if (out == NULL) {
perror(to);
exit(FAILURE);
}
do {
n = fread(FileBuffer, 1, 1024, in);
if (0 < n)
fwrite(FileBuffer, 1, n, out);
if (ferror(in)) {
perror(from);
exit(FAILURE);
}
if (ferror(out)) {
perror(to);
exit(FAILURE);
}
} while (!feof(in));
fclose(in);
fclose(out);
}
static void append_file(const char *from, const char *to)
{
FILE *in;
FILE *out;
int n;
in = fopen(from, "r");
if (in == NULL) {
perror(from);
exit(FAILURE);
}
out = fopen(to, "a");
if (out == NULL) {
perror(to);
exit(FAILURE);
}
do {
n = fread(FileBuffer, 1, 1024, in);
if (0 < n)
fwrite(FileBuffer, 1, n, out);
if (ferror(in)) {
perror(from);
exit(FAILURE);
}
if (ferror(out)) {
perror(to);
exit(FAILURE);
}
} while (!feof(in));
fclose(in);
fclose(out);
}
#define ISOM_OPTION 8
#define MAXOPTION 9 /* maximum number of menu options */
void list_isom_menu(void);
/* control routine for computing standard presentation */
void isom_options(int format, struct pcp_vars *pcp)
{
register int *y = y_address;
FILE *Status = 0;
FILE *FileName = 0;
FILE *Subgroup = 0;
struct pga_vars pga;
Logical user_supplied = FALSE;
Logical group_present = FALSE;
Logical identity_map;
Logical finished;
Logical valid;
Logical equal;
int output = DEFAULT_STANDARD_PRINT;
int start_class, final_class;
int option;
int t;
int status;
int complete;
int iteration;
int *seq1;
int *seq2;
int len1, len2;
int nmr_items;
int ***auts;
int x_dim, y_dim;
FILE *GAP_library = 0;
char *name = 0;
int nmr_of_exponents;
StandardPresentation = TRUE;
pga.nmr_soluble = 0;
list_isom_menu();
do {
option = read_option(MAXOPTION);
switch (option) {
case -1:
list_isom_menu();
break;
case START_INFO:
t = runTime();
group_present = setup_start_info(FALSE, 0, stdin, format, &pga, pcp);
handle_error(group_present);
user_supplied = TRUE;
t = runTime() - t;
/* it is possible that the p-quotient is trivial */
if (pcp->cc == 0) {
group_present = FALSE;
break;
}
printf("Class %d %d-quotient and its %d-covering group computed in "
"%.2f seconds\n",
pcp->cc - 1,
pcp->p,
pcp->p,
t * CLK_SCALE);
break;
case CONSTRUCT:
if (!user_supplied) {
name = GetString("Enter input file name for group information: ");
FileName = OpenFile(name, "r");
if (FileName == NULL)
break;
}
name = GetString("Enter output file name for group information: ");
read_value(
TRUE, "Standardise presentation to what class? ", &final_class, 0);
if (user_supplied && final_class < pcp->cc) {
printf("Value supplied for end class must be at least %d\n",
pcp->cc);
}
/* read in data from file and set up group to end of start_class
and compute its p-covering group */
if (!user_supplied) {
group_present =
setup_start_info(FALSE, 0, FileName, FILE_INPUT, &pga, pcp);
handle_error(group_present);
if (final_class < pcp->cc) {
CloseFile(FileName);
printf("Value supplied for end class must be at least %d\n",
pcp->cc);
}
}
if (pcp->cc == 0) {
printf("%d-quotient is trivial\n", pcp->p);
break;
}
complete = (pcp->newgen == 0) ? TERMINAL : CAPABLE;
iteration = 0;
for (start_class = pcp->cc;
start_class <= final_class && complete != TERMINAL;
++start_class) {
t = runTime();
identity_map = FALSE;
Subgroup = OpenFile("ISOM_Subgroup", "w");
do {
++iteration;
set_defaults(&pga);
/*
pga.space_efficient = TRUE;
*/
/* either prompt for information or read it from file */
if (user_supplied) {
auts = read_auts(STANDARDISE, &pga.m, &nmr_of_exponents, pcp);
pga.fixed = 0;
query_solubility(&pga);
user_supplied = FALSE;
#ifdef HAVE_GMP
autgp_order(&pga, pcp);
#endif
} else {
auts = read_auts_from_file(FileName, &pga.m, pcp);
nmr_items = fscanf(FileName, "%d", &pga.fixed);
verify_read(nmr_items, 1);
nmr_items = fscanf(FileName, "%d", &pga.soluble);
verify_read(nmr_items, 1);
#ifdef HAVE_GMP
fscanf(FileName, "\n");
mpz_init(&pga.aut_order);
mpz_inp_str(&pga.aut_order, FileName, 10);
#endif
CloseFile(FileName);
}
x_dim = pga.m;
y_dim = pcp->lastg;
/* construct standard presentation relative to smallest
permissible characteristic subgroup in p-multiplicator */
standard_presentation(&identity_map, output, auts, &pga, pcp);
free_array(auts, x_dim, y_dim, 1);
/* was the characteristic subgroup chosen in this iteration
the whole of the p-multiplicator? */
Status = OpenFile("ISOM_Status", "r");
fscanf(Status, "%d", &status);
fscanf(Status, "%d", &complete);
CloseFile(Status);
/* have we finished the construction? */
finished =
(status == END_OF_CLASS &&
(start_class == final_class || complete == TERMINAL));
/* organise to write modified presentation + automorphisms
to file ISOM_PP */
if (!identity_map || finished) {
copy_file("ISOM_present", "ISOM_PP");
append_file("ISOM_NextClass", "ISOM_PP");
} else
copy_file("ISOM_NextClass", "ISOM_PP");
if (finished)
break;
/* if necessary, set up new presentation + other information */
FileName = OpenFile("ISOM_PP", "r");
group_present = setup_start_info(
identity_map, status, FileName, FILE_INPUT, &pga, pcp);
handle_error(group_present);
/* if appropriate, factor subgroup from p-multiplicator */
if (status != END_OF_CLASS)
factor_subgroup(pcp);
/* reinitialise pga structure */
initialise_pga(&pga, pcp);
pga.m = 0;
pga.ndgen = y[pcp->clend + 1];
set_values(&pga, pcp);
} while (status != END_OF_CLASS && complete != TERMINAL);
CloseFile(Subgroup);
/* the group may have completed only when relations are enforced;
this is an attempt to determine this case */
if (pga.nuclear_rank != 0 && pcp->complete)
break;
t = runTime() - t;
printf("Computing standard presentation for class %d took %.2f "
"seconds\n",
start_class,
t * CLK_SCALE);
}
/* we currently may have presentation for p-covering group;
or is the starting group terminal? if so, we may want to
use last_class to revert to group presentation */
if (!user_supplied && iteration == 0 && !pcp->complete)
last_class(pcp);
/* is the group terminal? */
if (complete == TERMINAL)
printf("The largest %d-quotient of the group has class %d\n",
pcp->p,
pcp->cc);
if (iteration == 0)
break;
/* rename file ISOM_PP containing iteration info to nominated file */
rename("ISOM_PP", name);
break;
case PRINT_PCP:
if (group_present)
print_presentation(TRUE, pcp);
break;
case SAVE_PRES:
name = GetString("Enter output file name: ");
FileName = OpenFileOutput(name);
if (group_present && FileName != NULL) {
save_pcp(FileName, pcp);
CloseFile(FileName);
printf("Presentation written to file\n");
}
break;
case COMPARE:
valid = get_description(
"Enter file name storing first presentation: ", &len1, &seq1, pcp);
if (!valid)
break;
valid =
get_description("Enter file name storing second presentation: ",
&len2,
&seq2,
pcp);
if (!valid)
break;
equal = (len1 == len2) ? compare_sequences(seq1, seq2, len1) : FALSE;
printf("Identical presentations? %s\n",
equal == TRUE ? "True" : "False");
free_vector(seq1, 1);
free_vector(seq2, 1);
break;
case STANDARD_PRINT_LEVEL:
read_value(
TRUE, "Input print level for construction (0-2): ", &output, 0);
/* allow user to supply same max print level as for
p-quotient calculations */
if (output == MAX_STANDARD_PRINT + 1)
--output;
if (output > MAX_STANDARD_PRINT) {
printf("Print level must lie between %d and %d\n",
MIN_STANDARD_PRINT,
MAX_STANDARD_PRINT);
output = DEFAULT_STANDARD_PRINT;
}
break;
case PQ_MENU:
options(ISOM_MENU, format, pcp);
break;
case ISOM_OPTION:
assert(name);
FileName = OpenFile(name, "r");
group_present =
setup_start_info(FALSE, 0, FileName, FILE_INPUT, &pga, pcp);
pcp->multiplicator_rank = pcp->lastg - y[pcp->clend + pcp->cc - 1];
last_class(pcp);
auts = read_auts_from_file(FileName, &pga.m, pcp);
nmr_items = fscanf(FileName, "%d", &pga.fixed);
verify_read(nmr_items, 1);
nmr_items = fscanf(FileName, "%d", &pga.soluble);
verify_read(nmr_items, 1);
printf("Images of user-supplied generators are listed last below\n");
print_map(pcp);
#ifdef HAVE_GMP
fscanf(FileName, "\n");
mpz_init(&pga.aut_order);
mpz_inp_str(&pga.aut_order, FileName, 10);
#endif
CloseFile(FileName);
GAP_library = OpenFile("GAP_library", "a+");
write_GAP_library(GAP_library, pcp);
pga.nmr_centrals = pga.m;
pga.nmr_stabilisers = 0;
GAP_auts(GAP_library, auts, auts, &pga, pcp);
CloseFile(GAP_library);
printf("Presentation listing images of user-supplied generators "
"written to GAP_library\n");
break;
case EXIT:
case MAXOPTION:
unlink("ISOM_present");
unlink("ISOM_Subgroup");
unlink("ISOM_cover_file");
unlink("ISOM_group_file");
unlink("ISOM_XX");
unlink("ISOM_NextClass");
unlink("ISOM_Status");
printf("Exiting from ANU p-Quotient Program\n");
break;
} /* switch */
} while (option != 0 && option != MAXOPTION);
}
/* list available menu options */
void list_isom_menu(void)
{
printf("\nStandard Presentation Menu\n");
printf("-----------------------------\n");
printf("%d. Supply start information\n", START_INFO);
printf("%d. Compute standard presentation to supplied class\n", CONSTRUCT);
printf("%d. Save presentation to file\n", SAVE_PRES);
printf("%d. Display presentation\n", PRINT_PCP);
printf("%d. Set print level for construction\n", STANDARD_PRINT_LEVEL);
printf("%d. Compare two presentations stored in files\n", COMPARE);
printf("%d. Call basic menu for p-Quotient program\n", PQ_MENU);
printf("%d. Compute the isomorphism\n", ISOM_OPTION);
printf("%d. Exit from program\n", MAXOPTION);
}
/* set up the group to the desired class and its p-covering group;
identity_map indicates whether standard automorphism applied
was the identity; status indicates whether we are end of class;
the presentation is read from file using indicated format */
static Logical setup_start_info(Logical identity_map,
Logical status,
FILE *file,
int format,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
FILE *FileName;
FILE *presentation_file;
Logical group_present = FALSE;
int exit_value;
int *list, *head;
int i;
#if defined(TIME)
int t;
t = runTime();
#endif
if (!identity_map) {
/* we must recompute the presentation since generators and
relations have been altered by applying the standard map */
/* memory leak September 1996 */
if (user_gen_name != NULL) {
num_gens = user_gen_name[0].first;
for (i = 1; i <= num_gens; ++i) {
free_vector(user_gen_name[i].g, 0);
}
free(user_gen_name);
user_gen_name = NULL;
free_vector(inv_of, 0);
free_vector(pairnumber, 0);
}
exit_value = pquotient(0, 0, file, format, pcp);
if (exit_value == SUCCESS)
group_present = TRUE;
#if defined(TIME)
printf("Time to recompute pcp is %.2f\n", (runTime() - t) * CLK_SCALE);
#endif
} else {
/* generators and relations of presentation have not changed --
we can restore presentation for either full p-covering group
or class c + 1 quotient */
if (status == END_OF_CLASS)
presentation_file = OpenFile("ISOM_group_file", "r");
else
presentation_file = OpenFile("ISOM_cover_file", "r");
restore_pcp(presentation_file, pcp);
CloseFile(presentation_file);
group_present = TRUE;
}
#if defined(DEBUG)
pcp->diagn = TRUE;
printf("The modified presentation is \n");
print_presentation(TRUE, pcp);
pcp->diagn = FALSE;
#endif
if (!group_present || pcp->cc == 0)
return group_present;
/* do we need to compute the full p-covering group? */
if (!identity_map || status == END_OF_CLASS) {
pcp->multiplicator = TRUE;
next_class(FALSE, &head, &list, pcp);
pga->exponent_law = pcp->extra_relations;
pga->metabelian = pcp->metabelian;
enforce_laws(pga, pga, pcp);
pcp->multiplicator = FALSE;
FileName = OpenFile("ISOM_cover_file", "w");
save_pcp(FileName, pcp);
CloseFile(FileName);
}
initialise_pga(pga, pcp);
pga->m = 0;
pga->ndgen = y[pcp->clend + 1];
set_values(pga, pcp);
return group_present;
}
/* factor subgroup whose generators are listed in Subgroup file
from p-multiplicator to give reduced p-multiplicator */
void factor_subgroup(struct pcp_vars *pcp)
{
register int *y = y_address;
FILE *Subgroup;
int flag;
int cp;
int i;
Subgroup = fopen("ISOM_Subgroup", "r");
if (Subgroup == (FILE *)NULL)
return;
while (!feof(Subgroup)) {
if (fscanf(Subgroup, "%d", &flag) == -1)
continue;
/* should we eliminate (in order to renumber the generators)? */
if (flag == ELIMINATE)
eliminate(FALSE, pcp);
if (fscanf(Subgroup, "%d", &flag) == -1)
continue;
setup_symbols(pcp);
cp = pcp->lused;
setup_word_to_collect(Subgroup, PRETTY, WORD, cp, pcp);
for (i = 1; i <= pcp->lastg; ++i)
y[cp + pcp->lastg + i] = 0;
echelon(pcp);
}
CloseFile(Subgroup);
}
void handle_error(Logical group_present)
{
if (group_present == FALSE) {
printf("Error in Standard Presentation Program\n");
exit(FAILURE);
}
}
/* compare two sequences, s and t, of length length */
static Logical compare_sequences(int *s, int *t, int length)
{
/* TODO: Replace this by memcmp? */
register int i;
Logical equal = TRUE;
for (i = 1; i <= length && (equal = (s[i] == t[i])); ++i)
;
return equal;
}
/* read group from file and set up its compact description
as sequence seq of length len */
int get_description(char *string, int *len, int **seq, struct pcp_vars *pcp)
{
char *name;
FILE *file;
name = GetString(string);
file = OpenFile(name, "r");
if (file == NULL) {
if (isatty(0))
return FALSE;
else
exit(FAILURE);
}
restore_pcp(file, pcp);
CloseFile(file);
/* length of sequence */
*len = choose(pcp->lastg + 1, 3);
/* sequence of exponents */
*seq = compact_description(FALSE, pcp);
return TRUE;
}
#endif
#endif
anupq-3.3.0/src/pretty_filter.c 000644 000766 000024 00000027715 14355420571 017001 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A pretty_filter.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pq_functions.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pretty_filterfns.h"
/* SIGNIFICANT is the number of significant characters in the
keyword strings; if you change this, you'll have to change
the calls to strcmp so that the strings being compared with
label continue to have length SIGNIFICANT */
#define SIGNIFICANT 3
static int rfileno;
static FILE *rfile;
static FILE *wfile;
extern int num_gens;
extern gen_type *inv_of;
extern word *user_gen_name;
extern int gen_array_size;
extern int *pairnumber;
extern int paired_gens;
char gpname[MAXIDENT];
char filename[MAXIDENT];
/* process "pretty" presentation input from file using key words;
this is a modified version of code written by Sarah Rees */
int pretty_filter(FILE *file, int *max_class, int *output, struct pcp_vars *pcp)
{
register int *y = y_address;
int prime = 0;
int exponent = 0;
int nrels = 0;
int end = MAXIDENT - 1;
int count, posn;
int ptr, relp, length;
int i = 1;
char c;
word w;
word_link *root = word_link_create();
word_link *wlp = 0;
word_link *next = 0;
gen_type g;
char label[SIGNIFICANT + 1];
Logical metabelian_flag = FALSE;
rfile = file;
rfileno = fileno(rfile);
wfile = stdout;
*max_class = 10;
*output = 1;
inv_of = 0;
paired_gens = 0;
strcpy(gpname, "G");
wfile = stdout;
pcp->cover = 0;
while (read_next_string(label, SIGNIFICANT, rfile)) {
if (strcmp(label, "nam") == 0) {
read_next_string(gpname, end, rfile);
/* knock off the blank spaces at the end */
i = end - 1;
while (i >= 0 && gpname[i] == ' ')
i--;
gpname[i + 1] = '\0';
} else if (strcmp(label, "pri") == 0) {
read_next_int(&prime, rfile);
} else if (strcmp(label, "cla") == 0) {
read_next_int(max_class, rfile);
} else if (strcmp(label, "out") == 0) {
read_next_int(output, rfile);
} else if (strcmp(label, "met") == 0) {
metabelian_flag = TRUE;
} else if (strcmp(label, "exp") == 0) {
read_next_int(&exponent, rfile);
} else if (strcmp(label, "gen") == 0) {
read_gen_name_array(rfile);
default_inverse_array();
pairnumber = anu_valloc(int, num_gens + 1);
for (i = 1; i <= num_gens; i++) {
if (i <= inv(i)) {
paired_gens++;
pairnumber[i] = pairnumber[inv(i)] = paired_gens;
}
}
} else if (strcmp(label, "rel") == 0) {
/* read in and store the relations/relators; every
relator/relation is actually stored as a relation
(i.e. two consecutive words in the list) */
find_char('{', rfile);
pc_word_init(&w);
wlp = root;
while (read_next_word(&w, rfile)) {
nrels++;
word_link_init(wlp);
word2prog_word(&w, wlp->wp);
wlp = wlp->next;
pc_word_reset(&w);
while ((c = read_char(rfile)) == ' ')
;
word_link_init(wlp);
if (c == '=') {
count = 1;
if (!isatty(rfileno))
posn = ftell(rfile); /* mark posn */
/* pick up the word at the end of the chain of '=''s as
the right hand side of the equation */
do {
read_next_word(&w, rfile);
while ((c = read_char(rfile)) == ' ')
;
if (c == '=') {
pc_word_reset(&w);
count++;
}
} while (c == '=');
ungetc(c, rfile);
word2prog_word(&w, wlp->wp);
pc_word_reset(&w);
if (count > 1) {
if (!isatty(rfileno))
fseek(rfile, posn, 0);
/* go back to the marker if there was more than one '=' */
else {
/* we can't use fseek if we're inputting from stdin */
printf("You may not input relations of the type u = v = w "
"from terminal\n");
exit(FAILURE);
}
}
} else
ungetc(c, rfile);
wlp = wlp->next;
}
find_char('}', rfile);
word_clear(&w);
}
}
/* a single ; or one preceded by an unrecognised keyword
marks the end of the data */
find_char(';', rfile); /* pick up the terminating ';' */
pcp->p = prime;
pcp->ndgen = paired_gens;
pcp->ndrel = nrels;
pcp->extra_relations = exponent;
strcpy(pcp->ident, gpname);
pcp->diagn = (*output == MAX_PRINT);
pcp->fullop = (*output >= INTERMEDIATE_PRINT);
check_input(*output, max_class, pcp);
if (!pcp->valid)
return INPUT_ERROR;
initialise_pcp(*output, pcp);
/* set the metabelian flag appropriately */
pcp->metabelian = metabelian_flag;
setup(pcp);
/* next set up each relation in the list, as left hand side followed
by right hand side, after expressing each as a power if possible */
wlp = root;
ptr = pcp->lused;
relp = pcp->relp;
while (wlp->wp) {
word *wp = wlp->wp;
gen_type *gp = wp->g + wp->first;
gen_type *ggp = wp->g + wp->last;
ptr = pcp->lused + 1;
length = 1;
while (gp <= ggp) {
g = *gp;
y[ptr + (++length)] = (g <= inv(g)) ? pairnumber[g] : -pairnumber[g];
gp++;
}
/* set up exponent */
if (wp->n)
y[ptr + 1] = wp->n;
else if (length == 1)
y[ptr + 1] = 0;
/* this deals with the trivial word */
else
y[ptr + 1] = 1;
/* set up relation length */
if (wp->type == 'c')
y[ptr] = -length;
else
y[ptr] = length;
++relp;
y[relp] = ptr;
pcp->lused += (length + 1);
next = wlp->next;
word_link_clear(wlp);
wlp = next;
}
pcp->gspace = pcp->lused + 1;
free((char *)wlp);
if (user_gen_name) {
for (i = 0; i < gen_array_size; ++i)
word_clear(user_gen_name + i);
free((char *)user_gen_name);
user_gen_name = 0;
}
if (inv_of) {
free((char *)inv_of);
inv_of = 0;
}
return SUCCESS;
}
/* check the input supplied to the p-quotient calculation */
void check_input(int output, int *max_class, struct pcp_vars *pcp)
{
pcp->valid = TRUE;
if (output < 0 || output > MAX_PRINT) {
printf("Print level must lie between %d and %d\n", MIN_PRINT, MAX_PRINT);
pcp->valid = FALSE;
}
if (pcp->ndgen > MAXGENS) {
printf("The maximum number of defining generators is %d\n", MAXGENS);
pcp->valid = FALSE;
}
if (pcp->ndgen < 1) {
printf("The minimum number of defining generators is 1\n");
pcp->valid = FALSE;
}
if (pcp->p != 2 && MOD(pcp->p, 2) == 0) {
printf("%d is not a prime\n", pcp->p);
pcp->valid = FALSE;
}
if (*max_class == 0) {
*max_class = DEFAULT_CLASS;
text(15, DEFAULT_CLASS, 0, 0, 0);
} else if (*max_class > MAXCLASS) {
*max_class = MAXCLASS;
text(15, MAXCLASS, 0, 0, 0);
} else if (*max_class < 0) {
printf("Class must be a non-negative integer\n");
pcp->valid = FALSE;
}
}
/* read the generator list */
void pretty_read_generators(struct pcp_vars *pcp)
{
Logical reading = TRUE;
int i;
rfile = stdin;
wfile = stdout;
while (reading) {
printf("Input generating set (in { }): ");
paired_gens = 0;
inv_of = 0; /* bug fix */
read_gen_name_array(rfile);
default_inverse_array();
pairnumber = anu_valloc(int, num_gens + 1);
for (i = 1; i <= num_gens; i++) {
if (i <= inv(i)) {
paired_gens++;
pairnumber[i] = pairnumber[inv(i)] = paired_gens;
}
}
pcp->ndgen = paired_gens;
reading = (pcp->ndgen > MAXGENS);
if (reading)
printf("The maximum number of defining generators is %d\n", MAXGENS);
if (!isatty(0))
printf("\n");
}
}
/* read the list of relations (and the exponent) using pretty format */
void pretty_read_relations(int output, int *max_class, struct pcp_vars *pcp)
{
register int *y = y_address;
int ptr, relp, length;
int i = 1;
char c;
int nrels = 0;
int count, posn;
word w;
word_link *root = word_link_create();
word_link *wlp = 0;
word_link *next = 0;
gen_type g;
rfile = stdin;
rfileno = fileno(rfile);
wfile = stdout;
printf("Input defining set of relations (in { }): ");
/* read in and store the relations/relators; each relator/relation
is stored as a relation (two consecutive words in the list) */
find_char('{', rfile);
pc_word_init(&w);
wlp = root;
while (read_next_word(&w, rfile)) {
nrels++;
word_link_init(wlp);
word2prog_word(&w, wlp->wp);
wlp = wlp->next;
pc_word_reset(&w);
while ((c = read_char(rfile)) == ' ')
;
word_link_init(wlp);
if (c == '=') {
count = 1;
if (!isatty(rfileno))
posn = ftell(rfile); /* mark position */
/* pick up the word at the end of the chain of '=''s as
the right hand side of the equation */
do {
read_next_word(&w, rfile);
while ((c = read_char(rfile)) == ' ')
;
if (c == '=') {
pc_word_reset(&w);
count++;
}
} while (c == '=');
ungetc(c, rfile);
word2prog_word(&w, wlp->wp);
pc_word_reset(&w);
if (count > 1) {
if (!isatty(rfileno))
fseek(rfile, posn, 0);
/* go back to the marker if there was more than one '=' */
else {
/* we can't use fseek if we're inputting from stdin */
printf("You may not input relations of the type u = v = w from "
"terminal\n");
exit(FAILURE);
}
}
} else
ungetc(c, rfile);
wlp = wlp->next;
}
find_char('}', rfile);
if (!isatty(0))
printf("\n");
pcp->ndrel = nrels;
check_input(output, max_class, pcp);
if (!pcp->valid)
return;
#if defined(GROUP)
read_value(
TRUE, "Input exponent law (0 if none): ", &pcp->extra_relations, 0);
#endif
initialise_pcp(output, pcp);
setup(pcp);
/* next set up each relation in the list, as left hand side followed
by right hand side, after expressing each as a power if possible */
wlp = root;
ptr = pcp->lused;
relp = pcp->relp;
while (wlp->wp) {
word *wp = wlp->wp;
gen_type *gp = wp->g + wp->first;
gen_type *ggp = wp->g + wp->last;
ptr = pcp->lused + 1;
length = 1;
while (gp <= ggp) {
g = *gp;
y[ptr + (++length)] = (g <= inv(g)) ? pairnumber[g] : -pairnumber[g];
gp++;
}
/* set up exponent */
if (wp->n)
y[ptr + 1] = wp->n;
else if (length == 1)
y[ptr + 1] = 0;
/* this deals with the trivial word */
else
y[ptr + 1] = 1;
/* set up relation length */
if (wp->type == 'c')
y[ptr] = -length;
else
y[ptr] = length;
++relp;
y[relp] = ptr;
pcp->lused += (length + 1);
next = wlp->next;
word_link_clear(wlp);
wlp = next;
}
pcp->gspace = pcp->lused + 1;
free((char *)wlp);
if (user_gen_name) {
for (i = 0; i < gen_array_size; ++i)
word_clear(user_gen_name + i);
free((char *)user_gen_name);
user_gen_name = 0;
}
if (inv_of) {
free((char *)inv_of);
inv_of = 0;
}
}
anupq-3.3.0/src/read_relations.c 000644 000766 000024 00000002570 14355420571 017070 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_relations.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* read defining relations and store each relation as a word */
void read_relations(struct pcp_vars *pcp)
{
register int *y = y_address;
register int relp = pcp->relp;
register int ndrel = pcp->ndrel;
register int k, l;
register int type;
register int length;
register int disp = 0;
/* read and store side l of defining relation k;
each side of a defining relation is stored with its length
followed by its exponent followed by the base relator */
for (k = 1; k <= ndrel; ++k) {
for (l = 1; l <= 2; ++l) {
type = l;
++relp;
read_word(stdin, disp, type, pcp);
/* note length of relation */
length = abs(y[pcp->lused + disp + 1]);
/* an zero exponent signifies a trivial relation */
if (y[pcp->lused + disp + 2] == 0) {
y[pcp->lused + disp + 1] = 1;
length = 1;
}
y[relp] = pcp->lused + 1;
pcp->lused += length + 1;
}
}
pcp->gspace = pcp->lused + 1;
}
anupq-3.3.0/src/AllocateSpace.c 000644 000766 000024 00000023574 14355420571 016604 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A AllocateSpace.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
/* allocate space for array y */
void Allocate_WorkSpace(int work_space, struct pcp_vars *pcp)
{
if ((y_address = (int *)malloc((work_space + 1) * sizeof(int))) ==
(int *)0) {
perror("malloc failed in Allocate_WorkSpace ()");
exit(FAILURE);
}
/* initialise the pcp structure */
pcp->fronty = 1;
pcp->backy = work_space;
}
/* allocate space for a vector, a, of size n,
whose subscript commences at position start */
int *allocate_vector(int n, int start, Logical zero)
/* start may be 0 or 1 */
{
int *a;
#ifdef DEBUG
printf("allocate vector of size %d\n", n);
#endif
/* some versions of malloc crash when repeatedly asked to allocate
small amounts of space -- in particular, under AIX and Ultrix */
if (n < 4)
n = 4;
if (zero) {
if ((a = (int *)calloc(n, sizeof(int))) == (int *)0) {
perror("Call to allocate_vector");
exit(FAILURE);
}
} else if ((a = (int *)malloc(n * sizeof(int))) == (int *)0) {
perror("Call to allocate_vector");
exit(FAILURE);
}
while (start) {
--a;
--start;
}
return a;
}
/* allocate space for an n x m integer matrix a,
whose subscripts start at position 0 or 1 */
int **allocate_matrix(int n, int m, int start, Logical zero)
{
int **a;
int i;
#ifdef DEBUG
printf("allocate matrix %d x %d\n", n, m);
#endif
if (n == 0)
n = 1;
if (m < 4)
m = 4;
if ((a = (int **)malloc(n * sizeof(int *))) == (int **)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
if (start != 0)
--a;
for (i = start; i < start + n; ++i) {
if (zero) {
if ((a[i] = (int *)calloc(m, sizeof(int))) == (int *)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
} else if ((a[i] = (int *)malloc(m * sizeof(int))) == (int *)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
if (start != 0)
--a[i];
}
return a;
}
/* allocate space for an n x m x r integer array a,
whose subscripts begin at 1, not 0 */
int ***allocate_array(int n, int m, int r, Logical zero)
{
int ***a;
register int i, j;
#ifdef DEBUG
printf("allocate array %d x %d x %d\n", n, m, r);
#endif
if (n == 0)
n = 1;
if (m == 0)
m = 1;
if (r < 4)
r = 4;
if ((a = (int ***)malloc(n * sizeof(int **))) == (int ***)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
--a;
for (i = 1; i <= n; ++i) {
if ((a[i] = (int **)malloc(m * sizeof(int *))) == (int **)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
--a[i];
for (j = 1; j <= m; ++j) {
if (zero) {
if ((a[i][j] = (int *)calloc(r, sizeof(int))) == (int *)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
} else if ((a[i][j] = (int *)malloc(r * sizeof(int))) == (int *)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
--a[i][j];
}
}
return a;
}
/* reallocate space for a vector, a, of size new which
was originally of size original */
int *reallocate_vector(int *a, int original, int new, int start, Logical zero)
{
int j;
#ifdef DEBUG
printf("reallocate vector\n");
#endif
if (original < 4)
original = 4;
if (start && original != 0)
++a;
#ifdef DEBUG
printf("In reallocate: original = %d; new = %d\n", original, new);
printf("before reallocate: a = %d\n", a);
#endif
if ((a = (int *)realloc(a, new * sizeof(int))) == (int *)0) {
#ifdef DEBUG
printf("Original size is %d; new size is %d\n", original, new);
#endif
perror("Call to reallocate_vector");
exit(FAILURE);
}
if (start)
--a;
if (zero)
for (j = start + original; j < start + new; ++j)
a[j] = 0;
#ifdef DEBUG
printf("after reallocate: a = %d\n", a);
#endif
return a;
}
/* reallocate space for an n x m integer matrix a, whose subscripts begin
at 1, not 0; the original sizes are supplied */
int **
reallocate_matrix(int **a, int orig_n, int orig_m, int n, int m, Logical zero)
{
register int i, j;
#ifdef DEBUG
printf("reallocate matrix\n");
#endif
if (orig_n == 0)
orig_n = 1;
if (orig_m < 4)
orig_m = 4;
if ((a = (int **)realloc(++a, n * sizeof(int *))) == (int **)0) {
perror("Call to reallocate_matrix");
exit(FAILURE);
}
--a;
for (i = 1; i <= n; ++i) {
if (i > orig_n) {
if ((a[i] = (int *)malloc(m * sizeof(int))) == (int *)0) {
perror("Call to reallocate_matrix");
exit(FAILURE);
}
} else {
if ((a[i] = (int *)realloc(++a[i], m * sizeof(int))) == (int *)0) {
perror("Call to reallocate_matrix");
exit(FAILURE);
}
}
--a[i];
}
if (zero) {
for (i = 1; i <= n; ++i)
for (j = 1; j <= m; ++j)
if (i > orig_n || j > orig_m)
a[i][j] = 0;
}
return a;
}
/* reallocate space for an n x m x r integer array a,
whose subscripts begin at 1, not 0; the original
sizes are supplied */
int ***reallocate_array(int ***a,
int orig_n,
int orig_m,
int orig_r,
int n,
int m,
int r,
Logical zero)
{
register int i, j, k;
#ifdef DEBUG
printf("reallocate array\n");
#endif
if (orig_n == 0)
orig_n = 1;
if (orig_m == 0)
orig_m = 1;
if (orig_r < 4)
orig_r = 4;
if ((a = (int ***)realloc(++a, n * sizeof(int **))) == (int ***)0) {
perror("Call to reallocate_array");
exit(FAILURE);
}
--a;
for (i = 1; i <= n; ++i) {
if (i > orig_n) {
if ((a[i] = (int **)malloc(m * sizeof(int *))) == (int **)0) {
perror("Call to reallocate_array");
exit(FAILURE);
}
} else {
if ((a[i] = (int **)realloc(++a[i], m * sizeof(int *))) == (int **)0) {
perror("Call to reallocate_array");
exit(FAILURE);
}
}
--a[i];
for (j = 1; j <= m; ++j) {
if (j > orig_m || i > orig_n) {
if ((a[i][j] = (int *)malloc(r * sizeof(int))) == (int *)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
} else {
if ((a[i][j] = (int *)realloc(++a[i][j], r * sizeof(int))) ==
(int *)0) {
perror("Call to allocate_array");
exit(FAILURE);
}
}
--a[i][j];
}
}
if (zero) {
for (i = 1; i <= n; ++i)
for (j = 1; j <= m; ++j)
for (k = 1; k <= r; ++k)
if (i > orig_n || j > orig_m || k > orig_r)
a[i][j][k] = 0;
}
return a;
}
/* allocate space for a character vector, a, of size n,
whose subscript commences at position start */
char *allocate_char_vector(int n, int start, Logical zero)
{
char *a;
#ifdef DEBUG
printf("allocate char vector\n");
#endif
if (n < 4)
n = 4;
if (zero) {
if ((a = (char *)calloc(n, sizeof(char))) == (char *)0) {
perror("Call to allocate_char_vector");
exit(FAILURE);
}
} else if ((a = (char *)malloc(n * sizeof(char))) == (char *)0) {
perror("Call to allocate_char_vector");
exit(FAILURE);
}
while (start) {
--a;
--start;
}
return a;
}
/* allocate space for an n x m character matrix a,
whose subscripts start at position 0 or 1 */
char **allocate_char_matrix(int n, int m, int start, Logical zero)
{
char **a;
int i;
#ifdef DEBUG
printf("allocate char matrix\n");
#endif
if (n == 0)
n = 1;
if (m < 4)
m = 4;
if ((a = (char **)malloc(n * sizeof(char *))) == (char **)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
if (start != 0)
--a;
for (i = start; i < start + n; ++i) {
if (zero) {
if ((a[i] = (char *)calloc(m, sizeof(char))) == (char *)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
} else if ((a[i] = (char *)malloc(m * sizeof(char))) == (char *)0) {
perror("Call to allocate_matrix");
exit(FAILURE);
}
if (start != 0)
--a[i];
}
return a;
}
/* allocate space for an n x m x r character array a,
whose subscripts begin at 1, not 0 */
char ***allocate_char_array(int n, int m, int r, Logical zero)
{
char ***a;
register int i, j;
#ifdef DEBUG
printf("allocate char array\n");
#endif
if (n == 0)
n = 1;
if (m == 0)
m = 1;
if (r < 4)
r = 4;
if ((a = (char ***)malloc(n * sizeof(char **))) == (char ***)0) {
perror("Call to allocate_char_array");
exit(FAILURE);
}
--a;
for (i = 1; i <= n; ++i) {
if ((a[i] = (char **)malloc(m * sizeof(char *))) == (char **)0) {
perror("Call to allocate_char_array");
exit(FAILURE);
}
--a[i];
for (j = 1; j <= m; ++j) {
if (zero) {
if ((a[i][j] = (char *)calloc(r, sizeof(char))) == (char *)0) {
perror("Call to allocate_char_array");
exit(FAILURE);
}
} else {
if ((a[i][j] = (char *)malloc(r * sizeof(char))) == (char *)0) {
perror("Call to allocate_char_array");
exit(FAILURE);
}
}
--a[i][j];
}
}
return a;
}
anupq-3.3.0/src/tails_filter.c 000644 000766 000024 00000017765 14355420571 016572 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A tails_filter.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#if defined(TAILS_FILTER) && defined(GROUP)
/* look up the definitions of two pcp generator */
int lookup_structure(int generator, int *weight_vector, struct pcp_vars *pcp)
{
register int *y = y_address;
int structure = pcp->structure;
int pointer = pcp->lused + 1;
int weight;
int index;
int i;
#include "access.h"
weight = WT(y[structure + generator]);
for (i = 1; i <= weight; ++i)
y[pointer + i] = 0;
find_definition(generator, pointer, weight, pcp);
for (i = 1; i <= weight; ++i) {
index = y[pointer + i];
++weight_vector[index];
}
}
/* add vec1 to vec2 component wise and return sum */
int *add_weights(int *vec1, int *vec2, int length)
{
int i;
int *sum;
sum = allocate_vector(length, 1, TRUE);
for (i = 1; i <= length; ++i)
sum[i] = vec1[i] + vec2[i];
return sum;
}
/* where maximal occurrence for each generator is set to 1,
does any generator occur in definition with weight at least 2?
if so, we do not need to compute tail */
Logical mo_filter(int *weight_vector, struct pcp_vars *pcp)
{
register int *y = y_address;
Logical filter;
int frattini_rank = y[pcp->clend + 1];
int moccur = pcp->ndgen + pcp->dgen;
int i;
#ifdef DEBUG
printf("Definition array total is ");
print_array(weight_vector, 1, y[pcp->clend + 1] + 1);
#endif
/* is maximal occurrences option set to one for each generator? */
for (i = moccur + 1; i <= moccur + frattini_rank; ++i)
if (y[i] != 1)
return FALSE;
filter = FALSE;
/* does any defining generator occur at least 2 times? */
for (i = 1; i <= frattini_rank && !filter; ++i)
filter = (weight_vector[i] >= 2);
return filter;
}
Logical
exp4_filter(int left, int right, int *weight_vector, struct pcp_vars *pcp)
{
register int *y = y_address;
Logical filter;
int frattini_rank = y[pcp->clend + 1];
int structure = pcp->structure;
int i;
#include "access.h"
#ifdef DEBUG
printf("Definition array total is ");
print_array(weight_vector, 1, y[pcp->clend + 1] + 1);
#endif
filter = (WT(y[structure + left]) + WT(y[structure + right]) != 5);
if (filter == FALSE)
return FALSE;
filter = FALSE;
/* does any defining generator occur at least 4 times? */
for (i = 1; i <= frattini_rank && !filter; ++i)
filter = (weight_vector[i] >= 4);
return filter;
}
Logical exp5_filter(int *weight_vector, struct pcp_vars *pcp)
{
register int *y = y_address;
int frattini_rank = y[pcp->clend + 1];
Logical filter;
int i;
#ifdef DEBUG
printf("Definition array total is ");
print_array(weight_vector, 1, y[pcp->clend + 1] + 1);
#endif
filter = FALSE;
/* does any defining generator occur at least 7 times? */
for (i = 1; i <= frattini_rank && !filter; ++i)
filter = (weight_vector[i] >= 7);
return filter;
}
/* calculate pth powers of class final_class generators which
are commutators by doing the appropriate collections */
void calculate_tails(int final_class,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int structure = pcp->structure;
register int class_end = pcp->clend;
register int f;
register int start = y[class_end + final_class - 1] + 1;
register int end = y[class_end + final_class];
register int s, s1, s2;
register int start_class = 1;
register int a, b;
register int value;
register int p1;
int **definition;
int exponent = pcp->extra_relations;
Logical filter = (pcp->nocset || exponent == 4 || exponent == 5);
Logical compute;
int *weight_vector;
int frattini_rank = y[pcp->clend + 1];
int processed, filtered;
#include "access.h"
if (filter)
definition = allocate_matrix(pcp->lastg, frattini_rank + 1, 0, TRUE);
if (filter || pcp->fullop || pcp->diagn)
printf("Processing tails for generators of weight %d and %d\n",
final_class,
1);
for (f = start; f <= end; f++) {
#ifdef DEBUG
printf("Processing generator f = %d, Lused = %d\n", f, pcp->lused);
#endif
value = y[structure + f];
a = PART3(value);
if (a == 0)
break;
b = PART2(value);
/* f is the commutator (b, a);
calculate the class current_class part of f^p by collecting
(b^p) a = b^(p-1) (ba); by formal collection, we see that
the class current_class part of f^p is obtained by subtracting
(modulo p) the rhs of the above equation from the lhs */
jacobi(b, b, a, pcp->ppower + f, pcp);
if (pcp->overflow)
return;
}
/* calculate the non left-normed commutators of class work_class
in the order (work_class - 2, 2), (work_class - 3, 3) .. */
class_end = pcp->clend;
while (--final_class >= ++start_class) {
processed = 0;
filtered = 0;
if (filter || pcp->fullop || pcp->diagn)
printf("Processing tails for generators of weight %d and %d\n",
final_class,
start_class);
start = y[class_end + final_class - 1] + 1;
end = y[class_end + final_class];
s1 = y[class_end + start_class - 1] + 1;
for (f = start; f <= end; f++) {
#ifdef DEBUG
printf("Processing generator f = %d, Lused = %d\n", f, pcp->lused);
#endif
if (filter) {
if (definition[f][0] == FALSE) {
lookup_structure(f, definition[f], pcp);
definition[f][0] = TRUE;
}
}
s2 = MIN(f - 1, y[class_end + start_class]);
if (s2 - s1 < 0)
continue;
p1 = y[pcp->ppcomm + f];
for (s = s1; s <= s2; s++) {
/* insert the class current_class part on (f, s) */
value = y[structure + s];
b = PART2(value);
a = PART3(value);
if (a == 0)
a = b;
else if (pcp->metabelian && PART3(y[structure + f]) != 0)
continue;
/* s = (b, a); calculate the class current_class part
of (f, (b, a)) by collecting (fb) a = f (ba) or the
class current_class part of (f, (b^p)) by collecting
(fb) b^(p - 1) = f (b^p);
since we require only the class current_class part -
the rest has been computed earlier - we calculate it
by subtracting (modulo p) the rhs of the above equation
from the lhs (proof by formal collection) */
if (filter) {
if (definition[s][0] == FALSE) {
lookup_structure(s, definition[s], pcp);
definition[s][0] = TRUE;
}
weight_vector =
add_weights(definition[f], definition[s], y[pcp->clend + 1]);
free_vector(weight_vector, 1);
if (pcp->nocset)
compute = (mo_filter(weight_vector, pcp) == FALSE);
else if (exponent == 4)
compute = (exp4_filter(f, s, weight_vector, pcp) == FALSE);
else if (exponent == 5)
compute = (exp5_filter(weight_vector, pcp) == FALSE);
else
compute = TRUE;
if (compute) {
jacobi(f, b, a, p1 + s, pcp);
++processed;
} else
++filtered;
} else
jacobi(f, b, a, p1 + s, pcp);
if (pcp->overflow)
return;
}
}
if (filter) {
printf("Number evaluated = %d, Number filtered = %d\n",
processed,
filtered);
}
}
if (filter)
free_matrix(definition, pcp->lastg, 0);
}
#endif
anupq-3.3.0/src/check_exponent.c 000644 000766 000024 00000002365 14355420571 017074 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A check_exponent.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "exp_vars.h"
/* determine whether trial value is upper bound on exponent of the
group; do this by checking that all test words are trivial */
Logical check_exponent(int trial_exponent,
struct exp_vars *exp_flag,
struct pcp_vars *pcp)
{
int known_exponent;
initialise_exponent(exp_flag, pcp);
exp_flag->check_exponent = TRUE;
exp_flag->all_trivial = TRUE;
known_exponent = pcp->extra_relations;
if (known_exponent)
return known_exponent == trial_exponent;
pcp->extra_relations = trial_exponent;
/* now generate and power all test words */
extra_relations(exp_flag, pcp);
/* restore existing exponent law */
pcp->extra_relations = known_exponent;
/* if trivial flag is true, we have (upper bound on) exponent */
return exp_flag->all_trivial;
}
anupq-3.3.0/src/is_genlim_exceeded.c 000644 000766 000024 00000001635 14355420571 017672 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A is_genlim_exceeded.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* test that the total number of occurrences of each defining
generator in the structure of a pcp-generator about to be
introduced in tails does not exceed some maximum set up in option */
Logical is_genlim_exceeded(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j;
register int moccur;
register int toccur;
moccur = pcp->dgen + pcp->ndgen;
toccur = pcp->lused + pcp->cc;
for (i = pcp->ndgen; i > 0; i--)
if ((j = y[moccur + i]) > 0 && y[toccur + i] > j)
return FALSE;
return TRUE;
}
anupq-3.3.0/src/orbit_summary.c 000644 000766 000024 00000001366 14355420571 016773 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A orbit_summary.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
/* print a summary of the orbits, listing their lengths
and their representatives */
void orbit_summary(int *length, struct pga_vars *pga)
{
register int i;
printf("\n Orbit Length Representative\n");
for (i = 1; i <= pga->nmr_orbits; ++i)
printf("%7d %15d %15d\n", i, length[i], pga->rep[i]);
printf("\nNumber of orbits is %d\n", pga->nmr_orbits);
}
anupq-3.3.0/src/text.c 000644 000766 000024 00000005044 14355420571 015060 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A text.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
/* print an informational or error message */
void text(int message, int arg1, int arg2, int arg3, int arg4)
{
char *s, *t;
switch (message) {
case 1:
PRINT("Defining relation was %d\n", arg1);
return;
case 2:
PRINT("Compact workspace: Lused = %d, Structure = %d\n", arg1, arg2);
return;
case 3:
PRINT("Generator %d is trivial\n", arg1);
return;
case 4:
PRINT("Generator %d is redundant\n", arg1);
return;
case 5:
#if defined(GROUP)
PRINT("\nGroup completed.");
#endif
PRINT(" Lower exponent-%d central class = %d,", arg2, arg1);
PRINT(" Order = %d^%d\n", arg2, arg3);
return;
case 6:
PRINT("Relation not homogeneous of class %d.", arg1);
PRINT(" Relation ignored.\n");
return;
case 7:
PRINT("%d-quotient is trivial\n", arg1);
return;
case 8:
PRINT("%d-quotient is cyclic\n", arg1);
return;
case 9:
PRINT("Jacobi was ");
PRINT("%d %d %d\n", arg1, arg2, arg3);
return;
case 10:
PRINT("Invalid Last Class call - option may be used only once\n");
return;
case 11:
PRINT("Ran out of space during computation\n");
PRINT("Number of generators in last class is %d\n", arg1);
return;
case 12:
PRINT("\nRank of %d-multiplicator is %d\n", arg1, arg2);
return;
case 13:
PRINT("%d ", arg1);
s = (arg1 == 1) ? "" : "s";
t = (arg3 == TRUE) ? "collected" : "will be collected";
PRINT("relation%s of class %d %s\n", s, arg2, t);
return;
case 14:
PRINT("Inappropriate value for exponent parameter: %d\n", arg1);
return;
case 15:
PRINT("Class bound of %d taken\n", arg1);
return;
case 16:
PRINT("Validity error. Results may be incorrect\n");
return;
case 17:
PRINT("The number of defining generators must be less than %d\n", arg1);
return;
case 18:
PRINT("A relation is too long -- increase the value of MAXWORD ");
PRINT("in constants.h\nand recompile pq\n");
return;
case 19:
PRINT("Evaluation in compute_degree may cause integer overflow\n");
return;
default:
PRINT("Bad message number %d", message);
}
}
anupq-3.3.0/src/interactive_pq.c 000644 000766 000024 00000052436 14355420571 017120 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A interactive_pq.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "exp_vars.h"
#include "constants.h"
#include "menus.h"
#include "pq_functions.h"
#include "pretty_filterfns.h"
#include "word_types.h"
#include "global.h"
#define MAXOPTION 31 /* maximum number of menu options */
#define GAP_PRES_FORMAT 2
#define BOTH_TAILS 0
#define NEW_TAILS 1
#define COMPUTE_TAILS 2
#if defined(GROUP)
/* interactive menu for p-quotient calculation */
void interactive_pq(Logical group_present,
int format,
int output_level,
int **head,
int **list,
struct pcp_vars *pcp)
{
register int *y = y_address;
int option, t, class;
register int cp;
Logical print_flag;
int type;
int i;
int factor, limit;
int ***auts;
char *s;
char *name;
FILE *FileName;
int *queue, *long_queue;
int start_length = 0;
int prev_qlength = 0, current_qlength;
int long_queue_length = 0, queue_length = 0;
int consistency_type;
int nmr_of_auts;
int nmr_of_exponents;
int tail_type;
int start_gen, final_gen;
Logical queue_setup = FALSE; /* redundancy queue set up? */
Logical echelon_ready = FALSE; /* ready to echelonise? */
Logical output; /* temporarily store value of pcp->fullop */
struct exp_vars exp_flag;
Logical symbols_setup = FALSE;
int file_format;
if (isatty(0))
list_interactive_pq_menu();
if (format != BASIC && group_present == TRUE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
do {
option = read_option(MAXOPTION);
switch (option) {
case -1:
list_interactive_pq_menu();
break;
case COLLECT:
t = runTime();
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
type = WORD;
if (!is_space_exhausted(3 * pcp->lastg + 2, pcp)) {
cp = pcp->lused;
setup_word_to_collect(stdin, format, type, cp, pcp);
t = runTime() - t;
printf("Collection took %.2f seconds\n", t * CLK_SCALE);
echelon_ready = TRUE;
}
break;
case SOLVE:
t = runTime();
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
setup_to_solve_equation(format, pcp);
t = runTime() - t;
printf("Solving the equation took %.2f seconds\n", t * CLK_SCALE);
break;
case COMMUTATOR:
t = runTime();
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
calculate_commutator(format, pcp);
cp = pcp->lused;
echelon_ready = TRUE;
t = runTime() - t;
printf("Commutator calculation took %.2f seconds\n", t * CLK_SCALE);
break;
case DISPLAY_PRESENTATION:
print_flag = (output_level >= MAX_PRINT - 1) ? TRUE : FALSE;
print_presentation(print_flag, pcp);
break;
case PRINT_LEVEL:
print_level(&output_level, pcp);
break;
case SETUP:
if (pcp->complete) {
printf("Group is complete\n");
break;
}
setup(pcp);
pcp->update = FALSE;
pcp->middle_of_tails = FALSE;
printf("Setup performed for class %d\n", pcp->cc);
break;
case TAILS:
t = runTime();
if (pcp->complete) {
printf("Group is complete\n");
break;
}
pcp->middle_of_tails = FALSE;
read_value(TRUE,
"Input class for tails computation (0 for all): ",
&class,
-9999);
/* by negative class we mean that we want to extend the lower central
series up to -class, by adding p-powers. Variable i is hijacked. */
if (class < 0) { i = class; class = 0; } else { i = 1; }
tail_info(&tail_type);
if (class == 0 || (class > 1 && class <= pcp->cc)) {
if (class > 0) {
tails(tail_type, class, pcp->cc, i, pcp);
if (class != 2)
pcp->middle_of_tails = TRUE;
} else {
/* variable end_weight is never used. We hijack it to pass the
l.c.s. desired depth. */
for (class = pcp->cc; class > 1; --class)
tails(tail_type, class, pcp->cc, i, pcp);
}
if (pcp->overflow && !isatty(0))
exit(FAILURE);
t = runTime() - t;
printf("Tails computation took %.2f seconds \n", t * CLK_SCALE);
} else
printf("Class %d is invalid for tails calculations\n", class);
break;
case CONSISTENCY:
t = runTime();
if (pcp->complete) {
printf("Group is complete\n");
break;
}
read_value(TRUE,
"Input class for consistency check (0 for all): ",
&class,
0);
consistency_info(&consistency_type);
if (class == 0 || (class > 2 && class <= pcp->cc)) {
if (pcp->m != 0) {
queue_setup = TRUE;
start_length = queue_length;
queue_space(
&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
}
if (class > 0)
consistency(consistency_type, queue, &queue_length, class, pcp);
else
for (class = pcp->cc; class > 2; --class)
consistency(
consistency_type, queue, &queue_length, class, pcp);
if (pcp->overflow && !isatty(0))
exit(FAILURE);
if (pcp->m != 0) {
s = (queue_length - start_length == 1) ? "y" : "ies";
printf("Consistency checks gave %d redundanc%s\n",
queue_length - start_length,
s);
}
if (pcp->complete && output_level <= 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
t = runTime() - t;
printf("Consistency checks took %.2f seconds\n", t * CLK_SCALE);
} else
printf("Class %d is invalid for consistency checks\n", class);
break;
case RELATIONS:
t = runTime();
if (pcp->complete) {
printf("Group is complete\n");
break;
}
/* if no tails have been added, do not perform update */
if (y[pcp->clend + pcp->cc - 1] < pcp->lastg) {
if (!pcp->complete && pcp->cc > 1 && !pcp->middle_of_tails &&
!pcp->update) {
update_generators(pcp);
pcp->update = TRUE;
}
if (!pcp->complete)
collect_relations(pcp);
}
if (pcp->complete && output_level <= 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
t = runTime() - t;
printf("Collection of relations took %.2f seconds\n", t * CLK_SCALE);
break;
case EXTRA_RELATIONS:
t = runTime();
if (pcp->complete) {
printf("Group is complete\n");
break;
}
if (pcp->extra_relations == 0) {
read_value(TRUE,
"Input exponent law (0 if none): ",
&pcp->extra_relations,
0);
}
read_value(TRUE,
"Input start weight for exponent checking: ",
&pcp->start_wt,
1);
read_value(TRUE,
"Input end weight for exponent checking: ",
&pcp->end_wt,
pcp->start_wt);
exponent_info(&exp_flag, pcp);
if (pcp->m != 0) {
queue_setup = TRUE;
start_length = queue_length;
queue_space(
&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
exp_flag.queue = queue;
exp_flag.queue_length = queue_length;
}
extra_relations(&exp_flag, pcp);
if (pcp->m != 0) {
queue = exp_flag.queue;
queue_length = exp_flag.queue_length;
s = (queue_length - start_length == 1) ? "y" : "ies";
printf("Exponent checks gave %d redundanc%s\n",
queue_length - start_length,
s);
}
if (pcp->complete && output_level <= 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
t = runTime() - t;
printf("Time to check exponents is %.2f seconds\n", t * CLK_SCALE);
break;
case ELIMINATE:
t = runTime();
symbols_setup = FALSE;
if (pcp->cc == 1)
class1_eliminate(pcp);
else {
/* if no tails have been added, do not perform update */
if (y[pcp->clend + pcp->cc - 1] < pcp->lastg) {
if (pcp->cc > 1 && !pcp->middle_of_tails && !pcp->update) {
update_generators(pcp);
pcp->update = TRUE;
}
eliminate(pcp->middle_of_tails, pcp);
queue_length = 0;
long_queue_length = 0;
}
}
t = runTime() - t;
printf("Elimination took %.2f seconds\n", t * CLK_SCALE);
break;
case LAST_CLASS:
last_class(pcp);
break;
case MAXOCCUR:
set_maxoccur(pcp);
break;
case METABELIAN:
pcp->metabelian = TRUE;
break;
case JACOBI:
calculate_jacobi(pcp);
if (pcp->redgen != 0 && pcp->m != 0) {
queue_setup = TRUE;
if (prev_qlength == 0)
queue_space(
&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
queue[++queue_length] = pcp->redgen;
}
break;
case ECHELON:
if (echelon_ready) {
for (i = 1; i <= pcp->lastg; ++i)
y[cp + pcp->lastg + i] = 0;
output = pcp->fullop;
pcp->fullop = TRUE;
echelon(pcp);
pcp->fullop = output;
if (pcp->redgen != 0 && pcp->m != 0) {
queue_setup = TRUE;
if (prev_qlength == 0)
queue_space(&queue,
&long_queue,
¤t_qlength,
&prev_qlength,
pcp);
queue[++queue_length] = pcp->redgen;
}
echelon_ready = FALSE;
} else
printf("No relation to echelonise; first collect or commute\n");
break;
case AUTS:
t = runTime();
if (pcp->m == 0) {
auts = read_auts(PQ, &pcp->m, &nmr_of_exponents, pcp);
Setup_Action(head, list, auts, nmr_of_exponents, pcp);
}
Extend_Auts(head, list, y[pcp->clend + 1] + 1, pcp);
#ifdef DEBUG
read_value(TRUE, "Input start generator: ", &start_gen, 1);
read_value(TRUE, "Input final generator: ", &final_gen, start_gen);
List_Auts(*head, *list, start_gen, final_gen, pcp);
/* print_array (*head, 0, (*head)[0] + 2); */
#endif
queue_setup = TRUE;
queue_space(&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
t = runTime() - t;
printf("Extension of automorphisms took %.2f seconds\n",
t * CLK_SCALE);
break;
case CLOSE_RELATIONS:
t = runTime();
s = (queue_length == 1) ? "y" : "ies";
printf("The queue currently contains %d entr%s\n", queue_length, s);
/*
print_array (queue, 1, queue_length + 1);
*/
read_value(TRUE, "Input queue factor: ", &factor, 0);
limit = factor * (pcp->lastg - pcp->ccbeg + 1) / 100;
if (!pcp->complete) {
close_relations(TRUE,
limit,
1,
*head,
*list,
queue,
queue_length,
long_queue,
&long_queue_length,
pcp);
}
if (!pcp->complete && !pcp->overflow) {
if (pcp->fullop || pcp->diagn)
printf("Length of long queue after short queue closed is %d\n",
long_queue_length);
close_relations(TRUE,
limit,
2,
*head,
*list,
long_queue,
long_queue_length,
long_queue,
&long_queue_length,
pcp);
if (pcp->fullop || pcp->diagn) {
printf("Final long queue length was %d\n", long_queue_length);
}
}
if (pcp->complete && output_level <= 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
queue_length = long_queue_length = 0;
t = runTime() - t;
printf("Closing relations took %.2f seconds\n", t * CLK_SCALE);
break;
case STRUCTURE:
read_value(
TRUE, "Input initial pcp generator number: ", &start_gen, 1);
if (start_gen <= pcp->lastg) {
read_value(TRUE,
"Input final pcp generator number: ",
&final_gen,
start_gen);
print_structure(start_gen, MIN(final_gen, pcp->lastg), pcp);
} else
printf("Invalid range supplied for pcp generator numbers\n");
break;
case ENGEL:
t = runTime();
queue_setup = TRUE;
queue_space(&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
list_commutators(queue, &queue_length, pcp);
/*
List_Commutators (queue, &queue_length, pcp);
*/
t = runTime() - t;
printf(
"Evaluation of Engel [y, (p - 1)x] identity took %.2f seconds\n",
t * CLK_SCALE);
break;
case LIST_AUTOMORPHISMS:
read_value(TRUE, "Input start generator: ", &start_gen, 1);
read_value(TRUE, "Input final generator: ", &final_gen, start_gen);
List_Auts(*head, *list, start_gen, final_gen, pcp);
break;
break;
case RELATIONS_FILE:
t = runTime();
if (pcp->m != 0) {
queue_setup = TRUE;
start_length = queue_length;
queue_space(
&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
}
read_relator_file(queue, &queue_length, pcp);
if (pcp->m != 0) {
s = (queue_length - start_length == 1) ? "y" : "ies";
printf("Relation file gave %d redundanc%s\n",
queue_length - start_length,
s);
if (queue_length != 0)
print_array(queue, 1, queue_length + 1);
}
t = runTime() - t;
printf("Processing relations file took %.2f seconds\n", t * CLK_SCALE);
break;
case DGEN_WORD:
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
type = WORD;
if (!is_space_exhausted(3 * pcp->lastg + 2, pcp)) {
cp = pcp->lused;
setup_defgen_word_to_collect(stdin, format, type, pcp->lused, pcp);
echelon_ready = TRUE;
}
break;
case DGEN_COMM:
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
commute_defining_generators(format, pcp);
echelon_ready = TRUE;
break;
case DGEN_AUT:
if (format != BASIC && symbols_setup == FALSE) {
setup_symbols(pcp);
symbols_setup = TRUE;
}
auts = determine_action(format, &nmr_of_auts, pcp);
break;
case COMPACT:
compact(pcp);
break;
case FORMULA:
t = runTime();
if (pcp->m != 0) {
queue_setup = TRUE;
start_length = queue_length;
queue_space(
&queue, &long_queue, ¤t_qlength, &prev_qlength, pcp);
}
evaluate_formula(queue, &queue_length, pcp);
if (pcp->m != 0) {
s = (queue_length - start_length == 1) ? "y" : "ies";
printf("Formula checks gave %d redundanc%s\n",
queue_length - start_length,
s);
if (queue_length != 0)
print_array(queue, 1, queue_length + 1);
}
t = runTime() - t;
printf("Formula evaluation took %.2f seconds\n", t * CLK_SCALE);
break;
case OUTPUT_PRESENTATION:
/* TODO: We used to support more output formats, but now only
GAP output is supported. As such, the following query is no redundant.
We keep it for backward compatibility only. */
name = GetString("Enter output file name: ");
read_value(TRUE,
"Output file in GAP (2) format? ",
&file_format,
GAP_PRES_FORMAT);
FileName = OpenFile(name, "a+");
if (FileName != NULL) {
if (file_format == GAP_PRES_FORMAT) {
GAP_presentation(FileName, pcp, 1);
printf("Group presentation written in GAP format to file\n");
} else
printf("Format must be %d\n", GAP_PRES_FORMAT);
}
CloseFile(FileName);
break;
case COMPACT_PRESENTATION:
compact_description(TRUE, pcp);
printf("Group description written to gps%d^%d\n", pcp->p, pcp->lastg);
break;
case EXIT:
case MAXOPTION:
printf("Exiting from interactive p-Quotient menu\n");
break;
} /* switch */
} while (option != 0 && option != MAXOPTION);
if (queue_setup) {
free_vector(queue, 1);
free_vector(long_queue, 1);
}
}
/* interactive p-quotient menu */
void list_interactive_pq_menu(void)
{
printf("\nAdvanced p-Quotient Menu\n");
printf("-------------------------\n");
printf("%d. Do individual collection\n", COLLECT);
printf("%d. Solve the equation ax = b for x\n", SOLVE);
printf("%d. Calculate commutator\n", COMMUTATOR);
printf("%d. Display group presentation\n", DISPLAY_PRESENTATION);
printf("%d. Set print level\n", PRINT_LEVEL);
printf("%d. Set up tables for next class\n", SETUP);
printf("%d. Insert tails for some or all classes\n", TAILS);
printf("%d. Check consistency for some or all classes\n", CONSISTENCY);
printf("%d. Collect defining relations\n", RELATIONS);
printf("%d. Carry out exponent checks\n", EXTRA_RELATIONS);
printf("%d. Eliminate redundant generators\n", ELIMINATE);
printf("%d. Revert to presentation for previous class\n", LAST_CLASS);
printf("%d. Set maximal occurrences for pcp generators\n", MAXOCCUR);
printf("%d. Set metabelian flag\n", METABELIAN);
printf("%d. Carry out an individual consistency calculation\n", JACOBI);
printf("%d. Carry out compaction\n", COMPACT);
printf("%d. Carry out echelonisation\n", ECHELON);
printf("%d. Supply and/or extend automorphisms\n", AUTS);
printf("%d. Close relations under automorphism actions\n", CLOSE_RELATIONS);
printf("%d. Print structure of a range of pcp generators\n", STRUCTURE);
printf("%d. Display automorphism actions on generators\n",
LIST_AUTOMORPHISMS);
printf("%d. Collect word in defining generators\n", DGEN_WORD);
printf("%d. Compute commutator of defining generators\n", DGEN_COMM);
printf("%d. Write presentation to file in GAP format\n",
OUTPUT_PRESENTATION);
printf("%d. Write compact description of group to file\n",
COMPACT_PRESENTATION);
printf("%d. Evaluate certain formulae\n", FORMULA);
printf("%d. Evaluate action specified on defining generators\n", DGEN_AUT);
printf("%d. Evaluate Engel (p - 1)-identity\n", ENGEL);
printf("%d. Process contents of relation file\n", RELATIONS_FILE);
printf("%d. Exit to basic menu\n", MAXOPTION);
}
#endif
/* set up space for the queues used in exponent checking */
int queue_space(int **queue,
int **long_queue,
int *current_qlength,
int *prev_qlength,
struct pcp_vars *pcp)
{
*current_qlength = pcp->lastg - pcp->ccbeg + 1;
if (*prev_qlength == 0) {
*queue = allocate_vector(*current_qlength, 1, FALSE);
*long_queue = allocate_vector(*current_qlength, 1, FALSE);
} else if (*current_qlength != *prev_qlength) {
*queue =
reallocate_vector(*queue, *prev_qlength, *current_qlength, 1, FALSE);
*long_queue = reallocate_vector(
*long_queue, *prev_qlength, *current_qlength, 1, FALSE);
}
*prev_qlength = *current_qlength;
return 0;
}
anupq-3.3.0/src/iteration.c 000644 000766 000024 00000007060 14355420571 016072 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A iteration.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#define ITERATION 6
/* this procedure controls each iteration of the generation algorithm;
it is called recursively and sets out to construct the immediate
descendants of some or all of the groups present on input_file;
call_depth is the level of recursion;
class_bound, step_sequence, order_bound are set up in iteration_information;
subgroup_rank is the rank of the initial segment subgroup;
flag is a copy of the basic pga flags */
void iteration(int call_depth,
int *step_sequence,
int subgroup_rank,
struct pga_vars *flag,
FILE *input_file,
int nmr_of_descendants,
int class_bound,
int order_bound,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int ***auts;
register int group_nmr, first = 1;
int next_class = 0;
FILE *descendant_file;
char name[MAXWORD];
char *s, *t;
if (step_sequence != NULL) {
pga->step_size = step_sequence[call_depth];
flag->step_size = step_sequence[call_depth];
}
CreateName(name, call_depth, pcp);
if (call_depth == 1) {
first = nmr_of_descendants;
if (nmr_of_descendants > 1) {
auts =
restore_group(FALSE, input_file, nmr_of_descendants - 1, pga, pcp);
free_array(auts, pga->m, pcp->lastg, 1);
}
}
descendant_file = OpenFile(name, "w+");
for (group_nmr = first; group_nmr <= nmr_of_descendants; ++group_nmr)
next_class += construct(call_depth,
flag,
ITERATION,
descendant_file,
input_file,
subgroup_rank,
order_bound,
group_nmr,
pga,
pcp);
if (call_depth != 1)
CloseFile(input_file);
if (next_class != 0) {
RESET(descendant_file);
printf("\n**************************************************\n");
s = (next_class == 1) ? "" : "s";
t = (pga->terminal) ? "" : " capable";
printf("%d%s group%s saved on file %s\n", next_class, t, s, name);
if ((pcp->newgen == 0 && pcp->cc < class_bound - 1) ||
(pcp->newgen != 0 && pcp->cc < class_bound))
iteration(call_depth + 1,
step_sequence,
subgroup_rank,
flag,
descendant_file,
next_class,
class_bound,
order_bound,
pga,
pcp);
} else
CloseFile(descendant_file);
}
/* set up output file name */
void CreateName(char *name, int call_depth, struct pcp_vars *pcp)
{
register int i, adjoin;
for (i = 0; i <= (int)strlen(pcp->ident) && pcp->ident[i] != ' '; ++i)
name[i] = pcp->ident[i];
name[i] = '\0';
strcat(name, "_class");
if (call_depth == 1)
adjoin = pcp->cc;
else if (pcp->newgen == 0)
adjoin = pcp->cc + 2;
else
adjoin = pcp->cc + 1;
sprintf(name + strlen(name), "%d", adjoin);
}
anupq-3.3.0/src/read_value.c 000644 000766 000024 00000004434 14355420571 016205 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_value.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
/* function to read line */
void read_line(void)
{
int c;
while ((c = getchar()) != EOF && c != '\n')
;
}
/* continue to read parameter until its value is at least lower_bound */
void read_value(Logical newline, char *string, int *value, int lower_bound)
{
char response[MAXWORD];
Logical error;
Logical reading = TRUE;
int nmr_items;
while (reading) {
printf("%s", string);
nmr_items = scanf("%s", response);
verify_read(nmr_items, 1);
/* read past any comments */
while (response[0] == COMMENT) {
read_line();
nmr_items = scanf("%s", response);
verify_read(nmr_items, 1);
}
if (!isatty(0))
printf("%s ", response);
if (!isatty(0) && newline)
printf("\n");
*value = string_to_int(response, &error);
if (error)
printf("Error in input -- must be integer only (but is '%s')\n", response);
else if ((reading = (*value < lower_bound)))
printf("Error: supplied value must be at least %d\n", lower_bound);
}
}
/* convert string s to integer */
int string_to_int(char *s, Logical *error)
{
int i, n, sign;
*error = FALSE;
for (i = 0; isspace(s[i]); i++) /* skip white space */
;
sign = (s[i] == '-') ? -1 : 1;
if (s[i] == '+' || s[i] == '-') /* skip sign */
i++;
for (n = 0; s[i] != '\0'; i++) {
if (isdigit(s[i])) {
n = 10 * n + (s[i] - '0');
} else {
*error = TRUE;
return 0;
}
}
return sign * n;
}
/* read in string */
char *GetString(char *string)
{
int nmr_items;
char *s = (char *)malloc(MAXIDENT * sizeof(char));
printf("%s", string);
nmr_items = scanf("%s", s);
verify_read(nmr_items, 1);
while (s[0] == COMMENT) {
read_line();
nmr_items = scanf("%s", s);
verify_read(nmr_items, 1);
}
if (!isatty(0))
printf("%s\n", s);
return s;
}
anupq-3.3.0/src/consistency_info.c 000644 000766 000024 00000001546 14355420571 017453 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A consistency_info.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "exp_vars.h"
#include "pq_functions.h"
/* read information for consistency checking */
void consistency_info(int *consistency_flag)
{
Logical reading = TRUE;
while (reading) {
read_value(
TRUE,
"Process all consistency relations (0), Type 1, Type 2, or Type 3? ",
consistency_flag,
0);
reading = (*consistency_flag > 3);
if (reading)
printf("Supplied value must lie between 0 and 3\n");
}
}
anupq-3.3.0/src/subgroup_to_label.c 000644 000766 000024 00000002102 14355420571 017573 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A subgroup_to_label.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
/* compute the label for the allowable subgroup having standard matrix S */
int subgroup_to_label(int **S, int K, int *subset, struct pga_vars *pga)
/* bit string representation of definition set */
/* definition set */
{
register int i, j;
register int exp = 0;
register int label = 1;
register int index = 0;
/* first determine the offset */
while (index < pga->nmr_def_sets && pga->list[index] != K)
++index;
label += pga->offset[index];
for (i = 0; i < pga->s; ++i)
for (j = subset[i] + 1; j < pga->q; ++j) {
if (1 << j & K)
continue;
if (S[i][j] != 0)
label += S[i][j] * pga->powers[exp];
++exp;
}
return label;
}
anupq-3.3.0/src/consistency_filter.c 000644 000766 000024 00000020245 14355420571 020002 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A consistency_filter.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#if defined(CONSISTENCY_FILTER)
int *add_weights();
/* process those consistency relations of weight wc not already used;
the value of type determines the consistency relations processed;
if type = 0 then all relations are processed */
void consistency(
int type, int *queue, int *queue_length, int wc, struct pcp_vars *pcp)
{
register int *y = y_address;
register int a;
register int b;
register int c;
int **definition;
int *copy_vector;
int processed, filtered;
register int wta; /* weight of a */
register int a_start; /* start of range for a */
register int a_end; /* end of range for a */
register int b_start;
register int b_end;
register int c_start;
register int c_end;
register int jacobi_wt = wc;
register int bound = jacobi_wt >> 1;
register int constant;
register int offset;
register int entry;
register int p1;
register int class_end = pcp->clend;
register int p_pcomm = pcp->ppcomm;
register int p_power = pcp->ppower;
register int structure = pcp->structure;
register Logical metabelian = pcp->metabelian;
register Logical compute; /* is it necessary to compute jacobi? */
register filter = (pcp->nocset);
Logical can_filter;
int moccur = pcp->ndgen + pcp->dgen;
int frattini_rank = y[pcp->clend + 1];
int l;
int *weight_vector;
#include "access.h"
processed = 0;
filtered = 0;
if (filter) {
definition = allocate_matrix(pcp->lastg, frattini_rank + 1, 0, TRUE);
}
/* process the consistency equations (a^p) a = a (a^p)
where 2 * WT(a) + 1 = jacobi_wt */
if (type == 0 || type == 1) {
if (MOD(jacobi_wt, 2) != 0) {
/* find range of a */
offset = class_end + bound - 1;
a_start = y[offset] + 1;
a_end = y[++offset];
for (a = a_start; a <= a_end; a++) {
compute =
(!metabelian || (metabelian && (PART2(y[structure + a]) == 0 ||
PART3(y[structure + a]) == 0)));
if (compute) {
jacobi(a, a, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
/* process the consistency equations
(b^p) a = b^(p - 1) (ba) and b (a^p) = (ba) a^(p - 1)
where b > a and WT(b) + WT(a) + 1 = jacobi_wt */
if (type == 0 || type == 2) {
for (wta = 1; wta <= bound; ++wta) {
/* find range of a */
offset = class_end + wta - 1;
a_start = y[offset] + 1;
a_end = y[++offset];
/* find maximum value of b */
offset = class_end + jacobi_wt - wta - 2;
b_end = y[offset + 1];
for (a = a_start; a <= a_end; ++a) {
/* ensure b > a */
b_start = MAX(y[offset] + 1, a + 1);
for (b = b_start; b <= b_end; ++b) {
/* introduce Vaughan-Lee consistency check restriction */
if (wta == 1) {
/* check if this jacobi relation has already been used
in filling in the tail on (b, a)^p */
p1 = y[p_pcomm + b];
if (y[p1 + a] <= 0 || y[p1 + a] >= pcp->first_pseudo) {
compute = (!metabelian ||
(metabelian && (PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0)));
if (compute) {
jacobi(b, b, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow || pcp->complete && !pcp->multiplicator)
return;
}
}
/* check if this jacobi relation has already been
used in filling in the tail on (b, a^p) */
entry = y[p_power + a];
if (entry <= 0 || entry >= b) {
compute = (!metabelian ||
(metabelian && (PART2(y[structure + a]) == 0 ||
PART3(y[structure + a]) == 0 ||
PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0)));
if (compute) {
jacobi(b, a, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow ||
(pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
}
}
/* process the consistency equations (cb) a = c (ba), where
c > b > a, WT(a) + WT(b) + WT(c) = jacobi_wt, and WT(a) = 1 */
if (type == 0 || type == 3) {
/* first, find maximum values of a and b */
a_end = y[class_end + 1];
b_end = y[class_end + ((jacobi_wt - 1) >> 1)];
constant = class_end + jacobi_wt - 2;
for (a = 1; a <= a_end; ++a) {
if (filter) {
if (definition[a][0] == FALSE) {
lookup_structure(a, definition[a], pcp);
definition[a][0] = TRUE;
}
}
for (b = a + 1; b <= b_end; ++b) {
if (filter) {
if (definition[b][0] == FALSE) {
lookup_structure(b, definition[b], pcp);
definition[b][0] = TRUE;
}
}
/* find range of c and ensure c > b */
offset = constant - WT(y[structure + b]);
c_start = MAX(y[offset] + 1, b + 1);
c_end = y[++offset];
/* where possible, avoid redoing those jacobis used to
fill in tails on (c, (b, a)) */
if (!metabelian) {
p1 = y[p_pcomm + b];
if (y[p1 + a] > 0)
c_end = MIN(c_end, y[p1 + a]);
}
for (c = c_start; c <= c_end; ++c) {
can_filter = FALSE;
if (filter) {
if (definition[c][0] == FALSE) {
lookup_structure(c, definition[c], pcp);
definition[c][0] = TRUE;
}
weight_vector = add_weights(
definition[a], definition[b], y[pcp->clend + 1]);
weight_vector = add_weights(
weight_vector, definition[c], y[pcp->clend + 1]);
for (l = 1; l <= frattini_rank && !can_filter; ++l)
can_filter = (weight_vector[l] > y[moccur + l]);
}
if (can_filter)
++filtered;
compute = (!metabelian ||
(metabelian && (PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0 ||
PART2(y[structure + c]) == 0 ||
PART3(y[structure + c]) == 0)));
/* only evaluate if we must */
if (compute && can_filter == FALSE) {
++processed;
jacobi(c, b, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
}
if (filter) {
printf(
"Number evaluated = %d, Number filtered = %d\n", processed, filtered);
free_matrix(definition, pcp->lastg, 0);
}
}
#endif
anupq-3.3.0/src/compact.c 000644 000766 000024 00000002670 14355420571 015524 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A compact.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* compact the group tables from pcp->gspace onwards */
void compact(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int p1;
register int new_address;
register int bound;
new_address = pcp->gspace - 1;
i = pcp->gspace;
#ifndef DEBUG
if (pcp->fullop || pcp->diagn)
#endif
text(2, pcp->lused, pcp->structure, 0, 0);
while (i < pcp->lused) {
/* the next block is currently allocated */
if (y[i] > 0) {
p1 = y[i];
++new_address;
y[p1] = -new_address;
y[new_address] = y[i];
bound = y[i + 1] + 1;
for (j = 1; j <= bound; ++j)
y[++new_address] = y[++i];
++i;
} else if (y[i] == 0)
/* this block is currently deallocated */
i += y[i + 1] + 2;
else
/* this block consists only of the header block of length 1 */
++i;
}
pcp->lused = new_address;
#ifndef DEBUG
if (pcp->fullop || pcp->diagn)
#endif
PRINT("After compaction Lused = %d\n", pcp->lused);
return;
}
anupq-3.3.0/src/print_presentation.c 000644 000766 000024 00000010141 14355420571 020015 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_presentation.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* print relationship between group defining generators and
consistent power-commutator presentation generators */
void print_map(struct pcp_vars *pcp)
{
register int *y = y_address;
int ndgen = pcp->ndgen;
int dgen = pcp->dgen;
int p2;
int i;
#if defined(GROUP)
printf("\nRelationship between group defining generators and ");
printf("consistent\npower-commutator presentation generators:\n");
#endif
for (i = 1; i <= ndgen; i++) {
p2 = y[dgen + i];
printf("%d", i);
printf(" ");
printf(" =");
print_word(p2, pcp);
p2 = y[dgen - i];
if (p2 <= 0) {
printf("%d", i);
printf("^-1 =");
print_word(p2, pcp);
}
}
}
/* print the pcp presentation of the group; if full output, print
non-trivial power and commutator relations; if diagnostic output,
also print relationship and structure information */
void print_presentation(Logical full, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int k;
register int l;
register int length;
register int relp = pcp->relp;
register int ndrel = pcp->ndrel;
register int gen, pointer;
Logical commutator_relation;
char *s;
#if defined(GROUP)
printf("\nGroup: %s to lower exponent-%d central class %d has order %d^%d\n",
pcp->ident,
pcp->p,
pcp->cc,
pcp->p,
pcp->lastg);
#endif
if (!full)
return;
if (pcp->diagn) {
/* print out the defining relations of the group */
#if defined(GROUP)
s = "Group";
#endif
if (pcp->ndrel != 0)
printf("\n%s defining relations:\n", s);
for (k = 1; k <= ndrel; ++k) {
for (l = 1; l <= 2; ++l) {
i = (k - 1) * 2 + l;
pointer = y[relp + i];
commutator_relation = (y[pointer] < 0);
length = abs(y[pointer]);
if (length == 0)
printf("0");
else
printf("%d", y[pointer + 1]);
if (commutator_relation)
printf(" [");
for (i = 2; i <= length; ++i) {
gen = y[pointer + i];
printf(" %d", gen);
}
if (commutator_relation)
printf(" ]");
printf("\n");
}
printf("\n");
}
/* print map from defining generators to pcp generators */
print_map(pcp);
#if defined(GROUP)
printf("\nValues of power-commutator presentation generators\n");
#endif
print_structure(1, pcp->lastg, pcp);
}
if (pcp->cc != 1)
print_pcp_relations(pcp);
}
/* print out non-trivial pcp relations */
void print_pcp_relations(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int k;
register int l;
register int p1;
register int p2;
register int weight;
#include "access.h"
k = y[pcp->clend + pcp->cc - 1];
/*
int start, finish;
printf ("input start, finish: ");
scanf ("%d %d", &start, &finish);
*/
#if defined(GROUP)
printf("\nNon-trivial powers:\n");
/*
for (i = start; i <= finish; i++) {
*/
for (i = 1; i <= k; i++) {
p2 = y[pcp->ppower + i];
if (p2 != 0) {
printf(" .%d^%d =", i, pcp->p);
print_word(p2, pcp);
}
}
printf("\nNon-trivial commutators:\n");
#endif
/*
for (i = start; i <= finish; i++) {
*/
for (i = 2; i <= k; i++) {
weight = WT(y[pcp->structure + i]);
p1 = y[pcp->ppcomm + i];
l = MIN(i - 1, y[pcp->clend + pcp->cc - weight]);
for (j = 1; j <= l; j++) {
p2 = y[p1 + j];
if (p2 != 0) {
printf("[ .%d, .%d ] =", i, j);
print_word(p2, pcp);
}
}
}
}
anupq-3.3.0/src/restore_group.c 000644 000766 000024 00000002033 14355420571 016766 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A restore_group.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
/* restore the pcp description of group group_number
and its pga structure from input_file */
int ***restore_group(Logical rewind_flag,
FILE *input_file,
int group_number,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int ***auts = 0;
while (group_number > 0) {
restore_pcp(input_file, pcp);
auts = restore_pga(input_file, pga, pcp);
--group_number;
if (group_number > 0)
free_array(auts, pga->m, pcp->lastg, 1);
}
if (rewind_flag)
RESET(input_file);
return auts;
}
anupq-3.3.0/src/int_power.c 000644 000766 000024 00000001054 14355420571 016077 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A int_power.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
/* return the power, x^n */
int int_power(int x, int n)
{
register int result = 1;
while (n != 0) {
if (n % 2 == 1)
result *= x;
if (n > 1)
x *= x;
n = n >> 1;
}
return result;
}
anupq-3.3.0/src/tails.c 000644 000766 000024 00000026111 14355420571 015206 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A tails.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#define BOTH_TAILS 0
#define NEW_TAILS 1
#define COMPUTE_TAILS 2
/* introduce tails for the class work_class part of class pcp->cc */
/* end_weight is never used, and always equal to 1.
We hijack it as follows: if end_weight<0, then we actually want to compute
the lower central series up to class -end_weight, by adding p-powers but not
commutators as tails. */
void tails(int type,
int work_class,
int start_weight,
int end_weight,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int structure = pcp->structure;
register int class_end = pcp->clend;
register int lastg = pcp->lastg;
register int current_class = pcp->cc;
register int nmr_at_start = pcp->lastg;
register int final_class = work_class - 1;
register int start = y[class_end + final_class - 1] + 1;
register int end = y[class_end + final_class];
register int f, ff;
register int s, bound;
register int value;
register int p1;
Logical equal = FALSE;
#include "access.h"
/* recover desired l.c.s. class */
int lcs_class;
int lcs_degree[end+1];
if (end_weight < 0) {
int gen;
lcs_class = -end_weight;
end_weight = 1;
/* compute lcs degrees of generators */
for (gen = 1; gen <= end; gen++) {
int pointer = y[pcp->structure+gen];
if (pointer <= 0)
lcs_degree[gen] = 0; /* pointer<=0 means a redundant generator. Ignore */
else {
int u = PART2(pointer), v = PART3(pointer);
if (u == 0) /* generator */
lcs_degree[gen] = 1;
else if (v == 0) /* power relation */
lcs_degree[gen] = lcs_degree[u];
else /* commutator relation */
lcs_degree[gen] = lcs_degree[u] + lcs_degree[v];
}
}
} else
lcs_class = 0;
if (pcp->complete != 0 && !pcp->multiplicator)
return;
if (type == NEW_TAILS || type == BOTH_TAILS) {
/* first, introduce left-normed commutators of class
work_class as generators or pseudo-generators */
for (f = start; f <= end; f++) {
/* we're about to add a tail for (f,s) with s a generator. We
only accept f less than the desired class */
if (lcs_class && lcs_degree[f]>=lcs_class) continue;
bound = MIN(f - 1, y[class_end + 1]);
if (bound > 0) {
p1 = y[pcp->ppcomm + f];
for (s = 1; s <= bound; s++) {
value = y[p1 + s];
if (value == 0)
/* we are inserting generators or pseudo-generators with
old entry trivial; if we are inserting pseudo-generators
we do not insert one if (f, s) is defining */
create_tail(p1 + s, f, s, pcp);
else if (value < 0)
/* old entry was non-trivial so we deallocate it
and insert pseudo-generator */
extend_tail(p1 + s, f, s, pcp);
if (pcp->overflow)
return;
lastg = pcp->lastg;
}
}
}
#if defined(GROUP)
#ifndef EXPONENT_P
/* now, introduce pth powers of final_class generators which
are pth powers or correspond to defining generators */
if (final_class == 1)
ff = 1;
else {
ff = end;
while (PART3(y[structure + ff]) == 0 && --ff >= start)
;
if (ff != end)
++ff;
else
equal = TRUE;
}
if (!equal) {
for (f = ff; f <= end; f++) {
/* f is a pth power or corresponds to a defining generator;
if we are inserting pseudo-generators, we do not insert
one if f^p is defining */
value = y[pcp->ppower + f];
if (value == 0)
/* we are inserting generators or pseudo-generators
with old entry trivial */
create_tail(pcp->ppower + f, f, 0, pcp);
else if (value < 0)
/* old entry was non-trivial so we deallocate it
and insert pseudo-generator */
extend_tail(pcp->ppower + f, f, 0, pcp);
if (pcp->overflow)
return;
lastg = pcp->lastg;
}
}
#endif
#endif
}
if (type == COMPUTE_TAILS || type == BOTH_TAILS) {
/* calculate pth powers of class final_class generators which
are commutators by doing the appropriate collections */
if (final_class != 1)
calculate_tails(final_class, pcp);
if (pcp->overflow)
return;
}
pcp->submlg = pcp->subgrp - lastg;
if (work_class == current_class) {
/* note first pseudo-generator and number of actual generators */
pcp->first_pseudo = lastg + 1;
pcp->newgen = pcp->first_pseudo - pcp->ccbeg;
}
/* report on the number of new generators added */
if ((pcp->fullop || pcp->diagn) && type != COMPUTE_TAILS)
printf("The number of new generators introduced for weight %d is %d\n",
work_class,
pcp->lastg - nmr_at_start);
}
#if !defined(TAILS_FILTER)
/* calculate pth powers of class final_class generators which
are commutators by doing the appropriate collections */
void calculate_tails(int final_class,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int structure = pcp->structure;
register int class_end = pcp->clend;
register int f;
register int start = y[class_end + final_class - 1] + 1;
register int end = y[class_end + final_class];
register int s, s1, s2;
register int start_class = 1;
register int a, b;
register int value;
register int p1;
#include "access.h"
#if defined(GROUP)
if (pcp->fullop || pcp->diagn)
printf("Processing tails for generators of weight %d and %d\n",
final_class,
1);
for (f = start; f <= end; f++) {
#ifdef DEBUG
printf("Processing generator f = %d, Lused = %d\n", f, pcp->lused);
#endif
value = y[structure + f];
a = PART3(value);
if (a == 0)
break;
b = PART2(value);
/* f is the commutator (b, a);
calculate the class current_class part of f^p by collecting
(b^p) a = b^(p-1) (ba); by formal collection, we see that
the class current_class part of f^p is obtained by subtracting
(modulo p) the rhs of the above equation from the lhs */
jacobi(b, b, a, pcp->ppower + f, pcp);
if (pcp->overflow)
return;
}
#endif
/* calculate the non left-normed commutators of class work_class
in the order (work_class - 2, 2), (work_class - 3, 3) .. */
class_end = pcp->clend;
while (--final_class >= ++start_class) {
if (pcp->fullop || pcp->diagn)
printf("Processing tails for generators of weight %d and %d\n",
final_class,
start_class);
start = y[class_end + final_class - 1] + 1;
end = y[class_end + final_class];
s1 = y[class_end + start_class - 1] + 1;
for (f = start; f <= end; f++) {
#ifdef DEBUG
printf("Processing generator f = %d, Lused = %d\n", f, pcp->lused);
#endif
s2 = MIN(f - 1, y[class_end + start_class]);
if (s2 - s1 < 0)
continue;
p1 = y[pcp->ppcomm + f];
for (s = s1; s <= s2; s++) {
/* insert the class current_class part on (f, s) */
value = y[structure + s];
b = PART2(value);
a = PART3(value);
if (a == 0)
a = b;
else if (pcp->metabelian && PART3(y[structure + f]) != 0)
continue;
/* s = (b, a); calculate the class current_class part
of (f, (b, a)) by collecting (fb) a = f (ba) or the
class current_class part of (f, (b^p)) by collecting
(fb) b^(p - 1) = f (b^p);
since we require only the class current_class part -
the rest has been computed earlier - we calculate it
by subtracting (modulo p) the rhs of the above equation
from the lhs (proof by formal collection) */
jacobi(f, b, a, p1 + s, pcp);
if (pcp->overflow)
return;
}
}
}
}
#endif
/* insert a new generator or pseudo-generator */
void create_tail(int address, int f, int s, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int bound;
register int lastg;
register int lused = pcp->lused;
register int structure = pcp->structure;
register int current_class = pcp->cc;
register int pointer;
#include "access.h"
pcp->lastg++;
lastg = pcp->lastg;
y[address] = lastg;
y[structure + lastg] = PACK3(0, f, s) + INSWT(current_class);
if (pcp->nocset == 0)
return;
/* work out the number of occurrences of each defining generator
in the new generator, storing this in a table above
y[lused + current_class] -- the entry y[lused + current_class + gen]
is the number of occurrences of defining generator gen */
if (is_space_exhausted(current_class + pcp->ndgen, pcp))
return;
lused = pcp->lused;
pointer = find_definition(lastg, lused, current_class, pcp);
for (i = 1, bound = pcp->ndgen; i <= bound; i++)
y[lused + current_class + i] = 0;
for (i = pointer, bound = lused + current_class; i <= bound; i++)
++y[lused + current_class + y[i]];
/* see that the number of occurrences of a defining generator
passes some test that has been set up in option */
if (is_genlim_exceeded(pcp))
return;
/* the test wasn't passed, so we discard the new generator */
pcp->lastg--;
y[address] = 0;
}
/* insert a new pseudo-generator, where the old
entry was non-trivial and must be deallocated */
void extend_tail(int address, int f, int s, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int start;
register int length;
register int lastg;
register int lused;
register int current_class = pcp->cc;
#include "access.h"
if (is_space_exhausted(pcp->ccbeg + 1, pcp))
return;
lused = pcp->lused;
start = -y[address];
length = y[start + 1];
/* set up new header block with length increased by 1 */
y[lused + 1] = y[start];
y[lused + 2] = length + 1;
/* set up pointer to new block */
y[address] = -(lused + 1);
/* deallocate old block by setting its pointer to 0 */
y[start] = 0;
/* copy old entry across */
for (i = 1; i <= length; i++)
y[lused + 2 + i] = y[start + i + 1];
pcp->lused += length + 3;
lused = pcp->lused;
/* add pseudo-generator */
pcp->lastg++;
lastg = pcp->lastg;
y[lused] = PACK2(1, lastg);
y[pcp->structure + lastg] = PACK3(0, f, s) + INSWT(current_class);
}
anupq-3.3.0/src/read_auts.c 000644 000766 000024 00000004264 14355420571 016046 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "standard.h"
/* for each automorphism in turn, read its actions on each
of the pcp generators of the Frattini quotient */
int ***read_auts(int option,
int *nmr_of_auts,
int *nmr_of_exponents,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, k;
int ***auts;
int nmr_of_generators;
read_value(TRUE, "Input the number of automorphisms: ", nmr_of_auts, 0);
if (*nmr_of_auts == 0)
return NULL;
/* allocate sufficient space to store the automorphisms --
the indices of the array have been adjusted to start at 1,
rather than 0, because it simplifies the automorphism handling */
if (option == PGA || option == STANDARDISE)
*nmr_of_exponents = y[pcp->clend + pcp->cc - 1];
else {
if (option == PQ && pcp->cc > 1)
read_value(TRUE,
"Input the number of exponents: ",
nmr_of_exponents,
y[pcp->clend + 1]);
else
*nmr_of_exponents = y[pcp->clend + 1];
}
nmr_of_generators = y[pcp->clend + 1];
if (option == PGA || option == STANDARDISE)
auts = allocate_array(*nmr_of_auts, pcp->lastg, pcp->lastg, TRUE);
else
auts = allocate_array(
*nmr_of_auts, nmr_of_generators, *nmr_of_exponents, TRUE);
for (i = 1; i <= *nmr_of_auts; ++i) {
printf("Now enter the data for automorphism %d\n", i);
for (j = 1; j <= nmr_of_generators; ++j) {
printf("Input %d exponents for image of pcp generator %d: ",
*nmr_of_exponents,
j);
for (k = 1; k < *nmr_of_exponents; ++k)
read_value(FALSE, "", &auts[i][j][k], 0);
read_value(TRUE, "", &auts[i][j][k], 0);
}
}
return auts;
}
anupq-3.3.0/src/echelon.c 000644 000766 000024 00000027052 14355420571 015514 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A echelon.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#define CAREFUL
/* echelonise the relation stored in exponent form in two parts;
left-hand side is in y[lused + 1] to y[lused + lastg];
right-hand side is in y[lused + lastg + 1] to y[lused + 2 * lastg];
the relation should be homogeneous of class pcp->cc;
if the result is nontrivial, set it up as a new relation pointed
to by the appropriate y[structure + ..]; then remove all occurrences
of newly found redundant generator from the other equations */
int echelon(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int k;
register int p1;
register int exp;
register int redgen = 0;
register int count = 0;
register int factor;
register int bound;
register int offset;
register int temp;
register int value;
register int free;
register Logical trivial;
register Logical first;
register int p = pcp->p;
register int pm1 = pcp->pm1;
#include "access.h"
pcp->redgen = 0;
pcp->eliminate_flag = FALSE;
/* check that the relation is homogeneous of class pcp->cc */
if (pcp->cc != 1) {
offset = pcp->lused - 1;
temp = pcp->lastg;
for (i = 2, bound = pcp->ccbeg; i <= bound; i++) {
if (y[offset + i] != y[offset + temp + i]) {
text(6, pcp->cc, 0, 0, 0);
pcp->eliminate_flag = TRUE;
return -1;
}
}
}
/* compute quotient of the relations and store quotient as an exponent
vector in y[pcp->lused + pcp->ccbeg] to y[pcp->lused + pcp->lastg] */
k = 0;
offset = pcp->lused;
for (i = pcp->ccbeg, bound = pcp->lastg; i <= bound; i++) {
y[offset + i] -= y[offset + bound + i];
if ((j = y[offset + i])) {
if (j < 0)
y[offset + i] += p;
k = i;
}
}
if (k <= 0)
return -1;
/* print out the quotient of the relations */
if (pcp->diagn) {
/* a call to compact is not permitted at this point */
if (pcp->lused + 4 * pcp->lastg + 2 < pcp->structure) {
/* first copy relevant entries to new position in y */
free = pcp->lused + 2 * pcp->lastg + 1;
for (i = 1; i < pcp->ccbeg; ++i)
y[free + i] = 0;
for (i = pcp->ccbeg; i <= pcp->lastg; ++i)
y[free + i] = y[pcp->lused + i];
setup_word_to_print(
"quotient relation", free, free + pcp->lastg + 1, pcp);
}
}
first = TRUE;
while (first || --k >= pcp->ccbeg) {
/* does generator k occur in the unechelonised relation? */
if (!first && y[pcp->lused + k] <= 0)
continue;
/* yes */
first = FALSE;
exp = y[pcp->lused + k];
if ((i = y[pcp->structure + k]) <= 0) {
if (i < 0) {
/* generator k was previously redundant, so eliminate it */
p1 = -y[pcp->structure + k];
count = y[p1 + 1];
offset = pcp->lused;
for (i = 1; i <= count; i++) {
value = y[p1 + i + 1];
j = FIELD2(value);
/* integer overflow can occur here; see comments in collect */
y[offset + j] = (y[offset + j] + exp * FIELD1(value)) % p;
}
}
y[pcp->lused + k] = 0;
} else {
/* generator k was previously irredundant; have we already
found a generator to eliminate using this relation? */
if (redgen > 0) {
/* yes, so multiply this term by the appropriate factor
and note that the value of redgen is not trivial */
trivial = FALSE;
/* integer overflow can occur here; see comments in collect */
y[pcp->lused + k] = (y[pcp->lused + k] * factor) % p;
} else {
/* no, we will eliminate k using this relation */
redgen = k;
trivial = TRUE;
/* we want to compute the value of k so we will multiply the
rest of the relation by the appropriate factor;
integer overflow can occur here; see comments in collect */
factor = pm1 * invert_modp(exp, p);
/* we carry out this mod computation to reduce possibility
of integer overflow */
#if defined(CAREFUL)
factor = factor % p;
#endif
y[pcp->lused + k] = 0;
}
}
}
if (redgen <= 0)
return -1;
else
pcp->redgen = redgen;
/* the relation is nontrivial; redgen is either trivial or redundant */
if (trivial) {
/* mark redgen as trivial */
y[pcp->structure + redgen] = 0;
if (pcp->fullop)
text(3, redgen, 0, 0, 0);
complete_echelon(1, redgen, pcp);
} else {
/* redgen has value in exponent form in y[pcp->lused + pcp->ccbeg]
to y[pcp->lused + redgen(-1)] */
count = 0;
offset = pcp->lused;
for (i = pcp->ccbeg; i <= redgen; i++)
if (y[offset + i] > 0) {
count++;
y[offset + count] = PACK2(y[offset + i], i);
}
offset = pcp->lused + count + 1;
for (i = 1; i <= count; i++)
y[offset + 2 - i] = y[offset - i];
/* set up the relation for redgen */
y[pcp->lused + 1] = pcp->structure + redgen;
y[pcp->lused + 2] = count;
y[pcp->structure + redgen] = -(pcp->lused + 1);
pcp->lused += count + 2;
if (pcp->fullop)
text(4, redgen, 0, 0, 0);
complete_echelon(0, redgen, pcp);
}
pcp->eliminate_flag = TRUE;
if (redgen < pcp->first_pseudo)
pcp->newgen--;
if (pcp->newgen != 0 || pcp->multiplicator)
return count;
/* group is completed because all actual generators are redundant,
so it is not necessary to continue calculation of this class */
pcp->complete = 1;
last_class(pcp);
if (pcp->fullop || pcp->diagn)
text(5, pcp->cc, p, pcp->lastg, 0);
return -1;
}
/* complete echelonisation of this relation by removing all occurrences
of redgen from the other relations; if the generator redgen is
trivial, then the flag trivial is TRUE */
void complete_echelon(Logical trivial, int redgen, struct pcp_vars *pcp)
{
register int *y = y_address;
int k;
int i, j, jj, exp;
int p1;
int factor;
int count, count1, count2;
int predg;
int offset;
int temp;
int value;
int bound;
int l;
int p = pcp->p;
#include "access.h"
if (trivial) {
/* delete all occurrences of redgen from other equations */
for (k = redgen + 1, bound = pcp->lastg; k <= bound; k++) {
if (y[pcp->structure + k] >= 0)
continue;
p1 = -y[pcp->structure + k];
count = y[p1 + 1];
for (j = 1; j <= count; j++)
if ((temp = FIELD2(y[p1 + j + 1])) >= redgen)
break;
if (j > count || temp > redgen)
continue;
/* redgen occurs in this relation, so eliminate it;
is redgen in the last word? */
count1 = count - 1;
if (j < count) {
/* no, so pack up relation */
for (jj = j; jj <= count1; jj++)
y[p1 + jj + 1] = y[p1 + jj + 2];
}
if (j < count || (j >= count && count1 > 0)) {
/* deallocate last word and fix count in header block */
y[p1 + count + 1] = -1;
y[p1 + 1] = count1;
continue;
}
/* old relation is to be eliminated (it was 1 word long) */
y[p1] = 0;
y[pcp->structure + k] = 0;
}
} else {
p1 = -y[pcp->structure + redgen];
count = y[p1 + 1];
/* eliminate all occurrences of redgen from the other relations
by substituting its value */
for (k = redgen + 1, bound = pcp->lastg; k <= bound; k++) {
if (y[pcp->structure + k] >= 0)
continue;
if (is_space_exhausted(pcp->lastg + 1, pcp))
return;
p1 = -y[pcp->structure + k];
count1 = y[p1 + 1];
for (j = 1; j <= count1; j++)
if ((temp = FIELD2(y[p1 + j + 1])) >= redgen)
break;
if (j > count1 || temp > redgen)
continue;
/* redgen occurs in this relation, so eliminate it */
factor = FIELD1(y[p1 + j + 1]);
predg = -y[pcp->structure + redgen];
/* merge old relation with factor * (new relation), deleting redgen;
old relation is longer than new relation since it contains redgen */
/* commence merge */
count2 = 0;
offset = pcp->lused + 2;
for (i = 1, l = 1;;) {
temp = FIELD2(y[p1 + i + 1]) - FIELD2(y[predg + l + 1]);
if (temp < 0) {
count2++;
y[offset + count2] = y[p1 + i + 1];
i++;
} else if (temp > 0) {
count2++;
/* integer overflow can occur here; see comments in collect */
value = y[predg + l + 1];
y[offset + count2] =
PACK2((factor * FIELD1(value)) % p, FIELD2(value));
if (++l > count)
break;
} else {
/* integer overflow can occur here; see comments in collect */
value = y[p1 + i + 1];
exp = (FIELD1(value) + factor * FIELD1(y[predg + l + 1])) % p;
if (exp > 0) {
count2++;
y[offset + count2] = PACK2(exp, FIELD2(value));
}
i++;
if (++l > count)
break;
}
}
/* all of the value of redgen has been merged in;
copy in the remainder of the old relation with redgen deleted */
offset = pcp->lused + 2;
for (jj = i; jj <= count1; jj++)
if (jj != j) {
count2++;
y[offset + count2] = y[p1 + jj + 1];
}
/* new relation is now in y[lused + 2 + 1] to y[lused + 2 + count2] */
/* new relation indicates generator k is trivial; deallocate old */
if (count2 <= 0) {
y[p1] = 0;
y[pcp->structure + k] = 0;
continue;
}
/* new relation is nontrivial */
if (count2 < count1) {
/* new relation is shorter than old; copy in new relation */
for (i = 1; i <= count2; i++)
y[p1 + i + 1] = y[pcp->lused + 2 + i];
/* reset count field for new relation */
y[p1 + 1] = count2;
/* deallocate rest of old relation */
if (count1 == count2 + 1)
y[p1 + count2 + 2] = -1;
else {
y[p1 + count2 + 2] = 0;
y[p1 + count2 + 3] = count1 - count2 - 2;
}
} else if (count1 == count2) {
/* new relation has same length as old; overwrite old relation */
offset = pcp->lused + 2;
for (i = 1; i <= count2; i++)
y[p1 + i + 1] = y[offset + i];
} else {
/* new relation is longer than old; deallocate old relation */
y[p1] = 0;
/* set up pointer to new relation and header block */
y[pcp->structure + k] = -(pcp->lused + 1);
y[pcp->lused + 1] = pcp->structure + k;
y[pcp->lused + 2] = count2;
pcp->lused += count2 + 2;
}
}
}
}
anupq-3.3.0/src/permute_elements.c 000644 000766 000024 00000013510 14355420571 017446 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A permute_elements.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#undef DEBUG
#include "pga_vars.h"
#include "pq_functions.h"
/* compute automorphism classes of elements of a vector space;
procedure requests as input rank and prime and those matrices
which act on the space;
it also permits the computation of the permutations induced
by multiplying each element of the vector space by a supplied
basis element; the basis element are numbered 1 ..
elements are generated in sequence and their images
computed by matrix multiplication; orbits under the
action of these permutations are then computed and
orbit representatives listed;
given the label of an orbit representative, its p-adic
expansion corresponds to the element */
void expand_padic(int x, int k, int p, int *expand)
{
register int alpha;
register int val;
while (x > 0 && k >= 0) {
val = int_power(p, k);
if (val <= x) {
/* find largest multiple of p^k < x */
alpha = p - 1;
while (alpha * val > x)
--alpha;
expand[k] = alpha;
x -= alpha * val;
}
--k;
}
}
void padic(int p, int rank, struct pga_vars *pga)
{
int number;
int *expand;
int bound = rank;
int i, r;
expand = allocate_vector(rank + 1, 0, FALSE);
for (r = 1; r <= pga->nmr_orbits; ++r) {
number = pga->rep[r];
for (i = 0; i <= rank; ++i)
expand[i] = 0;
bound = rank;
while (bound > 0 && int_power(p, bound) > number)
--bound;
++bound;
expand_padic(number, bound, p, expand);
printf("The element with label %5d is ", number);
print_array(expand, 0, rank);
}
}
void permute_elements(void)
{
int index;
int **position;
int rank;
int p;
int i;
int label;
int map;
int **A;
int **B;
int subgp = 0;
int **permutation;
struct pga_vars pga;
int *length;
int alpha;
int m;
int q, x;
int *orbit;
char *schreier;
int *backptr;
int nmr_maps;
int Degree;
read_value(TRUE, "Input rank of vector space: ", &rank, 1);
read_value(TRUE, "Input prime: ", &p, 2);
read_value(TRUE, "Input number of automorphism matrices: ", &m, 0);
read_value(TRUE, "Input number of multiplication maps: ", &nmr_maps, 0);
Degree = int_power(p, rank);
position = allocate_matrix(1, rank + 1, 0, 0);
permutation = allocate_matrix(nmr_maps + m, Degree, 1, 0);
q = rank;
A = allocate_matrix(q, rank + 1, 0, 0);
/* first process automorphisms */
for (alpha = 1; alpha <= m; ++alpha) {
printf("Input the matrix for automorphism %d\n", alpha);
read_matrix(A, q, q);
for (x = 0; x <= rank; ++x)
position[0][x] = 0;
subgp = 0;
do {
index = 0;
++position[0][0];
while (index < rank && position[0][index] == p) {
position[0][index] = 0;
++index;
++position[0][index];
}
#ifdef DEBUG
printf("\n");
for (i = 0; i < rank; ++i)
printf("%d ", position[0][i]);
#endif
label = 0;
for (i = 0; i < rank; ++i)
label += (position[0][i] * int_power(p, i));
#ifdef DEBUG
printf("label is %d\n", label);
#endif
/* now multiply mod p */
B = multiply_matrix(position, 1, q, A, q, p);
#ifdef DEBUG
print_matrix(B, 1, q);
#endif
label = 0;
for (i = 0; i < rank; ++i)
label += (B[0][i] * int_power(p, i));
#ifdef DEBUG
printf("label is %d\n", label);
if (subgp % 10000 == 0)
printf("Completed %d subgroups\n", subgp);
#endif
if (label == 0)
label = Degree;
permutation[alpha][++subgp] = label;
free_matrix(B, 1, 0);
} while (index < rank);
#ifdef DEBUG
print_array(permutation[alpha], 1, subgp + 1);
#endif
}
pga.Degree = Degree;
/* now process multiplication maps */
for (alpha = 1; alpha <= nmr_maps; ++alpha) {
subgp = 0;
for (x = 0; x <= rank; ++x)
position[0][x] = 0;
read_value(TRUE, "Input basis element to multiply by: ", &map, 1);
--map;
do {
index = 0;
++position[0][0];
while (index < rank && position[0][index] == p) {
position[0][index] = 0;
++index;
++position[0][index];
}
#if DEBUG
printf("\n");
for (i = 0; i < rank; ++i)
printf("%d ", position[0][i]);
#endif
label = 0;
for (i = 0; i < rank; ++i)
label += (position[0][i] * int_power(p, i));
#if DEBUG
printf("label is %d\n", label);
#endif
B = allocate_matrix(1, rank + 1, 0, 0);
for (i = 0; i < rank; ++i)
B[0][i] = position[0][i];
B[0][map] = (B[0][map] + 1) % p;
#if DEBUG
print_matrix(B, 1, q);
#endif
label = 0;
for (i = 0; i < rank; ++i)
label += (B[0][i] * int_power(p, i));
#if DEBUG
printf("label is %d\n", label);
#endif
if (label == 0)
label = pga.Degree;
permutation[m + alpha][++subgp] = label;
free_matrix(B, 1, 0);
} while (index < rank);
#if DEBUG
print_array(permutation[m + alpha], 1, subgp + 1);
#endif
}
pga.Degree = subgp;
pga.m = m + nmr_maps;
pga.nmr_of_perms = m + nmr_maps;
pga.soluble = FALSE;
pga.print_orbits = FALSE;
insoluble_compute_orbits(&orbit, &backptr, &schreier, permutation, &pga);
length = find_orbit_reps(orbit, orbit, &pga);
orbit_summary(length, &pga);
padic(p, rank, &pga);
}
anupq-3.3.0/src/class1_eliminate.c 000644 000766 000024 00000005606 14355420571 017315 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A class1_eliminate.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* eliminate all redundant generators to construct the consistent
power commutator presentation for the class 1 quotient;
this procedure is called only for class 1 in order to
eliminate redundancies brought about by collecting and
then echelonising words against an existing consistent
class 1 presentation;
in all other circumstances, the usual eliminate procedure
is called */
void class1_eliminate(struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
register int j;
register int k;
register int p1;
register int ba;
register int lg;
register int bound;
register int structure = pcp->structure;
register int current_class = pcp->cc;
register int lused = pcp->lused;
register int dgen = pcp->dgen;
register int ndgen = pcp->ndgen;
/* calculate new values for irredundant generators and set them up
in a renumbering table of length pcp->lastg - pcp->ccbeg + 1
which looks to compact like a normal exponent-generator string
pointed to by y[dgen] */
structure = pcp->structure;
lused = pcp->lused;
y[lused + 1] = dgen;
y[dgen] = -(lused + 1);
y[lused + 2] = pcp->lastg - pcp->ccbeg + 1;
ba = lused + 3 - pcp->ccbeg;
pcp->lused += pcp->lastg - pcp->ccbeg + 3;
lused = pcp->lused;
lg = pcp->ccbeg - 1;
for (i = pcp->ccbeg, bound = pcp->lastg; i <= bound; i++) {
y[ba + i] = 0;
if (y[structure + i] > 0)
y[ba + i] = ++lg;
}
/* update the redundant defining generators and inverses */
for (i = 1; i <= ndgen; i++) {
update(dgen + i, pcp);
if (pcp->overflow)
return;
update(dgen - i, pcp);
if (pcp->overflow)
return;
}
/* finally update and move structure information */
pcp->ppcomm = pcp->structure;
pcp->ppower = pcp->ppcomm;
k = pcp->ppower;
structure = pcp->structure;
for (i = pcp->lastg; i >= pcp->ccbeg; i--) {
if ((j = y[structure + i]) > 0) {
y[k] = j;
k--;
} else if (j < 0) {
/* deallocate equation for redundant generator i */
p1 = -j;
y[p1] = 0;
}
}
for (; i > 0; i--)
y[k--] = y[structure + i];
if (pcp->subgrp != structure)
delete_tables(0, pcp);
pcp->structure = k;
structure = pcp->structure;
pcp->words = k;
pcp->subgrp = k;
pcp->submlg = pcp->subgrp - lg;
pcp->lastg = lg;
y[pcp->clend + current_class] = pcp->lastg;
/* deallocate the renumbering table */
p1 = -y[dgen];
y[p1] = 0;
return;
}
anupq-3.3.0/src/get_definition_sets.c 000644 000766 000024 00000004627 14355420571 020127 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A get_definition_sets.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
#include "pq_functions.h"
int *subset; /* temporary storage for definition set */
/* a definition set is a subset of cardinality pga->s
of the relative nucleus, a set of cardinality pga->r;
here, we find all subsets of cardinality pga->s which
contain the elements 0 .. pga->fixed - 1;
set up all of the definition sets as a array, list */
void get_definition_sets(struct pga_vars *pga)
{
register int i;
register int bound;
pga->nmr_def_sets = 0;
subset = allocate_vector(pga->s, 0, 0);
/* initialise each definition set to contain 0 .. pga->fixed - 1 */
for (i = 0; i < pga->fixed; ++i)
subset[i] = i;
if (pga->fixed == pga->s)
add_to_list(subset, pga);
else {
bound = MIN(pga->r - (pga->s - pga->fixed), pga->r);
for (i = pga->fixed; i <= bound; ++i)
visit(i, pga->s - pga->fixed - 1, pga);
}
free_vector(subset, 0);
}
/* store the definition set as a bit string; compute the number
of available positions determined by this definition set */
void add_to_list(int *subset, struct pga_vars *pga)
{
register int i;
int bit_string = 0; /* to store subset */
/* convert each subset to bit string */
for (i = 0; i < pga->s; ++i)
bit_string |= 1 << subset[i];
pga->list[pga->nmr_def_sets] = bit_string;
/* compute the number of available positions */
pga->available[pga->nmr_def_sets] = available_positions(subset, pga);
++pga->nmr_def_sets;
}
/* visit node k; d remaining elements to be found to make up
subset of cardinality pga->s */
void visit(int k, int d, struct pga_vars *pga)
{
register int i;
subset[pga->s - d - 1] = k;
if (d == 0)
add_to_list(subset, pga);
for (i = k + 1; i < pga->r && d > 0; ++i)
visit(i, d - 1, pga);
}
/* find the number of available positions for definition set K */
int available_positions(int *K, struct pga_vars *pga)
{
register int l;
register int available = pga->q * pga->s - pga->s * (pga->s - 1) / 2;
for (l = 0; l < pga->s; ++l)
available -= (K[l] + 1);
return available;
}
anupq-3.3.0/src/extend_matrix.c 000644 000766 000024 00000001763 14355420571 016753 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A extend_matrix.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
int **
reallocate_matrix(int **a, int orig_n, int orig_m, int n, int m, Logical zero);
/* extend the space available for storage of automorphisms */
int **extend_matrix(int **current, struct pcp_vars *pcp)
{
register int *y = y_address;
int nmr_of_generators;
int **auts;
nmr_of_generators = y[pcp->clend + 1];
auts = reallocate_matrix(current,
nmr_of_generators,
nmr_of_generators,
pcp->lastg,
pcp->lastg,
TRUE);
return auts;
}
anupq-3.3.0/src/print_arrays.c 000644 000766 000024 00000001451 14355420571 016607 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A print_arrays.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
/* procedure to print out integer array */
void print_array(int *a, int first, int last)
{
register int i;
for (i = first; i < last; ++i) {
printf("%d ", a[i]);
if (i > first && (i - first) % 20 == 0)
printf("\n");
}
printf("\n");
}
/* procedure to print out character array */
void print_chars(char *a, int first, int last)
{
register int i;
for (i = first; i < last; ++i)
printf("%d ", a[i]);
printf("\n");
}
anupq-3.3.0/src/find_image.c 000644 000766 000024 00000002721 14355420571 016155 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A find_image.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* find the image of the allowable subgroup having supplied label under
the action of automorphism; compute and return its label */
int
find_image(int label, int **auts, struct pga_vars *pga, struct pcp_vars *pcp)
{
int index;
int **A;
int **Image, **Image_transpose;
int **S, **S_transpose;
int *subset;
int K;
subset = allocate_vector(pga->s, 0, 0);
A = allocate_matrix(pga->q, pga->q, 0, FALSE);
assemble_matrix(A, pga->q, auts, pcp);
S = label_to_subgroup(&index, &subset, label, pga);
S_transpose = transpose(S, pga->s, pga->q);
Image_transpose =
multiply_matrix(A, pga->q, pga->q, S_transpose, pga->s, pga->p);
Image = transpose(Image_transpose, pga->q, pga->s);
K = echelonise_matrix(Image, pga->s, pga->q, pga->p, subset, pga);
free_matrix(A, pga->q, 0);
free_matrix(S, pga->s, 0);
free_matrix(S_transpose, pga->q, 0);
free_matrix(Image_transpose, pga->q, 0);
label = subgroup_to_label(Image, K, subset, pga);
free_matrix(Image, pga->s, 0);
free_vector(subset, 0);
return label;
}
anupq-3.3.0/src/generator_definition.c 000644 000766 000024 00000002661 14355420571 020274 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A generator_definition.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pq_functions.h"
/* find the structure of a pcp generator, gen, recursively from struct,
storing the result in y[pcp->lused + k] to y[pcp->lused + pcp->cc];
room is needed to store a string of length pcp->cc */
void generator_definition(int gen, int *k, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j;
#include "access.h"
if (is_space_exhausted(pcp->cc, pcp))
return;
*k = pcp->cc + 1;
do {
i = PART2(y[pcp->structure + gen]);
j = PART3(y[pcp->structure + gen]);
if (j != 0) {
--(*k);
y[pcp->lused + *k] = j;
gen = i;
} else {
/* we have a power entry -- work out its structure recursively;
the structure (d^p)^j, where d is a defining generator, has
weight j + 1 and thus its structure is j + 1 copies of d */
j = 2;
while (i > pcp->ndgen) {
i = PART2(y[pcp->structure + i]);
++j;
}
for (; j > 0; --j, --(*k))
y[pcp->lused + *k] = i;
}
} while (i != 0);
}
anupq-3.3.0/src/write.c 000644 000766 000024 00000002762 14355420571 015232 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A write.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
/* write using fwrite pcp to file ofp */
void save_pcp(FILE *ofp, struct pcp_vars *pcp)
{
register int *y = y_address;
compact(pcp);
fwrite(pcp, sizeof(struct pcp_vars), 1, ofp);
fwrite(y, sizeof(int), pcp->lused + 1, ofp);
fwrite(y + pcp->subgrp, sizeof(int), pcp->backy - pcp->subgrp + 1, ofp);
}
/* save using fwrite a description of the pga structure of
the group and of its automorphisms to file ofp */
void save_pga(FILE *ofp,
int ***central,
int ***stabiliser,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int i, j;
#ifdef HAVE_GMP
mpz_out_str(ofp, 10, &pga->aut_order);
#endif
fwrite(pga, sizeof(struct pga_vars), 1, ofp);
for (i = 1; i <= pga->nmr_centrals; ++i)
for (j = 1; j <= pga->ndgen; ++j)
fwrite(central[i][j] + 1, sizeof(int), pcp->lastg, ofp);
for (i = 1; i <= pga->nmr_stabilisers; ++i)
for (j = 1; j <= pga->ndgen; ++j)
fwrite(stabiliser[i][j] + 1, sizeof(int), pcp->lastg, ofp);
fwrite(pga->relative + 1, sizeof(int), pga->nmr_soluble, ofp);
}
anupq-3.3.0/src/GAP_present.c 000644 000766 000024 00000024025 14355420571 016243 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A GAP_present.c ANUPQ source Eamonn O'Brien
*A & Frank Celler
*A & Benedikt Rothe
**
*Y Copyright 1995-1997, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-1997, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "menus.h"
/****************************************************************************
**
*F print_GAP_word
** print out a word of a pcp presentation
*/
static void print_GAP_word(FILE *file, int ptr)
{
register int *y = y_address;
int gen, exp;
int i;
int count;
#include "access.h"
if (ptr == 0)
fprintf(file, " One(F)");
else if (ptr > 0)
fprintf(file, " F.%d", ptr);
else {
ptr = -ptr + 1;
count = y[ptr];
fprintf(file, " %s", (1 < count) ? "(" : "");
for (i = 1; i <= count; i++) {
exp = FIELD1(y[ptr + i]);
gen = FIELD2(y[ptr + i]);
fprintf(file, "F.%d", gen);
if (exp != 1)
fprintf(file, "^%d", exp);
if (i != count)
fprintf(file, "*");
}
if (1 < count)
fprintf(file, ")");
}
}
/****************************************************************************
**
*F GAP_presentation
** write pq presentation to file in GAP format
*/
void GAP_presentation(FILE *file, struct pcp_vars *pcp, int aspcgroup)
{
register int *y = y_address;
int i;
int j;
int k;
int l;
int p1;
int p2;
int weight;
int comma;
int ndgen = pcp->ndgen;
int dgen = pcp->dgen;
#include "access.h"
/* construct a free group with enough generators */
fprintf(file, "F := FreeGroup( %d );\n", pcp->lastg);
if (aspcgroup) {
fprintf(file, "F := PcGroupFpGroupNC( F / [\n");
} else
fprintf(file, "F := F / [\n");
/* write power-relators with possible non-trivial rhs */
comma = 0;
k = y[pcp->clend + pcp->cc - 1];
for (i = 1; i <= k; i++) {
if (comma)
fprintf(file, ",\n");
else
comma = 1;
p2 = y[pcp->ppower + i];
if (p2 == 0)
fprintf(file, " F.%d^%d", i, pcp->p);
else {
fprintf(file, " F.%d^%d /", i, pcp->p);
print_GAP_word(file, p2);
}
}
/* write power-relators with trivial rhs */
for (i = k + 1; i <= pcp->lastg; ++i) {
if (comma)
fprintf(file, ",\n");
else
comma = 1;
fprintf(file, " F.%d^%d", i, pcp->p);
}
/* write commutator-relators */
for (i = 2; i <= k; i++) {
weight = WT(y[pcp->structure + i]);
p1 = y[pcp->ppcomm + i];
l = MIN(i - 1, y[pcp->clend + pcp->cc - weight]);
for (j = 1; j <= l; j++) {
p2 = y[p1 + j];
if (p2 != 0) {
fprintf(file, ",\n");
fprintf(file, " Comm( F.%d, F.%d ) /", i, j);
print_GAP_word(file, p2);
}
}
}
if (aspcgroup)
fprintf(file, "] );\n");
else
fprintf(file, "];\n");
/* store the relation between pc gens and fp gens */
fprintf(file, "MapImages := [];\n");
for (i = 1; i <= ndgen; i++) {
p2 = y[dgen + i];
fprintf(file, "MapImages[%d] := ", i);
print_GAP_word(file, p2);
fprintf(file, ";\n");
}
}
/****************************************************************************
**
*F MakeNameList
** create p-group generation identifier for group
*/
char *nextnumber(char *ident)
{
while (*ident != '\0' && *ident != '#')
ident++;
if (*ident == '#')
ident++;
return ident;
}
void MakeNameList(FILE *file, char *ident)
{
int first = 1;
fprintf(file, "SetANUPQIdentity( F, [ ");
while (*(ident = nextnumber(ident)) != '\0') {
if (!first)
fprintf(file, ",");
first = 0;
fprintf(file, "[");
do
fprintf(file, "%c", *ident);
while (*++ident != ';');
ident++;
fprintf(file, ",");
do {
fprintf(file, "%c", *ident);
ident++;
} while ('0' <= *ident && *ident <= '9');
fprintf(file, "]");
}
fprintf(file, " ] );\n");
}
/****************************************************************************
**
*F write_GAP_library
** write GAP library file in form suitable for reading into GAP
*/
int countcall = 0;
void write_GAP_library(FILE *file, struct pcp_vars *pcp)
{
/* if this is the first call initialise 'ANUgroups' */
if (countcall == 0) {
fprintf(file, "ANUPQgroups := [];\n");
fprintf(file, "ANUPQautos := [];\n\n");
}
countcall++;
/* write function call to .th position of */
fprintf(file, "## group number: %d\n", countcall);
fprintf(file, "ANUPQgroups[%d] := function( L )\n", countcall);
fprintf(file, "local MapImages, F;\n\n");
/* write the GAP presentation to file */
GAP_presentation(file, pcp, 0);
/* convert to a pc group in descendants case
... has to be done here; otherwise, we lose the property/attributes */
fprintf(file, "if IsList(L) then\n F := PcGroupFpGroupNC(F);\nfi;\n");
/* add info. whether group is capable, and its nuclear and mult'r ranks*/
fprintf(file, "SetIsCapable(F, %s);\n", (pcp->newgen) ? "true" : "false");
fprintf(file, "SetNuclearRank(F, %d);\n", pcp->newgen);
fprintf(file, "SetMultiplicatorRank (F, %d);\n", pcp->multiplicator_rank);
/* add the pq identitfier */
MakeNameList(file, pcp->ident);
/* add the group to */
fprintf(file, "if IsList(L) then\n Add( L, F );\n");
fprintf(file, "else\n L.group := F;\n L.map := MapImages;\nfi;");
fprintf(file, "\nend;\n\n\n");
}
/****************************************************************************
**
*F GAP_auts
** write a description of the automorphism group of the current
** group to a file in a format suitable for input to GAP
*/
void GAP_auts(FILE *file,
int ***central,
int ***stabiliser,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
register int *y = y_address;
int i, j, k, ngens, first;
/* if this is the first call something is wrong ' */
if (countcall == 0) {
fprintf(stderr, "internal error in 'GAP_auts'");
exit(FAILURE);
}
/* write function call to .th position of */
fprintf(file, "## automorphisms number: %d\n", countcall);
fprintf(file, "ANUPQautos[%d] := function( G )\n", countcall);
fprintf(file, "local frattGens,\n");
fprintf(file, " relOrders,\n");
fprintf(file, " centralAutos,\n");
fprintf(file, " otherAutos;\n");
/* write information about automorphisms to file */
ngens = y[pcp->clend + 1];
fprintf(file,
"SetIsPcgsAutomorphisms(G,%s);\n",
pga->soluble ? "true" : "false");
fprintf(file, "SetIsCapable(G,%s);\n", pga->capable ? "true" : "false");
/* first write the Frattini generators */
fprintf(file, "frattGens := [");
for (k = 1; k <= ngens; k++) {
if (k != 1)
fprintf(file, ",");
fprintf(file, "G.%d", k);
}
fprintf(file, "];\n");
fprintf(file,
"centralAutos := []; # nr of central autos: %d\n",
pga->nmr_centrals);
/* write out all central automorphisms */
for (i = 1; i <= pga->nmr_centrals; ++i) {
fprintf(file, "Add( centralAutos, [");
for (j = 1; j <= pga->ndgen; ++j) {
if (j != 1)
fprintf(file, ",");
first = 1;
for (k = 1; k <= pcp->lastg; ++k) {
if (0 != central[i][j][k]) {
if (!first)
fprintf(file, "*");
first = 0;
if (1 != central[i][j][k])
fprintf(file, "G.%d^%d", k, central[i][j][k]);
else
fprintf(file, "G.%d", k);
}
}
if (first) {
fprintf(stderr, "internal error in 'GAP_auts'\n");
exit(FAILURE);
}
}
fprintf(file, "] );\n");
}
fprintf(file,
"otherAutos := []; # nr of other autos: %d\n",
pga->nmr_stabilisers);
/* write out all other automorphisms */
for (i = 1; i <= pga->nmr_stabilisers; ++i) {
fprintf(file, "Add( otherAutos, [");
for (j = 1; j <= pga->ndgen; ++j) {
if (j != 1)
fprintf(file, ",");
first = 1;
for (k = 1; k <= pcp->lastg; ++k) {
if (0 != stabiliser[i][j][k]) {
if (!first)
fprintf(file, "*");
first = 0;
if (1 != stabiliser[i][j][k])
fprintf(file, "G.%d^%d", k, stabiliser[i][j][k]);
else
fprintf(file, "G.%d", k);
}
}
if (first) {
fprintf(stderr, "internal error in 'GAP_auts'\n");
exit(FAILURE);
}
}
fprintf(file, "] );\n");
}
fprintf(file, "relOrders := [");
if (pga->nmr_soluble > 0) {
for (i = 1; i <= pga->nmr_soluble; ++i)
fprintf(file, "%d, ", pga->relative[i]);
fprintf(file, "%d", pga->relative[pga->nmr_soluble]);
}
fprintf(file, "];\n");
fprintf(file, "ANUPQSetAutomorphismGroup( ");
fprintf(file, "G, frattGens, centralAutos, otherAutos, relOrders, ");
fprintf(file, "%s );\n", pga->soluble ? "true" : "false");
fprintf(file, "end;\n\n\n");
}
anupq-3.3.0/src/read_word.c 000644 000766 000024 00000022343 14355420571 016043 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A read_word.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "constants.h"
#include "pq_functions.h"
#include "pretty_filterfns.h"
#include "word_types.h"
static void setup_relation(int disp,
int length,
int type,
Logical commutator,
int *t,
struct pcp_vars *pcp);
static int check_for_commutator(char *s);
static int check_for_symbol(char *s);
static int string_to_integer(char *s, int *integer);
/* display the appropriate input message */
static void display_message(int type)
{
switch (type) {
case LHS:
printf("Input left-hand side of relation:\n");
break;
case RHS:
printf("Input right-hand side of relation:\n");
break;
case WORD:
printf("Input the word for collection:\n");
printf("(use generators x1,x2,... and terminate with a semicolon)\n");
break;
case VALUE_A:
printf("Input the value of a:\n");
printf("(use generators x1,x2,... and terminate with a semicolon)\n");
break;
case VALUE_B:
printf("Input the value of b:\n");
break;
case FIRST_ENTRY:
printf("Input the first component of commutator:\n");
break;
case NEXT_ENTRY:
printf("Input the next component of commutator:\n");
break;
case ACTION:
break;
}
}
/* set up array of generators x1, x2, .., xlastg and their
inverses to represent the pcp generators of the group;
this permits words to be input using the pretty format */
void setup_symbols(struct pcp_vars *pcp)
{
int i, j, k, m;
int log, digit;
/* space for this array may have been previously allocated */
/* memory leak September 1996 */
if (user_gen_name != NULL) {
num_gens = user_gen_name[0].first;
for (i = 1; i <= num_gens; ++i) {
free_vector(user_gen_name[i].g, 0);
}
free(user_gen_name);
user_gen_name = NULL;
free_vector(inv_of, 0);
free_vector(pairnumber, 0);
}
paired_gens = pcp->lastg;
num_gens = 2 * paired_gens;
user_gen_name = anu_valloc(word, num_gens + 1);
inv_of = anu_valloc(gen_type, num_gens + 1);
pairnumber = anu_valloc(int, num_gens + 1);
/* memory leak September 1996 */
user_gen_name[0].first = num_gens;
for (i = 1; i <= paired_gens; i++) {
j = i;
word_init(user_gen_name + 2 * i - 1);
word_init(user_gen_name + 2 * i);
word_put_last(user_gen_name + 2 * i - 1, 'x');
word_put_last(user_gen_name + 2 * i, 'x');
/* extract the digits of the number, i, from left to right */
log = log10((double)j);
for (k = log; k >= 0; --k) {
m = int_power(10, k);
digit = j / m;
word_put_last(user_gen_name + 2 * i - 1, digit + '0');
word_put_last(user_gen_name + 2 * i, digit + '0');
j %= m;
}
word_put_last(user_gen_name + 2 * i, '^');
word_put_last(user_gen_name + 2 * i, '-');
word_put_last(user_gen_name + 2 * i, '1');
inv_of[2 * i - 1] = 2 * i;
inv_of[2 * i] = 2 * i - 1;
pairnumber[2 * i] = pairnumber[2 * i - 1] = i;
}
}
/* read in a word using the basic format;
type determines the message printed out;
store the word with address ptr which has value lused + 1 + disp;
y[ptr] is the length of the word (includes exponent);
if the word is one side of a relation, and it is a commutator,
then y[ptr] is the negative of the length, as this allows
collect_relations to recognise that this word is a commutator;
y[ptr + 1] is the exponent;
y[ptr + 2] .. y[ptr + length] are generators (either defining or pcp)
or their inverses */
void read_word(FILE *file, int disp, int type, struct pcp_vars *pcp)
{
Logical finish = FALSE;
Logical commutator = FALSE;
char s[MAXWORD];
int t[MAXWORD];
int integer, temp;
int length = 0;
int nmr_items;
display_message(type);
while (!finish && (nmr_items = fscanf(file, "%s", s)) != EOF) {
verify_read(nmr_items, 1);
while (s[0] == COMMENT) {
read_line();
nmr_items = fscanf(file, "%s", s);
verify_read(nmr_items, 1);
}
/* check for end of relation marker */
if (check_for_symbol(s))
finish = TRUE;
/* check for commutator symbol */
if (!commutator)
commutator = check_for_commutator(s);
/* convert string to integer */
integer = 0;
temp = string_to_integer(s, &integer);
if (integer == 0 && !(commutator || finish || *s == ',')) {
printf("Error in input data -- %s\n", s);
if (!isatty(0))
exit(FAILURE);
}
if (integer != 0) {
if ((length == 0 && temp == 0) || temp != 0) {
t[length] = temp;
++length;
}
}
}
setup_relation(disp, length, type, commutator, t, pcp);
}
/* read word using pretty format */
void pretty_read_word(FILE *file, int disp, int type, struct pcp_vars *pcp)
{
register int *y = y_address;
int ptr = pcp->lused + 1 + disp;
word w1, w2, w3;
gen_type g;
int i, exp;
int length;
if (file == stdin)
display_message(type);
word_init(&w1);
word_init(&w2);
word_init(&w3);
read_next_word(&w1, file);
find_char(';', file);
word2prog_word(&w1, &w2);
word_factor(&w2, &w3, &exp);
y[ptr] = length = 0;
y[ptr + 1] = exp;
while (word_delget_first(&w3, &g))
if (g != 0)
y[ptr + 1 + (++length)] =
(g <= inv(g)) ? pairnumber[g] : -pairnumber[g];
word_clear(&w1);
word_clear(&w2);
word_clear(&w3);
if (length != 0)
y[ptr] = ++length;
if (file != stdin)
return;
printf("The input word is ");
for (i = 1; i <= length; ++i)
printf("%d ", y[ptr + i]);
printf("\n");
}
/* process the input word and set it up as an entry in y */
static void setup_relation(int disp,
int length,
int type,
Logical commutator,
int *t,
struct pcp_vars *pcp)
{
register int *y = y_address;
register int i;
int u[MAXWORD];
register int total;
register int ptr;
Logical commutator_relation;
/* currently, only a commutator which is one side of a
relation is not expanded -- this may be changed later */
commutator_relation = (commutator && (type == LHS || type == RHS));
/* is the word trivial? */
if (t[0] == 0 || length == 1) {
length = 1;
ptr = pcp->lused + 1 + disp;
y[ptr + 1] = 0;
} else {
/* set up relation */
for (i = 1; i < MAXWORD; ++i)
u[i] = 0;
u[0] = t[1];
if (length >= MAXWORD) {
text(18, 0, 0, 0, 0);
exit(FAILURE);
}
if (commutator_relation || !commutator)
for (i = 1; i < length - 1; ++i)
u[i] = t[i + 1];
else {
for (i = 2; i < length; ++i)
expand_commutator(u, t[i]);
}
/* check how much space is required to store the word in y */
total = 2;
while (u[total] != 0)
++total;
/* the length of the relation is total */
if (total >= MAXWORD) {
text(18, 0, 0, 0, 0);
exit(FAILURE);
}
/* is there enough room in array y to store the word? */
if (is_space_exhausted(total, pcp))
return;
ptr = pcp->lused + 1 + disp;
/* copy expanded word and set up as relation stored in y */
y[ptr + 1] = t[0];
length = 0;
while (u[length] != 0) {
y[ptr + 2 + length] = u[length];
++length;
}
++length;
}
/* set up the length */
if (commutator_relation)
y[ptr] = -length;
else
y[ptr] = length;
PRINT("The input word is ");
PRINT("%d ", y[ptr + 1]);
if (commutator_relation)
PRINT("[ ");
for (i = 2; i <= length; ++i)
PRINT("%d ", y[ptr + i]);
if (commutator_relation)
PRINT("]");
PRINT("\n");
}
/* check whether relation is a commutator */
static int check_for_commutator(char *s)
{
int not_found = 0;
register int length = strlen(s);
while (length > 0 && (not_found = (s[length - 1] != LHS_COMMUTATOR &&
s[length - 1] != RHS_COMMUTATOR)))
--length;
return !not_found;
}
/* check for occurrence of END_OF_WORD in word */
static int check_for_symbol(char *s)
{
int not_found = 0;
register int length = strlen(s);
while (length > 0 && (not_found = (s[length - 1] != END_OF_WORD)))
--length;
return !not_found;
}
/* convert string s to integer */
static int string_to_integer(char *s, int *integer)
{
int i, n, sign;
for (i = 0; isspace(s[i]); i++) /* skip white space */
;
sign = (s[i] == '-') ? -1 : 1;
if (s[i] == '+' || s[i] == '-') /* skip sign */
i++;
for (n = 0; s[i] != '\0'; i++) {
if (isdigit(s[i])) {
*integer = 1;
n = 10 * n + (s[i] - '0');
}
}
return sign * n;
}
anupq-3.3.0/src/action.c 000644 000766 000024 00000003031 14355420571 015343 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A action.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "constants.h"
#include "pcp_vars.h"
#include "pq_functions.h"
#include "standard.h"
#include "word_types.h"
/* specify automorphims in terms of defining generators
and compute resultant action on pc generators;
return action as array auts */
int ***determine_action(int format, int *nmr_of_auts, struct pcp_vars *pcp)
{
register int *y = y_address;
register int i, j, k;
int ***auts;
int cp, pcp_generator;
read_value(TRUE, "Input the number of automorphisms: ", nmr_of_auts, 0);
auts = allocate_array(*nmr_of_auts, pcp->lastg, pcp->lastg, TRUE);
cp = pcp->lused;
for (i = 1; i <= *nmr_of_auts; ++i) {
printf("Now enter the data for automorphism %d\n", i);
for (j = 1; j <= pcp->ndgen; ++j) {
pcp_generator = y[pcp->dgen + j];
printf("Input image of defining generator %d as word:\n", j);
setup_defgen_word_to_collect(stdin, format, ACTION, cp, pcp);
if (pcp_generator > 0) {
for (k = 1; k <= pcp->lastg; ++k)
auts[i][pcp_generator][k] = y[cp + k];
}
}
}
extend_automorphisms(auts, *nmr_of_auts, pcp);
print_auts(*nmr_of_auts, pcp->lastg, auts, pcp);
return auts;
}
anupq-3.3.0/src/start_iteration.c 000644 000766 000024 00000004065 14355420571 017311 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A start_iteration.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
#define ITERATION 6
/* read class and order bounds and step size information
required in iteration of the algorithm */
void iteration_information(int *subgroup_rank,
struct pga_vars *flag,
int *class_bound,
int *order_bound,
int **step_sequence,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
Logical All, Constant = 0;
int nmr_iterations;
register int i;
read_class_bound(class_bound, pcp);
read_value(TRUE, "Construct all descendants? ", &All, INT_MIN);
if (All) {
pga->step_size = ALL;
read_value(TRUE,
"Set an order bound on the descendants? ",
order_bound,
INT_MIN);
if (*order_bound)
read_order_bound(order_bound, pcp);
else
*order_bound = ALL;
} else
*order_bound = ALL;
nmr_iterations = *class_bound - pcp->cc + 1;
if (!All) {
if (nmr_iterations != 1) {
read_value(TRUE, "Constant step size? ", &Constant, INT_MIN);
}
if (Constant || nmr_iterations == 1) {
read_step_size(pga, pcp);
Constant = TRUE;
}
}
if (!All && !Constant) {
*step_sequence = allocate_vector(nmr_iterations, 1, 0);
printf("Input %d step sizes: ", nmr_iterations);
for (i = 1; i < nmr_iterations; ++i)
read_value(FALSE, "", &(*step_sequence)[i], 1);
read_value(TRUE, "", &(*step_sequence)[i], 1);
} else
*step_sequence = NULL;
defaults_pga(ITERATION, subgroup_rank, flag, pga, pcp);
}
anupq-3.3.0/src/central_auts.c 000644 000766 000024 00000012214 14355420571 016555 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A central_auts.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "pq_functions.h"
/* determine which of the central outer automorphisms of the immediate
descendant are required for iteration purposes; set up those
which are necessary in the array central, which is returned */
int ***central_automorphisms(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
int ***central = 0;
int **commutator; /* result of commutator calculations */
char **redundant; /* automorphisms which are not required */
Logical found;
register int gamma = 0;
register int i, j, k;
register int u, v;
/* number of generators of last class in group */
int x = y[pcp->clend + pcp->cc - 1] - y[pcp->clend + pcp->cc - 2];
register int nmr_columns;
/* dummy variable -- not used in this routine but
required for echelonise_matrix call */
/*
int *subset;
subset = allocate_vector (x, 0, 0);
echelonise_matrix (commutator, x, nmr_columns, pcp->p, subset, pga);
free_vector (subset, 0);
*/
/* maximum number of central outer automorphisms */
nmr_columns = pga->nmr_centrals = pga->ndgen * pga->s;
commutator = commutator_matrix(pga, pcp);
if (pga->print_commutator_matrix) {
printf("The commutator matrix is \n");
print_matrix(commutator, x, nmr_columns);
}
reduce_matrix(commutator, x, nmr_columns, pcp->p, pga);
redundant = allocate_char_matrix(pga->ndgen, pga->s, 0, TRUE);
for (i = 0; i < x; ++i) {
found = FALSE;
j = 0;
while (j < nmr_columns && !(found = (commutator[i][j] == 1)))
++j;
if (found) {
u = j / pga->s;
v = j % pga->s;
redundant[u][v] = TRUE;
--pga->nmr_centrals;
}
}
/* set up, in the array central, all necessary automorphisms of the form
u --> u * (pcp->ccbeg + v)
k --> k
where both u and k are defining generators, k distinct from u,
and v runs from 0 to pga->s - 1 */
if (pga->nmr_centrals != 0) {
central = allocate_array(pga->nmr_centrals, pga->ndgen, pcp->lastg, TRUE);
for (u = 0; u < pga->ndgen; ++u) {
for (v = 0; v < pga->s; ++v) {
if (redundant[u][v] == FALSE) {
++gamma;
for (k = 0; k < pga->ndgen; ++k) {
central[gamma][k + 1][k + 1] = 1;
if (k == u)
central[gamma][k + 1][pcp->ccbeg + v] = 1;
}
}
}
}
}
free_matrix(commutator, x, 0);
free_char_matrix(redundant, pga->ndgen);
return central;
}
/* for each of the x generators of highest class - 1, look up
its commutator with each of the pga->ndgen defining generators;
set up the exponents of the pga->s new generators which occur
in the commutator as part of a row of an
x by pga->ndgen * pga->s matrix, commutator, which is returned */
int **commutator_matrix(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
/* first and last generator of last class of parent */
int first = y[pcp->clend + pcp->cc - 2] + 1;
int last = y[pcp->clend + pcp->cc - 1];
int x = last - first + 1;
int **commutator;
int *result;
int pointer, value, entry, length;
int offset;
int u, v;
register int i, j, k;
#include "access.h"
#ifdef CARANTI
commutator = allocate_matrix(x, pga->ndgen * pga->s, 0, TRUE);
return commutator;
#else
commutator = allocate_matrix(x, pga->ndgen * pga->s, 0, FALSE);
#endif
for (i = first; i <= last; ++i) {
offset = 0;
for (j = 1; j <= pga->ndgen; ++j) {
/* store the result of [i, j] */
result = allocate_vector(pga->s, 0, 1);
if (i != j) {
if (i < j) {
u = i;
v = j;
} else {
u = j;
v = i;
}
/* look up the value of [v, u] */
pointer = y[pcp->ppcomm + v];
entry = y[pointer + u];
if (entry > 0)
result[entry - pcp->ccbeg] = 1;
else if (entry < 0) {
length = y[-entry + 1];
for (k = 1; k <= length; ++k) {
value = y[-entry + 1 + k];
result[FIELD2(value) - pcp->ccbeg] = FIELD1(value);
}
}
/* since, we want the value of [i, j], we may now
need to invert [v, u] */
if (j == v) {
for (k = 0; k < pga->s; ++k)
if (result[k] != 0)
result[k] = (pga->p - result[k]) % pga->p;
}
}
/* now copy the result to commutator */
for (k = 0; k < pga->s; ++k)
commutator[i - first][k + offset] = result[k];
offset += pga->s;
free_vector(result, 0);
}
}
return commutator;
}
anupq-3.3.0/src/options.c 000644 000766 000024 00000013217 14355420571 015570 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A options.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "menus.h"
#include "constants.h"
#include "pq_functions.h"
#if defined(GROUP)
#define MAXOPTION 10 /* maximum number of menu options */
/* control routine for p-quotient program */
void options(int call, int format, struct pcp_vars *pcp)
{
int option;
int t;
char *name;
FILE *FileName;
int output_level = DEFAULT_PRINT;
Logical group_present = FALSE;
Logical print_flag;
int exit_value;
Logical report;
int *list, *head;
if (isatty(0))
list_pqa_menu();
if (call != DEFAULT_MENU)
group_present = TRUE;
do {
option = read_option(MAXOPTION);
switch (option) {
case -1:
list_pqa_menu();
break;
case COMPUTE_PCP:
t = runTime();
exit_value = pquotient(0, 0, stdin, format, pcp);
if (exit_value == SUCCESS)
group_present = TRUE;
t = runTime() - t;
printf("Computation of presentation took %.2f seconds\n",
t * CLK_SCALE);
break;
case SAVE_PCP:
name = GetString("Enter output file name: ");
FileName = OpenFileOutput(name);
if (group_present && FileName != NULL) {
save_pcp(FileName, pcp);
if (pcp->m != 0)
save_auts(FileName, head, list, pcp);
CloseFile(FileName);
printf("Presentation written to file\n");
}
break;
case RESTORE_GROUP:
name = GetString("Enter input file name: ");
FileName = OpenFileInput(name);
if (FileName != NULL) {
restore_pcp(FileName, pcp);
#ifdef DEBUG
pcp->m = 0;
#endif
if (pcp->m != 0)
restore_automorphisms(FileName, &head, &list, pcp);
group_present = TRUE;
RESET(FileName);
printf("Presentation read from file\n");
}
break;
case DISPLAY_PRESENTATION:
print_flag = (output_level >= MAX_PRINT - 1) ? TRUE : FALSE;
if (group_present)
print_presentation(print_flag, pcp);
break;
case PRINT_LEVEL:
print_level(&output_level, pcp);
break;
case NEXT_CLASS:
if (pcp->cc >= MAXCLASS || pcp->lastg >= MAXPC) {
printf("You have reached the specified limits on class or number "
"of defining generators\n");
break;
}
if (!pcp->overflow && group_present) {
t = runTime();
report = pcp->complete;
next_class(FALSE, &head, &list, pcp);
if (report || (output_level == 1 && pcp->complete) ||
pcp->lastg < 1)
text(5, pcp->cc, pcp->p, pcp->lastg, 0);
t = runTime() - t;
if (!pcp->overflow) {
print_flag = (output_level >= MAX_PRINT - 1) ? TRUE : FALSE;
print_presentation(print_flag, pcp);
}
printf("Computation of next class took %.2f seconds\n",
t * CLK_SCALE);
}
break;
case PCOVER:
if (group_present) {
t = runTime();
pcp->multiplicator = TRUE;
next_class(FALSE, &head, &list, pcp);
pcp->multiplicator = FALSE;
pcp->update = FALSE;
pcp->middle_of_tails = FALSE;
t = runTime() - t;
print_flag = (output_level >= MAX_PRINT - 1) ? TRUE : FALSE;
print_presentation(print_flag, pcp);
printf("Computation of %d-covering group took %.2f seconds\n",
pcp->p,
t * CLK_SCALE);
}
break;
case INTERACTIVE_PQ:
interactive_pq(group_present, format, output_level, &head, &list, pcp);
break;
case PGP:
pgroup_generation(&group_present, pcp);
break;
case EXIT:
case MAXOPTION:
printf("Exiting from ANU p-Quotient Program\n");
break;
} /* switch */
} while (option != 0 && option != MAXOPTION);
}
/* list available menu options */
void list_pqa_menu(void)
{
printf("\nBasic Menu for p-Quotient Program\n");
printf("----------------------------------\n");
printf("%d. Compute pc presentation\n", COMPUTE_PCP);
printf("%d. Save presentation to file\n", SAVE_PCP);
printf("%d. Restore presentation from file\n", RESTORE_PCP);
printf("%d. Display presentation of group\n", DISPLAY_PRESENTATION);
printf("%d. Set print level\n", PRINT_LEVEL);
printf("%d. Calculate next class\n", NEXT_CLASS);
printf("%d. Compute p-covering group\n", PCOVER);
printf("%d. Advanced p-quotient menu\n", INTERACTIVE_PQ);
printf("%d. (Main) menu for p-group generation\n", PGP);
printf("%d. Exit from p-quotient program\n", MAXOPTION);
}
#endif
/* prompt for & read menu option and check its validity */
int read_option(int maxoption)
{
int option;
Logical error;
do {
read_value(TRUE, "\nSelect option: ", &option, LEAST_OPTION);
if ((error = valid(option, maxoption)) == 0)
printf("Invalid option -- must lie between %d and %d\n",
LEAST_OPTION,
maxoption);
} while (error == 0);
return option;
}
/* check whether option is valid */
int valid(int option, int maxoption)
{
return option >= LEAST_OPTION && option <= maxoption;
}
anupq-3.3.0/src/reduced_covers.c 000644 000766 000024 00000011361 14355420571 017067 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A reduced_covers.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
#include "constants.h"
#include "pq_functions.h"
void trace_details(struct pga_vars *pga);
/* default processing --
1. calculate the extended automorphisms
2. characteristically close k-initial segment subgroup
3. calculate the relevant permutations of the allowable
subgroups relative to this subgroup
4. compute orbits of the allowable subgroups and choose
the representatives of these orbits
4. factor each orbit representative to obtain descendant
5. save presentation + automorphisms to file
return the number of reduced p-covering groups constructed */
int reduced_covers(FILE *descendant_file,
FILE *covers_file,
int k,
int ***auts,
struct pga_vars *pga,
struct pcp_vars *pcp)
{
int lower_step, upper_step;
int nmr_of_covers = 0;
int *a, *b; /* arrays needed for orbit calculation */
char *c; /* array needed for stabiliser calculation */
int **perms; /* store all permutations */
int *orbit_length; /* length of orbits */
FILE *LINK_input; /* input file for GAP */
#if defined(GAP_LINK)
Logical process_fork = FALSE; /* has GAP process forked? */
#endif
Logical soluble_group; /* indicates that orbits and stabilisers may
be computed using soluble machinery */
/* calculate the extended automorphisms */
extend_automorphisms(auts, pga->m, pcp);
if (pcp->overflow)
return 0;
if (pga->print_extensions && pga->m != 0) {
printf("\nThe extension%s:\n", pga->m == 1 ? " is" : "s are");
print_auts(pga->m, pcp->lastg, auts, pcp);
}
/* find range of permitted step sizes */
step_range(k, &lower_step, &upper_step, auts, pga, pcp);
/* set up space for definition sets */
store_definition_sets(pga->r, lower_step, upper_step, pga);
/* loop over each permitted step size */
for (pga->s = lower_step; pga->s <= upper_step; ++pga->s) {
if (pga->trace)
trace_details(pga);
get_definition_sets(pga);
compute_degree(pga);
/* establish which automorphisms induce the identity
on the relevant subgroup of the p-multiplicator */
strip_identities(auts, pga, pcp);
/* if possible, use the more efficient soluble code --
in particular, certain extreme cases can be handled */
soluble_group =
(pga->soluble || pga->Degree == 1 || pga->nmr_of_perms == 0);
if (!soluble_group) {
#if defined(GAP_LINK)
if (!process_fork) {
start_GAP_file(auts, pga);
process_fork = TRUE;
}
StartGapFile(pga);
#else
#if defined(GAP_LINK_VIA_FILE)
start_GAP_file(&LINK_input, auts, pga, pcp);
#endif
#endif
}
perms = permute_subgroups(LINK_input, &a, &b, &c, auts, pga, pcp);
if (!pga->space_efficient) {
if (soluble_group)
compute_orbits(&a, &b, &c, perms, pga);
else
insoluble_compute_orbits(&a, &b, &c, perms, pga);
}
orbit_length = find_orbit_reps(a, b, pga);
if (pga->print_orbit_summary)
orbit_summary(orbit_length, pga);
if (soluble_group && pga->print_orbit_arrays)
print_orbit_information(a, b, c, pga);
pga->final_stage = (pga->q == pga->multiplicator_rank);
if (!soluble_group) {
#if defined(GAP_LINK_VIA_FILE)
CloseFile(LINK_input);
#endif
}
setup_reps(pga->rep,
pga->nmr_orbits,
orbit_length,
perms,
a,
b,
c,
auts,
descendant_file,
covers_file,
pga,
pcp);
if (!pga->final_stage)
nmr_of_covers += pga->nmr_orbits;
free_space(soluble_group, perms, orbit_length, a, b, c, pga);
}
#if defined(GAP_LINK)
if (process_fork)
QuitGap();
#endif
free_vector(pga->list, 0);
free_vector(pga->available, 0);
free_vector(pga->offset, 0);
return nmr_of_covers;
}
/* print algorithm trace details for group */
void trace_details(struct pga_vars *pga)
{
printf("\n------------------------------------------------------\n");
printf("Processing step size %d\n", pga->s);
printf("The value of FIXED is %d\n", pga->fixed);
printf("The rank of the initial segment subgroup is %d\n", pga->q);
}
anupq-3.3.0/src/echelonise_matrix.c 000644 000766 000024 00000004574 14355420571 017605 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A echelonise_matrix.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pga_vars.h"
/* left echelonise mod p the matrix a, which has the supplied dimensions;
set up its definition set both as a subset and as a bit string */
int echelonise_matrix(int **a,
int nmr_rows,
int nmr_columns,
int p,
int *subset,
struct pga_vars *pga)
{
Logical zero;
register int bound = nmr_columns - 1;
register int row, column, i, j, index, val;
register int entry;
register int bit_string = 0;
for (row = 0; row < nmr_rows; ++row) {
/* start with the diagonal entry */
column = row;
/* find first non-zero entry, if any, in this column;
if none, advance to next column */
do {
index = row;
while (index < nmr_rows && (zero = (a[index][column] == 0)))
++index;
if (zero) {
if (column < bound)
++column;
else
return bit_string;
}
} while (zero);
/* store the definition set information for this matrix */
bit_string |= 1 << column;
subset[row] = column;
/* if necessary, interchange current row with row index */
if (index > row) {
for (j = column; j < nmr_columns; ++j) {
val = a[index][j];
a[index][j] = a[row][j];
a[row][j] = val;
}
}
/* multiply row by the inverse in GF(p) of a[row][column] */
if ((entry = a[row][column]) != 1) {
val = pga->inverse_modp[entry];
a[row][column] = 1;
for (j = column + 1; j < nmr_columns; ++j)
a[row][j] = (a[row][j] * val) % p;
}
/* now zero out all other entries in this column */
for (i = 0; i < nmr_rows; ++i) {
if (a[i][column] == 0 || i == row)
continue;
val = p - a[i][column];
a[i][column] = 0;
for (j = column + 1; j < nmr_columns; ++j)
a[i][j] = (a[i][j] + val * a[row][j]) % p;
}
}
return bit_string;
}
anupq-3.3.0/src/consistency.c 000644 000766 000024 00000014777 14355420571 016452 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A consistency.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#if !defined(CONSISTENCY_FILTER)
/* process those consistency relations of weight wc not already used;
the value of type determines the consistency relations processed;
if type = 0 then all relations are processed;
for Lie Algebra calculations, the type is always 3 */
void consistency(
int type, int *queue, int *queue_length, int wc, struct pcp_vars *pcp)
{
register int *y = y_address;
register int a;
register int b;
register int c;
register int wta; /* weight of a */
register int a_start; /* start of range for a */
register int a_end; /* end of range for a */
register int b_start;
register int b_end;
register int c_start;
register int c_end;
register int jacobi_wt = wc;
register int bound = jacobi_wt >> 1;
register int constant;
register int offset;
register int entry;
register int p1;
register int class_end = pcp->clend;
register int p_pcomm = pcp->ppcomm;
register int p_power = pcp->ppower;
register int structure = pcp->structure;
register Logical metabelian = pcp->metabelian;
register Logical compute; /* is it necessary to compute jacobi? */
#include "access.h"
/* process the consistency equations (a^p) a = a (a^p)
where 2 * WT(a) + 1 = jacobi_wt */
if (type == 0 || type == 1) {
if (MOD(jacobi_wt, 2) != 0) {
/* find range of a */
offset = class_end + bound - 1;
a_start = y[offset] + 1;
a_end = y[++offset];
for (a = a_start; a <= a_end; a++) {
compute =
(!metabelian || (metabelian && (PART2(y[structure + a]) == 0 ||
PART3(y[structure + a]) == 0)));
if (compute) {
jacobi(a, a, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
/* process the consistency equations
(b^p) a = b^(p - 1) (ba) and b (a^p) = (ba) a^(p - 1)
where b > a and WT(b) + WT(a) + 1 = jacobi_wt */
if (type == 0 || type == 2) {
for (wta = 1; wta <= bound; ++wta) {
/* find range of a */
offset = class_end + wta - 1;
a_start = y[offset] + 1;
a_end = y[++offset];
/* find maximum value of b */
offset = class_end + jacobi_wt - wta - 2;
b_end = y[offset + 1];
for (a = a_start; a <= a_end; ++a) {
/* ensure b > a */
b_start = MAX(y[offset] + 1, a + 1);
for (b = b_start; b <= b_end; ++b) {
/* introduce Vaughan-Lee consistency check restriction */
if (wta == 1) {
/* check if this jacobi relation has already been used
in filling in the tail on (b, a)^p */
p1 = y[p_pcomm + b];
if (y[p1 + a] <= 0 || y[p1 + a] >= pcp->first_pseudo) {
compute = (!metabelian ||
(metabelian && (PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0)));
if (compute) {
jacobi(b, b, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow ||
(pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
/* check if this jacobi relation has already been
used in filling in the tail on (b, a^p) */
entry = y[p_power + a];
if (entry <= 0 || entry >= b) {
compute = (!metabelian ||
(metabelian && (PART2(y[structure + a]) == 0 ||
PART3(y[structure + a]) == 0 ||
PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0)));
if (compute) {
jacobi(b, a, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow ||
(pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
}
}
/* process the consistency equations (cb) a = c (ba), where
c > b > a, WT(a) + WT(b) + WT(c) = jacobi_wt, and WT(a) = 1 */
if (type == 0 || type == 3) {
/* first, find maximum values of a and b */
a_end = y[class_end + 1];
b_end = y[class_end + ((jacobi_wt - 1) >> 1)];
constant = class_end + jacobi_wt - 2;
for (a = 1; a <= a_end; ++a) {
for (b = a + 1; b <= b_end; ++b) {
/* find range of c and ensure c > b */
offset = constant - WT(y[structure + b]);
c_start = MAX(y[offset] + 1, b + 1);
c_end = y[++offset];
/* where possible, avoid redoing those jacobis used to
fill in tails on (c, (b, a)) */
if (!metabelian) {
p1 = y[p_pcomm + b];
if (y[p1 + a] > 0)
c_end = MIN(c_end, y[p1 + a]);
}
for (c = c_start; c <= c_end; ++c) {
compute = (!metabelian ||
(metabelian && (PART2(y[structure + b]) == 0 ||
PART3(y[structure + b]) == 0 ||
PART2(y[structure + c]) == 0 ||
PART3(y[structure + c]) == 0)));
if (compute) {
jacobi(c, b, a, 0, pcp);
if (pcp->redgen != 0 && pcp->m != 0)
queue[++*queue_length] = pcp->redgen;
}
if (pcp->overflow || (pcp->complete != 0 && !pcp->multiplicator))
return;
}
}
}
}
}
#endif
anupq-3.3.0/src/initialise_pga.c 000644 000766 000024 00000002025 14355420571 017051 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A initialise_pga.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
#include "pga_vars.h"
/* initialise the pga structure */
void initialise_pga(struct pga_vars *pga, struct pcp_vars *pcp)
{
pga->p = pcp->p;
pga->q = pga->r = pga->s = 0;
pga->fixed = 0;
pga->Degree = 0;
pga->nmr_of_descendants = 0;
pga->available = NULL;
pga->list = NULL;
pga->map = NULL;
pga->rep = NULL;
pga->offset = NULL;
pga->powers = NULL;
pga->inverse_modp = NULL;
}
/* set up values for pga structure */
void set_values(struct pga_vars *pga, struct pcp_vars *pcp)
{
register int *y = y_address;
pga->multiplicator_rank =
y[pcp->clend + pcp->cc] - y[pcp->clend + pcp->cc - 1];
pga->nuclear_rank = pcp->newgen;
}
anupq-3.3.0/src/matrix.c 000644 000766 000024 00000005040 14355420571 015374 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A matrix.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pq_functions.h"
/* read an n x matrix, a */
void read_matrix(int **a, int n, int m)
{
register int i, j;
for (i = 0; i < n; ++i) {
for (j = 0; j < m - 1; ++j)
read_value(FALSE, "", &a[i][j], 0);
read_value(TRUE, "", &a[i][j], 0);
}
printf("\n");
}
/* print an n x m matrix a */
void print_matrix(int **a, int n, int m)
{
register int i, j;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j)
printf("%d ", a[i][j]);
printf("\n");
}
}
/* modulo p, multiply the n x m matrix a by the m x q matrix b */
int **multiply_matrix(int **a, int n, int m, int **b, int q, int p)
{
register int i, j, k;
int **product = allocate_matrix(n, q, 0, 1);
for (i = 0; i < n; ++i)
for (j = 0; j < q; ++j) {
for (k = 0; k < m; ++k)
product[i][j] += a[i][k] * b[k][j];
product[i][j] %= p;
}
return product;
}
int **transpose(int **a, int n, int m)
{
register int i, j;
int **transpose = allocate_matrix(m, n, 0, 0);
for (i = 0; i < m; ++i)
for (j = 0; j < n; ++j)
transpose[i][j] = a[j][i];
return transpose;
}
/* check if the n x n matrix a is the identity;
start is its first index position */
Logical is_identity(int **a, int n, int start)
{
int identity = 1;
register int i = start;
register int j;
while (i < n + start && identity) {
j = start;
while (j < n + start && identity) {
identity = (i == j) ? a[i][j] == 1 : a[i][j] == 0;
++j;
}
++i;
}
return identity;
}
/* check if each row of the n x n matrix a has a non-zero
entry and whether its entries lie between 0 and p - 1;
start is its first index position */
Logical valid_matrix(int **a, int n, int p, int start)
{
register int i, j;
int non_zero = 0;
Logical valid = TRUE;
Logical first;
for (i = start; i < n + start && valid; ++i) {
first = TRUE;
for (j = start; j < n + start && valid; ++j) {
valid = (a[i][j] >= 0 && a[i][j] < p);
if (a[i][j] > 0 && first) {
++non_zero;
first = FALSE;
}
}
}
if (valid && non_zero == n)
return TRUE;
else
return FALSE;
}
anupq-3.3.0/src/down_class.c 000644 000766 000024 00000002371 14355420571 016230 0 ustar 00mhorn staff 000000 000000 /****************************************************************************
**
*A down_class.c ANUPQ source Eamonn O'Brien
**
*Y Copyright 1995-2001, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
*Y Copyright 1995-2001, School of Mathematical Sciences, ANU, Australia
**
*/
#include "pq_defs.h"
#include "pcp_vars.h"
/* remove any class pcp->cc + 1 part on the value represented by y[ptr] */
void down_class(int ptr, struct pcp_vars *pcp)
{
register int *y = y_address;
register int p1;
register int p2;
register int count;
register int count1;
register int lastg = pcp->lastg;
#include "access.h"
p1 = ptr;
if (y[p1] >= 0) {
if (y[p1] > lastg)
y[p1] = 0;
return;
}
p2 = -y[p1];
count = y[p2 + 1];
count1 = count;
while (FIELD2(y[p2 + count1 + 1]) > lastg) {
if (--count1 <= 0) {
y[p2] = y[p1] = 0;
return;
}
}
if (count1 >= count)
return;
if (count == count1 + 1)
/* only 1 generator of class pcp->cc + 1 found; mark
it with a -1 header block */
y[p2 + count1 + 2] = -1;
else {
y[p2 + count1 + 2] = 0;
y[p2 + count1 + 3] = count - count1 - 2;
}
y[p2 + 1] = count1;
}
anupq-3.3.0/standalone-doc/guide.tex 000644 000766 000024 00000217542 14355420571 017663 0 ustar 00mhorn staff 000000 000000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W guide.tex ANUPQ standalone documentation Eamonn O'Brien
%%
%%
%W Greg Gamble made a number of modifications: updated it for LaTeX2e;
%W added a table of contents, cross-references and an examples appendix;
%W updated the bibliography and Eamonn's address, improved some of the
%W descriptions, re-arranged it slightly and updated it for changes made
%W for Versions 1.5 and 1.6. The file needs to be latex-ed three times
%W to obtain a correct `.dvi' file.
%%
\documentclass[12pt]{article}
%
%page layout - A4 paper is 210mm by 297mm.
%
\hoffset -25truemm
\oddsidemargin=30truemm %
\evensidemargin=25truemm % inner margin of 30mm, outer 25mm
\textwidth=155truemm %
\voffset -25truemm
\topmargin=22truemm % top margin of 25mm
\headheight=0truemm % no head
\headsep=0truemm % no head
\textheight=246truemm % bottom margin of 25mm, page nos. inside
%
\def\pq{the $p$-quotient implementation}
\begin{document}
\title{A guide to the ANU {\it p}-Quotient Program\\Version 1.9}
\author{Eamonn O'Brien}
\date{January 2012}
\maketitle
\tableofcontents
\pagebreak
\begin{abstract}
\addcontentsline{toc}{section}{\numberline{}Abstract}
The ANU {\it p}-Quotient Program (pq) provides access to implementations
of an algorithm to construct a power-commutator presentation (pcp) for
a {\it p}-group and of an algorithm to generate descriptions of
{\it p}-groups. It also allows access to an implementation
of an algorithm which can be used to construct a ``canonical"
pcp for a $p$-group and via this construction it allows a user
to determine whether two $p$-groups are isomorphic. The latter
can be used to generate a description of its automorphism group.
\end{abstract}
\section{Program content}\label{sec:prog-content}
The ANU {\it p}-Quotient Program (pq) is named for the $p$-quotient algorithm
that it first implemented. Now, via menus it provides access to implementations
of all the following algorithms:
\begin{enumerate}
\item
A \emph{$p$-quotient algorithm} to compute a power-commutator presentation
for a $p$-group. The algorithm implemented here is based on that
described in Newman and O'Brien (1996), Havas and Newman (1980),
and papers referred to there.
Another description of the algorithm appears in Vaughan-Lee (1990b).
A FORTRAN implementation of this algorithm was programmed by
Alford \& Havas. The basic data structures of that implementation
are retained.
The current implementation incorporates the following features:
\begin{enumerate}
\item[a.]
collection from the left (see Vaughan-Lee, 1990b);
Vaughan-Lee's implementation of this collection
algorithm is used in the program;
\item[b.]
an improved consistency algorithm (see Vaughan-Lee, 1982);
\item[c.]
new exponent law enforcement and power routines;
\item[d.]
closing of relations under the action of automorphisms;
\item[e.]
some formula evaluation.
\end{enumerate}
\item
A \emph{$p$-group generation algorithm} to generate descriptions of $p$-groups.
The algorithm implemented here is based on the algorithms described in
Newman (1977) and O'Brien (1990). A FORTRAN implementation of this
algorithm was earlier developed by Newman \& O'Brien.
\item
A \emph{standard presentation algorithm} used to compute a canonical
power-commutator presentation of a $p$-group. The algorithm
implemented here is described in O'Brien (1994).
\item
An algorithm which can be used to compute the \emph{automorphism group} of
a $p$-group. The algorithm implemented here is described in O'Brien (1995).
\end{enumerate}
The pq program is written in traditional C and contains about
22000 lines of code.
It was developed in a SUN OS environment and has been ported successfully
to each of Solaris, AIX and Ultrix environments. The interface and
input/output facilities of the program are rudimentary. Interfaces
have been developed which allow parts of this program to be called
from within the computational group theory system {\sf GAP}.
This program is supplied as a package within {\sf GAP}.
The link from {\sf GAP} to pq is described in the manual
for {\sf GAP} 3.4 or in the manual found in the \texttt{doc} directory
in the case of the {\sf GAP}~4 package {\sf ANUPQ}; all of the
necessary code can be found in the \texttt{gap} directory of these
distributions.
The program is also distributed as part of Quotpic.
Version 1.9 of the pq program (i.e.~the version you are currently reading
the documentation for) is configured to call {\sf GAP}, at least version
4.5, to compute stabilisers when needed.
The FORTRAN version of this program was known as the
Nilpotent Quotient Program.
\section{Installing pq}\label{sec:pq-install}
To install pq just follow the instructions for installing the {\sf ANUPQ}
package, i.e. in the directory above, do:
\begin{quote}
\verb|./configure|\\
\verb|make| \textit{TARGET} \verb|GAP=|\textit{GAPPATH}
\end{quote}
If you are running Linux you may omit \textit{TARGET}. The path
\textit{GAPPATH} should be the path of a \emph{shell script} that runs
{\sf GAP} 4 with packages {\sf AutPGrp} (at least version 1.5) and
{\sf ANUPQ} (at least version 3.1)
installed. If the {\sf ANUPQ} and/or {\sf AutPGrp} packages are not installed
in the \texttt{pkg} directory of the {\sf GAP} 4 distribution, then
the \texttt{-l} option (last line of the \emph{shell script} previously
mentioned) \emph{must} be set to be a semicolon-separated list of
paths of the main {\sf GAP} directory and the path of the \texttt{pkg}
directory containing those packages of {\sf ANUPQ} and {\sf AutPGrp}
that are missing from the {\sf GAP} 4 distribution \texttt{pkg} directory.
The pq program only needs {\sf GAP} for computing stabilisers when you
answer ``No'' (\texttt{0}) to the question
``\texttt{PAG-generating sequence for automorphism group?}''.
If you neglect to add: ``\verb|GAP=|\textit{GAPPATH}'' to the \verb|make|
command, never mind; the pq program first checks to see if the environment
variable \verb|ANUPQ_GAP_EXEC| is set. For \texttt{csh} doing:
\begin{quote}
\verb|setenv ANUPQ_GAP_EXEC| \textit{GAPPATH}
\end{quote}
%
is essentially equivalent to including: \verb|GAP=|\textit{GAPPATH}
in the \verb|make| command. If you use a different shell just use the
appropriate syntax for setting environment variables for your shell.
A good test for checking that you have installed pq correctly is to try
the example in Appendix~\ref{sec:pgrp-gen-eg}.
\section{Organisation}
Access to the implementations of each algorithm mentioned in
Section~\ref{sec:prog-content} is provided via menus.
The \emph{$p$-quotient algorithm} machinery is provided by the
``Basic Menu for {\it p}-Quotient Program" and
the ``Advanced {\it p}-Quotient Menu";
access to the \emph{$p$-group generation algorithm} implementation is
provided via the main ``Menu for {\it p}-Group Generation'' and the
``Advanced Menu for {\it p}-Group Generation"; and finally the
\emph{standard presentation algorithm} and \emph{automorphism group algorithm}
implementations may be accessed via the ``Standard Presentation Menu".
By default, the pq program opens with the Basic Menu [for {\it p}-Quotient
Program] (see~\ref{sec:basic-menu}), which provides ``basic'' options for
the {\it p}-Quotient algorithm and via options \texttt{8} and \texttt{9}
gives (immediate) access to two further menus,
namely the Advanced {\it p}-Quotient Menu
(see~\ref{sec:advanced-pq-menu}) and the (main)
Menu for {\it p}-Group Generation (see~\ref{sec:pgrp-gen-main-menu}),
respectively. The main Menu for {\it p}-Group Generation provides
access to a further menu: the Advanced Menu for {\it p}-Group Generation
(see~\ref{sec:pgrp-gen-advanced-menu}).
If the pq program is invoked with the \texttt{-i} switch (see
Section~\ref{sec:runtime}), the program opens with the
Standard Presentation Menu (see Section~\ref{sec:stnd-pres-menu})
which gives one immediate access to the
standard presentation and automorphism group machinery
and via option \texttt{7} access to the Basic Menu
and hence the other menus.
To cleanly exit the pq program one must retrace one's path through the menus
(by typing the number of the option that exits each menu or \texttt{0}).
Exiting the menu that the pq program opened with (either the Basic Menu
or the Standard Presentation Menu), exits the pq program.
The Basic Menu, the main Menu for {\it p}-Group Generation and
the Standard Presentation Menu
are designed particularly for the new or occasional user;
levels of control by the user are low, but there is little
attendant risk of obtaining inaccurate information. The Advanced menus
are designed for the knowledgeable user with specialised needs; they
allow the user to make almost all decisions, provide little protection
and if pre-requisite information for an option to succeed
(e.g. a pc presentation for the group) is not in place, the pq will
invariably exit horribly.
Each menu is discussed in more detail later. See
Section~\ref{sec:conventions} for the conventions
that apply to these menus.
\pagebreak
\section{Runtime parameters}\label{sec:runtime}
The program may be invoked with the following runtime parameters:
\enlargethispage*{1\baselineskip}
\begin{description}
% An idea which may or may not be implemented
%\item[\texttt{-2}\hspace*{1em}]
% Gives the experimental Level 2 (non-menu) interface, which is
% being designed to supersede the usage of the other runtime parameter
% switches (except for \texttt{-v}) when pq is used with {\sf GAP} 4.
\item[\texttt{-b}\hspace*{1em}]
A ``basic" format can be used to input a group presentation.
See~\ref{sec:basic-fmt}.
\item[\texttt{-G}\hspace*{1em}]
This option is used by {\sf GAP} 4. It is essentially equivalent
to setting the switches \texttt{-g -i -k} simultaneously, except
that it uses {\sf GAP}'s iostream to direct requests to {\sf GAP}
to compute stabilisers when necessary.
\item[\texttt{-g}\hspace*{1em}]
If groups are generated using $p$-group generation, then
their presentations are written to a file
in a {\sf GAP} compatible format.
The name of the file may be selected using the \texttt{-w} option;
the default is \texttt{GAP\_library}.
\item[\texttt{-i}\hspace*{1em}]
This provides access to the Standard Presentation Menu,
which can be used to construct the standard presentation
of a given $p$-group.
\item[\texttt{-k}\hspace*{1em}]
The presentation may be defined and supplied using certain
key words. Examples of this format can be found in those
files in the \texttt{examples} directory whose names commence with
\texttt{keywords\_}. This option cannot be used with \texttt{-b}.
\item[\texttt{-s} {\it integer}]\ \\
All computations of power-commutator presentations occur
in an integer array, $y$ -- the space of this array, by
default 1000000, is set to {\em integer}. See the discussion
on strategies to minimise time and space later in this document.
\item[\texttt{-v}\hspace*{1em}]
Gives the version of the ANU {\it p}-Quotient program and exits.
\item[\texttt{-w} {\it file}]\ \\
Group descriptions are written in {\sf GAP}
format to {\em file}. \texttt{-g}
must be used in conjunction with this parameter.
\end{description}
If the program is compiled using the \texttt{RUN\_TIME} option, then
there are two additional runtime options:
\begin{description}
\item[\texttt{-c}\hspace*{1em}]
The maximum exponent-$p$ class to be considered.
\item[\texttt{-d}\hspace*{1em}]
A bound on the number of defining generators.
\end{description}
\pagebreak
\section{Conventions}\label{sec:conventions}
\subsection{Menu Conventions}
The following conventions apply for all menus.
\begin{itemize}
\item
Typing the integer identifying an option selects that option.
\item
At a number of points in running the program, you will
be asked questions or prompted for input. A non-zero integer response
signifies a positive response to the question; a response of \texttt{0} (zero)
is a negative response.
In this guide, a ``Yes" means a non-zero integer response;
a ``No" is a zero response.
\item
For each menu, the option \texttt{-1} lists the menu,
and \texttt{0} exits the menu.
To cleanly exit the pq program one must retrace one's path through the menus
(by typing the number of the option that exits each menu or \texttt{0}).
Exiting the menu that the pq program opened with (either the Basic Menu
or the Standard Presentation Menu), exits the pq program.
\item If the program cannot open a file for any reason, it simply
reports this and if not running interactively exits.
\item Input from the first occurrence of a ``\texttt{\#}" symbol to the
end of that line is interpreted as a comment and is ignored.
\end{itemize}
Language used in the menus for the construction of the pcp
follows that used in Havas \& Newman (1980) and
Newman \& O'Brien (1996);
that in the {\it p}-group generation menus follows O'Brien (1990);
that in the standard presentation menu follows O'Brien (1994).
\subsection{Word input}\label{sec:word-input}
The performance of the program is significantly enhanced if
it can store the defining relations in their unexpanded form.
It is currently only possible to store a supplied relation in its
unexpanded form if the relation is either a power OR a commutator,
and the components of the power or commutator are only
defining generators or their inverses. Hence, it is frequently
appropriate for the user to introduce redundant generators into
the supplied presentation.
There are two formats available for supplying
generators and relations: the ``default format''
(see Section~\ref{sec:def-fmt}) and the ``basic format''
(see Section~\ref{sec:basic-fmt}). Examples of the usage of both formats
can be found in the \texttt{examples} directory.
\subsubsection{The default format for word input}\label{sec:def-fmt}
Under the default format, a user is prompted for a list of
generators, which must be supplied as a set.
The user is then prompted for a defining set of relations,
again supplied as a set.
Any combination of relations and relators may be supplied.
Note, however, you may NOT use relations of the form $u = v = w$.
Relations are separated by commas, $\wedge$ is used for powers and
conjugation, \texttt{[} and \texttt{]} are used to indicate the beginning
and end of a commutator, and \texttt{1} is the identity of the group.
The following are examples of valid input for relations:
\newcommand{\wedg}{$\mathtt{\wedge}$}
\begin{flushleft}
\quad\verb|{x |{\wedg}\verb| 5 = [x, y, y], z |{\wedg}\verb| x = 1, z * y * x * z |{\wedg}\verb| -1 = 1}|\\
\quad\verb|{a3 * [a2, a1], a4 |{\wedg}\verb| a1 * a3 |{\wedg}\verb| a2 * [a2, a1 |{\wedg}\verb| -1, a4, a1 |{\wedg}\verb| 7] = 1}|
\end{flushleft}
\subsubsection{The basic format for word input}\label{sec:basic-fmt}
The basic format is selected at start-up via the \texttt{-b} switch
(see Section~\ref{sec:runtime}).
In the pcp, the defining generators and the pcp generators are
labeled as positive integers; in each case they commence at 1.
Inverses of generators are labelled by the corresponding negative number.
The format for word input is the following:
\begin{displaymath}
\textit{Exp}\; \textit{Gen}_1\; \textit{Gen}_2 \ldots \mathtt{;}
\end{displaymath}
where ``\textit{Exp}" is the exponent;
if $\textit{Gen}_i$ is a positive integer, it represents the corresponding
generator of the group; if it is a negative integer, it represents
the inverse of that generator. Word input is terminated by a ``\texttt{;}".
Entries in the word can be separated by any positive
number of spaces.
Defining relations may only be supplied as relations -- not as relators.
Each side of the relation is supplied as a word using the above
format. Where the input is a power of a left-normed commutator, the
following simpler format may be used
\begin{displaymath}
\textit{Exp}\; \texttt{[} \textit{Gen}_1\; \textit{Gen}_2 \ldots \texttt{];}
\end{displaymath}
where \texttt{[} and \texttt{]} are used to indicate the beginning and end
of the commutator. As for the default format, entries in the commutator can
be separated by an optional number of spaces.
The identity word is indicated by supplying a word with exponent \texttt{0}
-- ``\texttt{0;}" is sufficient.
Examples of acceptable input are the following:
\begin{itemize}
\item The input ``\texttt{5 2 1 -3 4;}"
represents the word $(2 \times 1 \times 3^{-1} \times 4)^5$.
\item The input ``\texttt{3 [2 1 1 3];}" represents
the commutator power $[2,\; 1,\; 1,\; 3]^3$.
\end{itemize}
Under the basic format, the program only accepts input of
either type in a word; you may not combine them. This may affect
how you supply the defining relations for the presentation.
\subsubsection{Advanced menu word input}
Words are supplied as input to options to the Advanced menus
on a number of occasions. Usually,
these are words in the pcp generators of the group.
Under the default format, the $n$ pcp generators of the group
are, for convenience, automatically labelled as
$\mathtt{x1, x2, \ldots, x}n$.
All words in the pcp generators are then supplied as words
in $\mathtt{x1, \ldots, x}n$, using the format prescribed above
for the defining relators. Word input is terminated by a ``\texttt{;}".
A few options allow input involving the defining generators.
The $m$ defining generators of the group are also automatically
labelled as $\mathtt{x1, x2, \ldots, x}m$. All words in the defining
generators are then supplied as words in $\mathtt{x1, \ldots, x}m$,
using the format prescribed above for the defining relators.
As before, word input is terminated by a ``\texttt{;}".
If you use the basic input format, then all words are
supplied as specified in the basic format discussion.
\subsection{Input and output facilities}
Currently, facilities exist to save the computed presentation to file
and to later restore and restart the computation. The files are saved and
restored using the ``\texttt{fread}" and ``\texttt{fwrite}" facilities,
respectively.
For both save and restore, the user supplies a name for the file,
which can be any valid (UNIX or VMS) name. In the case of writing to file,
the program does not query the user before overwriting
an existing file -- it is the user's responsibility to prevent
such situations from occurring.
\section{The {\it p}-Quotient implementation}
\subsection{Basic Menu for {\it p}-Quotient Program}\label{sec:basic-menu}
The default opening menu obtained on running the program is listed below.
\begin{verbatim}
Basic Menu for p-Quotient Program
----------------------------------
1. Compute pc presentation
2. Save presentation to file
3. Restore presentation from file
4. Display presentation of group
5. Set print level
6. Calculate next class
7. Compute p-covering group
8. Advanced p-quotient menu
9. (Main) menu for p-group generation
10. Exit from p-quotient program
\end{verbatim}
We now discuss each of these options.
\begin{description}
\item[\texttt{1.\ Compute pc presentation}]\ \\
When you select this option, you will be given the following sequence
of prompts for input. [If you start the pq program with the \texttt{-k}
switch (see Section~\ref{sec:runtime}), you will not be prompted;
instead you must supply input in the form:
\begin{quote}
\textit{keyword} \textit{value}
\end{quote}
where \textit{value} is the input you would otherwise have been prompted
for. The last input for this option must also be terminated by a semicolon
(\texttt{;}). Some data have default values if omitted, and there is no
restriction on the order in which the data are supplied. The keyword
\textit{keyword} needed and default value if there is one, for the
corresponding \texttt{-k} input is given in square brackets after describing
each prompt (but not after describing the prompts obtained when the pq
program is called with \texttt{-b} --- the \texttt{-k} and \texttt{-b}
switches cannot be used together). Actually, only the first 3 letters
of each keyword are significant; so, in fact, \texttt{prime}, for example,
may be abbreviated to \texttt{pri}.]
%
\begin{description}
\item[\texttt{Input group identifier:}]\ \\
you may supply any sequence of characters,
excluding spaces, as a valid identifier for the group.
[keyword: \texttt{name}, default: \texttt{G}.]
\item[\texttt{Input prime:}]\ \\
supply the prime $p$ used in computing the {\it p}-quotient.
[keyword: \texttt{prime}.]
\item[\texttt{Input maximum class:}]\ \\
supply the maximum exponent-{\it p} class of the quotient to be constructed.
[keyword: \texttt{classbound}, default: \texttt{10}.]
\item[\texttt{Input print level:}]\ \\
see option \texttt{5} below.
[keyword: \texttt{outputlevel}, default: \texttt{1}.]
\end{description}
%
If the default format is used (i.e.\ pq was not called with the \texttt{-b}
switch) then you will be prompted as follows.
%
\begin{description}
\item[\texttt{Input generating set}]\hspace*{-0.5em}\verb| (in { }):|\\
supply generating set.
[keyword: \texttt{generators}.]
\item[\texttt{Input defining set of relations}]\hspace*{-0.5em}\verb| (in { }):|\\
supply defining set of relations.
[keyword: \texttt{relators}, default: \verb|{}|.]
\end{description}
%
Otherwise, if the basic format is used (i.e.\ pq was called with the
\texttt{-b} switch; see Section~\ref{sec:runtime}), you will not be
prompted; instead you must supply input in the) then you will be given the
following prompts.
%
\begin{description}
\item[\texttt{Input number of generators:}]\ \\
supply number of defining generators.
\item[\texttt{Input number of relations:}]\ \\
supply number of defining relations.
\end{description}
%
Then (i.e.\ with or without the \texttt{-b} switch) you will be prompted
%
\enlargethispage*{1\baselineskip}
\begin{description}
\item[\texttt{Input exponent law (0 if none):}]\ \\
if the group is to satisfy a particular exponent law, supply a positive
value for that exponent.
[keyword: \texttt{exponentlaw}, default: \texttt{0}.]
\end{description}
%
In the basic format case, you will finally also be prompted to input each
relation for the group (if any).
\item[\texttt{2.\ Save presentation to file}]\ \\
prompts for file name, saves group presentation to file.
\item[\texttt{3.\ Restore presentation from file}]\ \\
prompts for file name, restores group presentation from that file if it exists.
\item[\texttt{4.\ Display presentation of group}]\ \\
displays group presentation;
detail depends on print level; if level is one, then display order
of group, otherwise display full pcp.
\item[\texttt{5.\ Set print level}]\ \\
ranges from 0, providing no output, to 3;
1, the default, provides minimal output.
\item[\texttt{6.\ Calculate next class}]\ \\
calculates pcp for quotient having one class greater than the
class of the existing group.
\item[\texttt{7.\ Compute p-covering group}]\ \\
\item[\texttt{8.\ Advanced p-quotient menu}]\ \\
provides access to the ``Advanced Menu" (intended for experts)
for user manipulation of the presentation.
\item[\texttt{9.\ (Main) menu for p-group generation}]\ \\
provides access to the main menu for {\it p}-group generation.
\item[\texttt{10.\ Exit from p-quotient program}]\ \\
causes the pq program to exit, or if pq was called with the \texttt{-i}
switch (see Section~\ref{sec:runtime}) exits to the Standard Presentation
Menu. Selecting option \texttt{0} performs the same function.
\end{description}
\subsection{Advanced {\it p}-Quotient Menu}\label{sec:advanced-pq-menu}
The advanced {\it p}-quotient menu, given below, is selected by
choosing option \texttt{8} from the Basic Menu (see~\ref{sec:basic-menu}).
\begin{verbatim}
Advanced p-Quotient Menu
-------------------------
1. Do individual collection
2. Solve the equation ax = b for x
3. Calculate commutator
4. Display group presentation
5. Set print level
6. Set up tables for next class
7. Insert tails for some or all classes
8. Check consistency for some or all classes
9. Collect defining relations
10. Carry out exponent checks
11. Eliminate redundant generators
12. Revert to presentation for previous class
13. Set maximal occurrences for pcp generators
14. Set metabelian flag
15. Carry out an individual consistency calculation
16. Carry out compaction
17. Carry out echelonisation
18. Supply and/or extend automorphisms
19. Close relations under automorphism actions
20. Print structure of a range of pcp generators
21. Display automorphism actions on generators
23. Collect word in defining generators
24. Compute commutator of defining generators
25. Write presentation to file in GAP format
26. Write compact description of group to file
27. Evaluate certain formulae
28. Evaluate action specified on defining generators
29. Evaluate Engel (p - 1)-identity
30. Process contents of relation file
31. Exit to basic menu
\end{verbatim}
\section{The {\it p}-Group Generation implementation}
\subsection{Required input}
The required input is the {\it p}-covering group of the starting group,
together with a description of the automorphism group of the {\it p}-covering
group.
Before you commence to construct descendants,
you should construct or restore its {\it p}-covering group,
using the appropriate options of the Basic Menu (see~\ref{sec:basic-menu}).
It is the user's responsibility to do this -- no check is performed.
\subsection{The automorphism group description}\label{sec:autgp-desc}
You must also supply a description of its automorphism group,
which is done by selecting option \texttt{1} of either
of the menus for {\it p}-group generation
(see~\ref{sec:pgrp-gen-main-menu} or~\ref{sec:pgrp-gen-advanced-menu}).
This description is the action of each automorphism on each of the
pcp generators of the Frattini quotient of the group.
The action is described by a vector of exponents -- the length
of the vector is the number of pcp generators of the group,
its entries are the powers of each of these generators
which occur in the image.
Where the automorphism group is soluble, a PAG-generating system should
be supplied which works up a composition series for the group via
cyclic factors of prime order. In such cases, the calculations may be
carried out completely within pq. If the soluble
group machinery is selected by the user, but a PAG-generating system is
not supplied, then the program will give wrong information.
If the automorphism group is insoluble or a PAG-generating sequence
is not supplied, a call is made by the program to one {\sf GAP},
which computes stabilisers of particular orbit representatives.
If the automorphism group of any of the intermediate (reduced)
{\it p}-covering groups is found to be soluble, a PAG-generating sequence
is computed by {\sf GAP} and handed back to pq. The soluble machinery
is now automatically invoked for the rest of the computation.
\subsection{Saving group descriptions}
The constructed groups of a particular class, $c$, are saved to a file,
whose name is obtained by concatenating:
\textit{starting-group-identifier} and $c$, where
\textit{starting-group-identifier} is the group identifier defined at option
\texttt{1} of the Basic Menu (see Section~\ref{sec:basic-menu})
e.g.~if you use the \texttt{-k} switch (see Section~\ref{sec:runtime})
when you started the pq program and settled for the default group identifier
\texttt{G} then for class 2, the groups will be saved to a file with name:
\texttt{G\_class2}. As before, the
program does not query the user before overwriting an existing file.
\subsection{The (Main) Menu for {\it p}-Group Generation}
\label{sec:pgrp-gen-main-menu}
The main Menu for {\it p}-Group Generation, given below, is selected by
choosing option \texttt{9} from the Basic Menu (see~\ref{sec:basic-menu}).
\pagebreak
\begin{verbatim}
Menu for p-Group Generation
-----------------------------
1. Read automorphism information for starting group
2. Extend and display automorphisms
3. Specify input file and group number
4. List group presentation
5. Construct descendants
6. Advanced p-group generation menu
7. Exit to basic menu
\end{verbatim}
We now describe the options given by this menu.
\begin{description}
\item[\texttt{1.\ Read automorphism information for starting group}]\ \\
first prompts for the following:
\begin{description}
\item[\texttt{Input the number of automorphisms:}]\ \\
You must provide the number of automorphisms generating the automorphism
group of the starting group. Then you will be prompted for the action
of each automorphism on the pcp generators of the Frattini quotient of the
group, after which you will be prompted:
\item[\texttt{Input number of soluble generators for automorphism group:}]\ \\
If you enter a positive integer $n$ you will then be prompted for the
relative order of each of those $n$ automorphisms.
\end{description}
%
\item[\texttt{2.\ Extend and display automorphisms}]\ \\
compute the extensions of these automorphisms to act on the pcp generators
of the {\it p}-covering group and display the results.
\item[\texttt{3.\ Specify input file and group number}]\ \\
prompts for the input file name and the group number.
\item[\texttt{4.\ List group presentation}]\ \\
display at output level 3 the presentation for the group.
\item[\texttt{5.\ Construct descendants}]\ \\
we discuss this option in detail in Section~\ref{sec:constr-desc}.
\item[\texttt{6.\ Advanced p-group generation menu}]\ \\
provides access to the ``Advanced Menu"
for user-controlled construction and manipulation.
\item[\texttt{7.\ Exit to basic menu}]\ \\
returns the user to the Basic Menu (see~\ref{sec:basic-menu}).
Selecting option \texttt{0} performs the same function.
\end{description}
\subsection{Construct descendants option}\label{sec:constr-desc}
Here we discuss option \texttt{5} of the (main) {\it p}-group generation
menu (see~\ref{sec:pgrp-gen-main-menu}).
If you select this option you receive a number of questions or prompts
for input. Those prompts/questions are as follows.
\begin{description}
\item[\texttt{Input class bound on descendants:}]\ \\
you must supply a positive integer greater than the class
of the starting group, and which is an upper bound
on the class of the descendants constructed.
\item[\texttt{Construct all descendants?}]\ \\
If you enter a ``Yes" response (by entering a non-zero integer)
you are asked:
\begin{description}
\item[\texttt{Set an order bound for descendants?}]\ \\
If you answer ``Yes" you are further prompted (if you answer
``No" (i.e.\ \texttt{0}) you are not so prompted):
\begin{description}
\item[\texttt{Input order bound on descendants:}]\ \\
and the integer order bound you input will apply in addition to
the class bound selected.
\end{description}
\end{description}
If you responded ``No" to the ``\texttt{Construct all descendants?}'' query
and the class increase is one you are prompted:
\begin{description}
\item[\texttt{Input step size:}]\ \\
and a positive integer is expected.
\end{description}
If you responded ``No" to the ``\texttt{Construct all descendants?}'' query
and the class increase is greater than one you are prompted as follows:
\begin{description}
\item[\texttt{Constant step size?}]\ \\
If you answer ``Yes" you are prompted:
\begin{description}
\item[\texttt{Input step size:}]\ \\
and a positive integer is expected.
\end{description}
If you answer ``No" to ``\texttt{Constant step size?}'' you are prompted:
\begin{description}
\item[\texttt{Input $n$ step sizes:}]\ \\
for some integer $n$, and you must enter $n$ positive
integers separated by spaces.
\end{description}
\end{description}
\item[\texttt{PAG-generating sequence for automorphism group?}]\ \\
This determines the algorithm used in constructing the orbits
and stabilisers of representative allowable subgroups
(see~\ref{sec:min-time-space}).
Whether you answer ``Yes" or ``No" you are then asked:
\item[\texttt{Default algorithm?}]\ \\
A ``Yes" here constructs immediate descendants using the smallest possible
characteristic initial segment subgroups in the {\it p}-multiplicator.
This minimises the degree of the permutation group constructed.
If you answer ``No", then you will be prompted/asked:
\begin{description}
\item[\texttt{Rank of the initial segment subgroup?}]\ \\
If you want to proceed as in the default, respond ``\texttt{0}";
otherwise any positive value is accepted. If the value is
larger than the rank of the {\it p}-multiplicator, the program
takes this upper bound as the selected value. The initial segment
subgroup determined by this response is characteristically
closed by the program.
If your answer to
``\texttt{PAG-generating sequence for automorphism group?}"
was a ``Yes", then
you will receive the following further question.
\begin{description}
\item[\texttt{Space efficient computation?}]\ \\
By default, all of the permutations constructed are stored.
If you answer ``Yes", at any one time only one permutation is
stored, consequently reducing the amount of space significantly.
However, the time taken in computing the automorphism group
of each descendant is also significantly increased.
\end{description}
Then you will prompted/asked the following:
\begin{description}
\item[\texttt{Completely process terminal descendants?}]\ \\
By default, automorphism groups are computed for and descriptions of
capable groups only are saved to file.
If you wish to compute automorphism groups and save descriptions of
all descendants to file, then answer ``Yes". In this case,
for both terminal and capable groups, the automorphism group is
saved to file; if capable, the pcp of the {\it p}-covering group
is saved; if terminal, the pcp for the group.
\item[\texttt{Input exponent law (0 if none):}]\ \\
If you wish to construct only those immediate descendants
which satisfy a particular exponent law, supply that exponent; if
you do not wish to enforce an exponent law, supply \texttt{0}.
\item[\texttt{Enforce metabelian law?}]\ \\
If you answer ``Yes", you seek to ensure that all of the immediate
descendants constructed have the following property -- if any one of them
is used as a starting group to a later iteration, only the metabelian
immediate descendants (if any) of this group are constructed.
For this requirement to be enforceable, the starting group for
this iteration must also have that property. To ensure that the
starting group has that property, construct its $p$-covering group
after having first set the metabelian flag via option \texttt{14} of
the Advanced $p$-Quotient Menu (see~\ref{sec:advanced-pq-menu}).
\end{description}
\end{description}
\item[\texttt{Do you want default output?}]\ \\
If you answer ``Yes", minimal output is displayed for each group:
its identifier, the ranks of its {\it p}-multiplicator and nucleus,
the number of its immediate descendants of each order, and, if there are any,
the number of its capable immediate descendants.
For many applications, the default output obtained by ``Yes" is sufficient.
If not, then by answering ``No" you are asked whether you want the
default output for each of the following categories:
permutation group, orbits, group descriptions, automorphism group
descriptions, or if you want an algorithm trace. Answering ``No" to
any of these questions (except for the last)
leads to further questions, each requiring a ``Yes"/``No" answer,
about what additional information you desire
(or don't want) for the category. The following are the questions that
result from a ``No" response to ``\texttt{Do you want default output?}":
\enlargethispage*{1\baselineskip}
\begin{description}
\item[\texttt{Do you want default permutation group output?}]\ \\
A ``No" leads to the further questions:
\begin{description}
\item[\texttt{Print degree of permutation group?}]
\item[\texttt{Print extended automorphisms?}]
\item[\texttt{Print automorphism matrices?}]
\item[\texttt{Print permutations?}]
\end{description}
\item[\texttt{Do you want default orbit output?}]\ \\
A ``No" leads to the further questions:
\begin{description}
\item[\texttt{Summary of orbit information?}]
\item[\texttt{Complete listing of orbits?}]
\end{description}
\item[\texttt{Do you want default group output?}]\ \\
A ``No" leads to the further questions:
\begin{description}
\item[\texttt{Print standard matrix of allowable subgroup?}]
\item[\texttt{Presentation of reduced p-covering groups?}]
\item[\texttt{Presentation of immediate descendants?}]
\item[\texttt{Print nuclear rank of descendants?}]
\item[\texttt{Print p-multiplicator rank of descendants?}]
\end{description}
\item[\texttt{Do you want default automorphism group output?}]\ \\
A ``No" leads to the further questions:
\begin{description}
\item[\texttt{Print commutator matrix?}]
\item[\texttt{Automorphism group description of descendants?}]
\item[\texttt{Automorphism group order of descendants?}]
\end{description}
\item[\texttt{Do you want algorithm trace output?}]\ \\
This last question is designed to permit
one to trace the intermediate stages of the algorithm.
\end{description}
\end{description}
After the above dialogue, the pq binary will commence constructing
descendants. At the commencement of the application, each starting group
is checked to determine whether it meets the selected step size
order, and class criteria. If it does not, a message is displayed
stating that this starting group is invalid.
%\newpage
\enlargethispage*{2\baselineskip}
\subsection{Advanced Menu for {\it p}-Group Generation}
\label{sec:pgrp-gen-advanced-menu}
\begin{verbatim}
Advanced Menu for p-Group Generation
-------------------------------------
1. Read automorphism information for starting group
2. Extend and display automorphisms
3. Specify input file and group number
4. List group presentation
5. Carry out intermediate stage calculation
6. Compute definition sets & find degree
7. Construct permutations of subgroups under automorphisms
8. Compute and list orbit information
9. Process all orbit representatives
10. Process individual orbit representative
11. Compute label for standard matrix of subgroup
12. Compute standard matrix for subgroup from label
13. Find image of allowable subgroup under automorphism
14. Find rank of closure of initial segment subgroup
15. List representative and orbit for supplied label
16. Write compact descriptions of generated groups to file
17. Find automorphism classes of elements of vector space
18. Exit to main p-group generation menu
\end{verbatim}
\subsection{Strategies to minimise time and space}\label{sec:min-time-space}
Where a PAG-generating sequence is supplied (i.e.\ the question
``\texttt{PAG-generating sequence for automorphism group?}" is answered with
a ``Yes"; see~\ref{sec:constr-desc}), the minimum space
requirement is achieved by supplying ``\texttt{0}" and ``Yes",
respectively, to the questions:
``\texttt{Rank of the initial segment subgroup?}" and
``\texttt{Space efficient computation?}".
This space efficiency is achieved at the cost of some additional
time in computing the stabilisers of orbit representatives.
However, if you simply wish to compute orbits, it is the
best overall strategy, both from space and time considerations.
The ``efficient space" option is currently available only
where a PAG-generating sequence is supplied.
In general, the most efficient time performance is obtained by
taking the default algorithm (answering ``Yes" to
``\texttt{Default algorithm?}; see~\ref{sec:constr-desc}). This also
gives significant space saving over most other strategies.
As mentioned earlier, the workspace size used in computing pcps --
that is, the size of the array $y$ -- may be passed as a command
line argument to the program at invocation. Much of the storage used in the
implementation of {\it p}-group generation is separate from that
allocated for $y$. Hence, if the program is to be used to
generate group descriptions, it is probably sensible
to invoke the program with a workspace size of no more than
$100\;000$ rather than its default value, \texttt{PQSPACE}
(which is defined in the header file, \texttt{constants.h}).
See also the discussion on this point in the \texttt{README} file.
\section{The Standard Presentation and\\ Automorphism Group implementation}
\label{sec:stnd-pres-menu}
The Standard Presentation Menu allows a user
to input a finite presentation for a group, to construct
a ``standard" presentation for a specified $p$-quotient of the group,
and also to construct a description of the automorphism group of the $p$-group.
To access this menu, you need to run the pq program
with the \texttt{-i} run-time parameter switch (see~\ref{sec:runtime}).
The appropriate way to view the standard presentation algorithm is the
following.
The pcp constructed by supplying a finite presentation to
the $p$-quotient algorithm depends on the supplied presentation.
The standard presentation of a $p$-group obtained using
the standard presentation algorithm is independent of the
supplied presentation. Hence it allows us to determine whether
two $p$-groups are isomorphic.
In its most general form, the ``standard" presentation
of a $p$-group is obtained by constructing a description of this
group using the $p$-group generation algorithm.
The standard presentation of a class 1 $p$-quotient
is identical to that obtained from the $p$-quotient.
A user can choose to take the presentation returned
from the $p$-quotient implementation to class $k$
as an acceptable ``standard" presentation up to that
class and then proceed to standardise the presentation
from class $k + 1$ to some desired later class.
This is particularly relevant if the user is seeking
to verify that two groups are isomorphic.
It may turn out that the two pcps
constructed by \pq\ are identical up to class $k$.
Since the standardisation procedure is significantly more
expensive than a call to \pq, it makes sense in such
situations to begin to standardise only from class $k + 1$ onwards.
However, the user must supply as input a description
of the automorphism group of the class $k$ $p$-quotient
-- which may be more difficult to obtain for larger $k$.
In checking for isomorphism, it also makes sense
to standardise each of the presentations,
class by class. The standard presentations
at the end of each class should be compared --
if they are distinct, then the groups are non-isomorphic.
In order to facilitate this, the program writes a
file containing necessary details of the standard presentation and the
automorphism group of the group up to the end of the specified class
-- this file can be used as input to the program later to
continue the standardisation procedure.
A generating set for a supplement to the inner automorphisms of the
group is stored there; each generator is described by an $n \times n$
matrix whose exponents represent the image of each of the $n$
pcp generators of the standard presentation.
\begin{verbatim}
Standard Presentation Menu
-----------------------------
1. Supply start information
2. Compute standard presentation to supplied class
3. Save presentation to file
4. Display presentation
5. Set print level for construction
6. Compare two presentations stored in files
7. Call basic menu for p-Quotient program
8. Compute the isomorphism
9. Exit from program
\end{verbatim}
We now describe each of these options.
\begin{description}
\item[\texttt{1.\ Supply start information}]\ \\
you must supply a finite presentation
for the $p$-group; the queries are identical to that used in
option \texttt{1} of the Basic Menu [for $p$-Quotient Program]
(see~\ref{sec:basic-menu}). All of the valid formats for
supplying a presentation can be accessed,
using the \texttt{-b} or \texttt{-k} run-time switches
(see Section~\ref{sec:runtime}).
If the class supplied is $c$, then standardisation
(selected under option \texttt{2}) begins at class $c + 1$ only.
In general the supplied value for the class will be one --
however, see the preceding discussion.
A pcp for the class $c$ $p$-quotient of the group
is now computed using the \pq.
\item[\texttt{2.\ Compute standard presentation to supplied class}]\ \\
If, when selecting this option, you haven't previously selected
option \texttt{1} to supply a finite presentation, then
you will be prompted:
%
\begin{description}
\item[\texttt{Enter input file name for group information:}]\ \\
The assumption is that such a file containing the presentation and
automorphism information for the $p$-group was generated from a previous
run of the Standard Presentation algorithm. If you don't supply a
valid filename the pq program bails out of option \texttt{2}.
\end{description}
%
Whether or not you have previously selected option \texttt{1},
you will then be prompted:
\begin{description}
\item[\texttt{Enter output file name for group information:}]\ \\
The file whose name you choose can be used as input
later to continue the construction of the standard pcp.
Then you will be asked:
\item[\texttt{Standardise presentation to what class?}]\ \\
The start class is one greater than the class of the $p$-quotient
selected using option \texttt{1} or that stored on the input file.
Here you should specify the end class for the standardisation procedure.
\end{description}
If you selected option \texttt{1} to supply a finite presentation,
you will now be prompted for automorphism information --
in exactly the same manner as under option \texttt{1} of
the main Menu for $p$-Group Generation (see~\ref{sec:pgrp-gen-main-menu}),
and then also asked whether the supplied description
is a PAG-generating sequence or not:
\begin{description}
\item[\texttt{PAG-generating sequence for automorphism group?}]
\end{description}
\item[\texttt{3.\ Save presentation to file}]\ \\
\item[\texttt{4.\ Display presentation}]\ \\
print out the standard presentation to the current class.
\item[\texttt{5.\ Set print level for construction}]\ \\
ranges from 0 to 2.
At print level 0, only timing information is printed.
At print level 1, the standard presentation at the end
of each class is also printed.
At print level 2, full detail of the construction is
reported. The default print level is 1.
\item[\texttt{6.\ Compare two presentations stored in files}]\ \\
supply the names of two data files containing these
presentations; a check will be run to determine if the
presentations are identical.
This comparison facility may be applied to any two
pcps -- not just standard ones.
\item[\texttt{7.\ Call basic menu for p-Quotient program}]\ \\
provides access to the Basic Menu for $p$-Quotient program
(see~\ref{sec:basic-menu}).
\item[\texttt{8.\ Compute the isomorphism}]\ \\
computes the mapping from the user-supplied generators
to the generators for the standard presentation.
\item[\texttt{9.\ Exit from program}]\ \\
causes the pq program to exit.
Selecting option \texttt{0} performs the same function.
\end{description}
Various files, all having prefixes ``\texttt{ISOM\_}", are first created and
then deleted by pq while executing the standard presentation algorithm.
\section{Warning}
Pay attention to the results, and where possible confirm
their correctness with other established sources.
\pagebreak
\appendix
\section{Examples}
\subsection{A Basic Menu example}
The following example exercises options within the Basic Menu
(see~\ref{sec:basic-menu}). When the pq program is used without any switches
(see Section~\ref{sec:runtime}), it opens with the Basic Menu.
\begin{verbatim}
Basic Menu for p-Quotient Program
----------------------------------
1. Compute pc presentation
2. Save presentation to file
3. Restore presentation from file
4. Display presentation of group
5. Set print level
6. Calculate next class
7. Compute p-covering group
8. Advanced p-quotient menu
9. (Main) menu for p-group generation
10. Exit from p-quotient program
Select option: 1 #we want to enter a pc presentation
Input group identifier: 2gp #something meaningful
Input prime: 2 #it's a 2-group
Input maximum class: 6
Input print level (0-3): 1 #minimal output
Input generating set (in { }): {a, b}
Input defining set of relations (in { }): { [b, a, a], (a * b * a)^4 }
Input exponent law (0 if none): 0
Lower exponent-2 central series for 2gp
Group: 2gp to lower exponent-2 central class 1 has order 2^2
Group: 2gp to lower exponent-2 central class 2 has order 2^5
Group: 2gp to lower exponent-2 central class 3 has order 2^8
Group: 2gp to lower exponent-2 central class 4 has order 2^11
Group: 2gp to lower exponent-2 central class 5 has order 2^15
Group: 2gp to lower exponent-2 central class 6 has order 2^19
Computation of presentation took 0.02 seconds
Select option: 2 #save option
Enter output file name: 2GP #file name
Presentation written to file
Select option: 0 #exit
Exiting from ANU p-Quotient Program
Total user time in seconds is 0.02
\end{verbatim}
This is essentially example \texttt{2gp} in the \texttt{examples} directory
(except some of our \texttt{\#}\textit{comment}s are different).
If the binary for the pq program is \texttt{pq}, then
\begin{quote}
\verb|pq < 2gp|
\end{quote}
executes the example non-interactively, with something similar to the above
output to the screen, minus the menu. Note that
the menus from the pq program are only displayed when it is used interactively.
A script file for the pq program (like \texttt{2gp}) should contain the
responses that the pq program will expect, in the correct sequence.
\subsection{A {\it p}-Group Generation example}\label{sec:pgrp-gen-eg}
The following example is essentially \verb|pga_3gp| from the
\texttt{examples} directory, except again we have modified the comments,
and we have also answered ``No'' to the ``PAG-generating sequence'' question,
so that {\sf GAP} is called to compute stabilisers. If the pq binary is
unable to find {\sf GAP} or finds {\sf GAP 3} instead of {\sf GAP} 4 the
program will die horribly at this point. (See Section~\ref{sec:pq-install}
if you run into problemsm, at this point.)
For this example (which generates all groups with lower exponent-3 series of
shape 2-2-3-1), the pq program is invoked without any of the switches
of Section~\ref{sec:runtime}.
\begin{verbatim}
[..Basic Menu omitted here..]
Select option: 1 #set up group presentation
Input group identifier: c3c3
Input prime: 3
Input maximum class: 1
Input print level (0-3): 1
Input generating set (in { }): {a, b}
Input defining set of relations (in { }): {}
Input exponent law (0 if none): 0
Lower exponent-3 central series for c3c3
Group: c3c3 to lower exponent-3 central class 1 has order 3^2
Computation of presentation took 0.00 seconds
Select option: 7 #compute its 3-covering group
Group: c3c3 to lower exponent-3 central class 2 has order 3^5
Computation of 3-covering group took 0.00 seconds
Select option: 9 #enter p-group generation
Menu for p-Group Generation
-----------------------------
1. Read automorphism information for starting group
2. Extend and display automorphisms
3. Specify input file and group number
4. List group presentation
5. Construct descendants
6. Advanced p-group generation menu
7. Exit to basic menu
Select option: 1 #to supply automorphisms
Input the number of automorphisms: 5
Now enter the data for automorphism 1
Input 2 exponents for image of pcp generator 1: 2 0
Input 2 exponents for image of pcp generator 2: 0 2
Now enter the data for automorphism 2
Input 2 exponents for image of pcp generator 1: 0 2
Input 2 exponents for image of pcp generator 2: 1 0
Now enter the data for automorphism 3
Input 2 exponents for image of pcp generator 1: 1 2
Input 2 exponents for image of pcp generator 2: 2 2
Now enter the data for automorphism 4
Input 2 exponents for image of pcp generator 1: 1 0
Input 2 exponents for image of pcp generator 2: 2 1
Now enter the data for automorphism 5
Input 2 exponents for image of pcp generator 1: 2 0
Input 2 exponents for image of pcp generator 2: 0 1
Input number of soluble generators for automorphism group: 0
Select option: 5 #to construct descendants
Input class bound on descendants: 4
Construct all descendants? 0 #i.e. ``No''
Constant step size? 0 #i.e. ``No''
Input 3 step sizes: 2 3 1
PAG-generating sequence for automorphism group? 0 #i.e. ``No''
Do you want default algorithm? 1 #i.e. ``Yes''
Do you want default output? 1 #i.e. ``Yes''
**************************************************
Starting group: c3c3
Order: 3^2
Nuclear rank: 3
3-multiplicator rank: 3
Now calling GAP to compute stabiliser...
true
#I Order of GL subgroup is 48
#I No. of soluble autos is 0
#I dim U = 1 dim N = 3 dim M = 3
#I nice stabilizer with perm rep
Now calling GAP to compute stabiliser...
true
#I Order of GL subgroup is 48
#I No. of soluble autos is 0
#I dim U = 1 dim N = 3 dim M = 3
#I nice stabilizer with perm rep
# of immediate descendants of order 3^4 is 3
# of capable immediate descendants is 3
**************************************************
3 capable groups saved on file c3c3_class2
**************************************************
Starting group: c3c3 #1;2
Order: 3^4
Nuclear rank: 2
3-multiplicator rank: 3
Group c3c3 #1;2 is an invalid starting group
**************************************************
Starting group: c3c3 #2;2
Order: 3^4
Nuclear rank: 3
3-multiplicator rank: 4
# of immediate descendants of order 3^7 is 4
# of capable immediate descendants is 4
**************************************************
Starting group: c3c3 #3;2
Order: 3^4
Nuclear rank: 2
3-multiplicator rank: 3
Group c3c3 #3;2 is an invalid starting group
**************************************************
4 capable groups saved on file c3c3_class3
**************************************************
Starting group: c3c3 #2;2 #1;3
Order: 3^7
Nuclear rank: 4
3-multiplicator rank: 5
# of immediate descendants of order 3^8 is 16
# of capable immediate descendants is 11
**************************************************
Starting group: c3c3 #2;2 #2;3
Order: 3^7
Nuclear rank: 3
3-multiplicator rank: 4
# of immediate descendants of order 3^8 is 13
# of capable immediate descendants is 9
**************************************************
Starting group: c3c3 #2;2 #3;3
Order: 3^7
Nuclear rank: 3
3-multiplicator rank: 4
# of immediate descendants of order 3^8 is 13
# of capable immediate descendants is 9
**************************************************
Starting group: c3c3 #2;2 #4;3
Order: 3^7
Nuclear rank: 3
3-multiplicator rank: 4
# of immediate descendants of order 3^8 is 7
# of capable immediate descendants is 5
**************************************************
34 capable groups saved on file c3c3_class4
Construction of descendants took 69.95 seconds
Select option: 0 #exit to basic menu (same as option 7)
Exiting from p-group generation
Select option: 0 #exit program (same as option 9)
Exiting from ANU p-Quotient Program
Total user time in seconds is 69.95
\end{verbatim}
\subsection{A Standard Presentation Menu example}
The following example is similar to what is provided by the file \verb|2gp|
in the \texttt{isom} directory, except we have added comments, we
have not used the \texttt{-k} (keywords) runtime switch and to reduce the
output we have only computed the standard presentation to class 3 (instead
of class 10, as in the \verb|2gp| example).
For this example, the pq program is invoked with the \texttt{-i} runtime
switch (see Section~\ref{sec:runtime}), which gives us access to the
Standard Presentation Menu (see Section~\ref{sec:stnd-pres-menu}).
\begin{verbatim}
Standard Presentation Menu
-----------------------------
1. Supply start information
2. Compute standard presentation to supplied class
3. Save presentation to file
4. Display presentation
5. Set print level for construction
6. Compare two presentations stored in files
7. Call p-Quotient menu
8. Compute the isomorphism
9. Exit from program
Select option: 1 #input group info.
Input group identifier: G
Input prime: 2
Input maximum class: 1
Input print level (0-3): 1 #just minimal output
Input generating set (in { }): {a, b}
Input defining set of relations (in { }): {a^4, b^4 = [b, a, a]}
Input exponent law (0 if none): 0
Lower exponent-2 central series for G
Group: G to lower exponent-2 central class 1 has order 2^2
Class 1 2-quotient and its 2-covering group computed in 0.02 seconds
Select option: 2 #for standard presentation
Enter output file name for group information: 2gp-st
Standardise presentation to what class? 3
Input the number of automorphisms: 2
Now enter the data for automorphism 1
Input 2 exponents for image of pcp generator 1: 0 1
Input 2 exponents for image of pcp generator 2: 1 1
Now enter the data for automorphism 2
Input 2 exponents for image of pcp generator 1: 0 1
Input 2 exponents for image of pcp generator 2: 1 0
PAG-generating sequence for automorphism group? 1 #i.e. ``Yes''
Starting group has order 2^2; its automorphism group order is 6
The standard presentation for the class 2 2-quotient is
Group: G #1;3 to lower exponent-2 central class 2 has order 2^5
Non-trivial powers:
.1^2 = .4
.2^2 = .5
Non-trivial commutators:
[ .2, .1 ] = .3
Its automorphism group has order 384
Computing standard presentation for class 2 took 0.08 seconds
The standard presentation for the class 3 2-quotient is
Group: G #1;3 to lower exponent-2 central class 3 has order 2^8
Non-trivial powers:
.1^2 = .4
.2^2 = .5
.3^2 = .6 .8
.5^2 = .6
Non-trivial commutators:
[ .2, .1 ] = .3
[ .3, .1 ] = .6
[ .3, .2 ] = .7
[ .4, .2 ] = .8
[ .5, .1 ] = .6 .7 .8
Its automorphism group has order 4096
Computing standard presentation for class 3 took 0.12 seconds
Select option: 0 #exit (option 9 does this also)
\end{verbatim}
\subsection{A keywords example}
To use keywords you must use the \texttt{-k} runtime switch
(see Section~\ref{sec:runtime}). For this example we are again
using the Standard Presentation Menu; so we also use the \texttt{-i} runtime
switch. The example is \verb|2gp.com| from the \texttt{isom} directory.
If the binary for the pq program is \texttt{pq}, then
\begin{quote}
\verb|pq -i -k < 2gp.com|
\end{quote}
in the \texttt{isom} directory yields something like the following output.
(The keywords are used in option \texttt{1}; note the ``\texttt{;}''
indicating all remaining data for that option should take default values.)
\begin{verbatim}
[..Standard Presentation Menu omitted here..]
Select option: 1 #set up start information
prime 2 #keyword `prime'
class 2 #keyword `class'
generators {a, b} #keyword `generators'
relations {a^4, b^2 = [b, a, b]}; #keyword `relations' (NB: closing `;')
Lower exponent-2 central series for G
Group: G to lower exponent-2 central class 1 has order 2^2
Group: G to lower exponent-2 central class 2 has order 2^4
Class 2 2-quotient and its 2-covering group computed in 0.00 seconds
Select option: 2 #standardise presentation
Enter output file name for group information: Standard
Standardise presentation to what class? 10
Input the number of automorphisms: 3
Now enter the data for automorphism 1
Input 4 exponents for image of pcp generator 1: 1 0 0 1
Input 4 exponents for image of pcp generator 2: 0 1 0 0
Now enter the data for automorphism 2
Input 4 exponents for image of pcp generator 1: 1 0 0 0
Input 4 exponents for image of pcp generator 2: 0 1 0 1
Now enter the data for automorphism 3
Input 4 exponents for image of pcp generator 1: 1 1 1 0
Input 4 exponents for image of pcp generator 2: 0 1 1 1
PAG-generating sequence for automorphism group? 1
Starting group has order 2^4; its automorphism group order is at most 96
The standard presentation for the class 3 2-quotient is
Group: G #1;2 to lower exponent-2 central class 3 has order 2^6
Non-trivial powers:
.1^2 = .4
.2^2 = .5
.3^2 = .6
Non-trivial commutators:
[ .2, .1 ] = .3
[ .3, .1 ] = .5
[ .3, .2 ] = .6
[ .4, .2 ] = .5 .6
Its automorphism group has order at most 384
Computing standard presentation for class 3 took 0.05 seconds
The standard presentation for the class 4 2-quotient is
Group: G #1;1 to lower exponent-2 central class 4 has order 2^7
[..265 lines omitted here..]
The standard presentation for the class 10 2-quotient is
Group: G #1;4 to lower exponent-2 central class 10 has order 2^24
[..93 lines omitted here..]
Its automorphism group has order at most 25769803776
Computing standard presentation for class 10 took 0.27 seconds
Select option: 4 #display standard presentation for class 10 2-quotient
Group: G #1;4 to lower exponent-2 central class 10 has order 2^24
Non-trivial powers:
.1^2 = .4
.2^2 = .5 .11 .13 .17 .24
.3^2 = .6 .7 .10 .11 .12 .13 .14 .17 .20 .21 .22
.5^2 = .8 .11 .19 .20 .21
.6^2 = .10 .14 .16 .18 .22 .23 .24
.7^2 = .10 .12 .21 .22 .24
.8^2 = .12 .15
.9^2 = .12 .17 .20 .22 .23
.10^2 = .15 .18
.11^2 = .15 .20 .24
.12^2 = .18 .21
.13^2 = .18 .24
.14^2 = .18 .23
.15^2 = .21
.17^2 = .21
Non-trivial commutators:
[ .2, .1 ] = .3
[ .3, .1 ] = .5
[ .3, .2 ] = .6
[..71 lines omitted here..]
[ .20, .2 ] = .23
Select option: 0 #exit
Exiting from ANU p-Quotient Program
Total user time in seconds is 1.13
\end{verbatim}
\subsection{A basic format Advanced {\it p}-Group Generation example}
With the following example we demonstrate both the use of the \texttt{-b}
runtime switch (see Section~\ref{sec:runtime}) and we exercise an
Advanced menu. To do something equivalent to what we give below,
(assuming the pq binary is \texttt{pq}) do:
\begin{quote}
\verb|pq -b < pga_interactive|
\end{quote}
in the \texttt{examples} directory.
\begin{verbatim}
[..Basic Menu omitted here..]
Select option: 1 #set up group presentation
Input group identifier: Nott #our group will be the Nottingham group
Input prime: 5
Input maximum class: 3
Input print level (0-3): 1 #minimal output
Input number of generators: 2 #this is the prompt we get with -b
Input number of relations: 3 #(ditto)
Input exponent law (0 if none): 0
5 1; #this is the ``basic format'' (-b switch)
The input word is 5 1
Input right-hand side of relation:
0;
The input word is 0
Input left-hand side of relation:
5 2;
The input word is 5 2
Input right-hand side of relation:
0;
The input word is 0
Input left-hand side of relation:
1 [2 1 2];
The input word is 1 [ 2 1 2 ]
Input right-hand side of relation:
0; #the final ``basic format'' input needed
The input word is 0
Lower exponent-5 central series for Nott
Group: Nott to lower exponent-5 central class 1 has order 5^2
Group: Nott to lower exponent-5 central class 2 has order 5^3
Group: Nott to lower exponent-5 central class 3 has order 5^4
Computation of presentation took 0.00 seconds
Select option: 7 #compute 5-covering group
Group: Nott to lower exponent-5 central class 4 has order 5^8
Computation of 5-covering group took 0.00 seconds
Select option: 2 #save presentation
Enter output file name: Nott
Presentation written to file
Select option: 9 #to (Main) p-Group Generation Menu
Menu for p-Group Generation
-----------------------------
1. Read automorphism information for starting group
2. Extend and display automorphisms
3. Specify input file and group number
4. List group presentation
5. Construct descendants
6. Advanced p-group generation menu
7. Exit to basic menu
Select option: 1 #define aut. group
Input the number of automorphisms: 6
Now enter the data for automorphism 1
Input 4 exponents for image of pcp generator 1: 1 0 0 0
Input 4 exponents for image of pcp generator 2: 0 1 0 1
Now enter the data for automorphism 2
Input 4 exponents for image of pcp generator 1: 1 1 0 0
Input 4 exponents for image of pcp generator 2: 0 1 0 0
Now enter the data for automorphism 3
Input 4 exponents for image of pcp generator 1: 1 0 0 0
Input 4 exponents for image of pcp generator 2: 0 4 0 0
Now enter the data for automorphism 4
Input 4 exponents for image of pcp generator 1: 1 0 0 0
Input 4 exponents for image of pcp generator 2: 0 2 0 0
Now enter the data for automorphism 5
Input 4 exponents for image of pcp generator 1: 4 0 0 0
Input 4 exponents for image of pcp generator 2: 0 1 0 0
Now enter the data for automorphism 6
Input 4 exponents for image of pcp generator 1: 2 0 0 0
Input 4 exponents for image of pcp generator 2: 0 1 0 0
Input number of soluble generators for automorphism group: 0
Select option: 5 #construct descendants
Input class bound on descendants: 4
Construct all descendants? 0 #i.e. ``No''
Input step size: 1
PAG-generating sequence for automorphism group? 1 #``Yes''
Do you want default algorithm? 0 #``No''
Rank of the initial segment subgroup? 4
Space efficient computation? 0 #``No''
Completely process terminal descendants? 0 #``No''
Input exponent law (0 if none): 0
Enforce metabelian law? 0 #``No''
Do you want default output? 1 #``Yes''
**************************************************
Starting group: Nott
Order: 5^4
Nuclear rank: 1
5-multiplicator rank: 4
# of immediate descendants of order 5^5 is 9
# of capable immediate descendants is 2
**************************************************
2 capable groups saved on file Nott_class4
Construction of descendants took 0.02 seconds
Select option: 3 #restore group
Enter input file name: Nott_class4
Which group? 1
Select option: 6 #get Advanced p-Group Gen'n Menu
Advanced Menu for p-Group Generation
-------------------------------------
1. Read automorphism information for starting group
2. Extend and display automorphisms
3. Specify input file and group number
4. List group presentation
5. Carry out intermediate stage calculation
6. Compute definition sets & find degree
7. Construct permutations of subgroups under automorphisms
8. Compute and list orbit information
9. Process all orbit representatives
10. Process individual orbit representative
11. Compute label for standard matrix of subgroup
12. Compute standard matrix for subgroup from label
13. Find image of allowable subgroup under automorphism
14. Find rank of closure of initial segment subgroup
15. List representative and orbit for supplied label
16. Write compact descriptions of generated groups to file
17. Find automorphism classes of elements of vector space
18. Exit to main p-group generation menu
Select option: 6 #find degree
Input step size: 2
Rank of the initial segment subgroup? 3
Input exponent law (0 if none): 0
Degree of permutation group is 25
Select option: 7 #compute permutations
PAG-generating sequence for automorphism group? 1
Space efficient computation? 0
Print automorphism matrices? 0
Print permutations? 0
Time to compute permutations is 0.00 seconds
Select option: 8 #compute orbits
PAG-generating sequence for automorphism group? 1 #``Yes''
Space efficient computation? 0 #``No''
Summary of orbit information? 1 #``Yes''
Complete listing of orbits? 0 #``No''
Time to compute orbits is 0.00 seconds
Orbit Length Representative
1 5 1
2 20 2
Select option: 9 #compute stabilisers
PAG-generating sequence for automorphism group? 1 #``Yes''
Space efficient computation? 0 #``No''
Completely process terminal descendants? 0 #``No''
Input exponent law (0 if none): 0
Enforce metabelian law? 0 #``No''
Print standard matrix of allowable subgroup? 0 #``No''
Presentation of reduced p-covering groups? 0 #``No''
Presentation of immediate descendants? 0 #``No''
Print nuclear rank of descendants? 0 #``No''
Print p-multiplicator rank of descendants? 0 #``No''
Print commutator matrix? 0 #``No''
Automorphism group description of descendants? 0 #``No''
Automorphism group order of descendants? 0 #``No''
Enter output file name: X
Time to process representative is 0.02 seconds
Select option: 3 #restore reduced p-covering group
Enter input file name: X
Which group? 1
Select option: 4 #display presentation
Group: Nott #1;1 to lower exponent-5 central class 5 has order 5^9
Class 1
1 is defined on image of defining generator 1
2 is defined on image of defining generator 2
Class 2
3 is defined on [2, 1] = 2 1
Class 3
4 is defined on [3, 1] = 2 1 1
Class 4
5 is defined on [4, 1] = 2 1 1 1
Class 5
6 is defined on [5, 1] = 2 1 1 1 1
7 is defined on [5, 2] = 2 1 1 1 2
8 is defined on 1^5 = 1 1
9 is defined on 2^5 = 2 2
Non-trivial powers:
.1^5 = .8
.2^5 = .9
Non-trivial commutators:
[ .2, .1 ] = .3
[ .3, .1 ] = .4
[ .4, .1 ] = .5
[ .4, .2 ] = .7
[ .4, .3 ] = .7^4
[ .5, .1 ] = .6
[ .5, .2 ] = .7
Select option: 5 #intermediate stage computation
Input step size: 2
PAG-generating sequence for automorphism group? 1 #``Yes''
Do you want default algorithm? 1 #``Yes''
Do you want default output? 1 #``Yes''
Input output file name: XX
**************************************************
Starting group: Nott #1;1
Order: 5^5
Nuclear rank: 2
5-multiplicator rank: 4
# of immediate descendants of order 5^7 is 40
# of capable immediate descendants is 5
Time for intermediate stage is 0.07 seconds
Select option: 0 #exit through 3 levels of menus
Exiting from advanced p-group generation menu
Select option: 0
Exiting from p-group generation
Select option: 0
Exiting from ANU p-Quotient Program
Total user time in seconds is 0.10
\end{verbatim}
\section{Changes}
\begin{description}
\item[\texttt{Version 1.9}]\ \\
Fixes made to warnings in C code by Max Horn.
\item[\texttt{Version 1.8}]\ \\
\textsf{GAP} link code updated for \textsf{GAP} 4.4.
\item[\texttt{Version 1.7}]\ \\
Binomial coefficient algorithm modified to avoid overflow.
\item[\texttt{Version 1.6}]\ \\
In main Menu for {\it p}-Group Generation, when asking for
automorphisms, now ask for the number of soluble automorphisms
and their relative orders when there are any.
\item[\texttt{Version 1.5}]\ \\
Added the \texttt{-G} option for use with \textsf{GAP} and the
\texttt{-v} option.
\end{description}
\pagebreak
\section*{\centering References}
\addcontentsline{toc}{section}{\numberline{}References}
\begin{description}
\item George Havas and M.F.\ Newman (1980), ``Application of computers to
questions like those of Burnside", {\it Burnside Groups} (Bielefeld, 1977),
{\it Lecture Notes in Math.\ }{\bf 806}, pp.\ 211-230.
Springer-Verlag, Berlin, Heidelberg, New York.
\item M.F.\ Newman (1977), ``Determination of groups of prime-power order",
{\it Group Theory} (Canberra, 1975). {\it Lecture Notes in Math.\ }{\bf 573},
pp.\ 73--84.
Springer-Verlag.
\item M.F.\ Newman and E.A. O'Brien (1996),
``Application of computers to questions like those of Burnside, {II}",
{\it Internat.\ J.\ Algebra Comput}. {\bf 6}, 593-605.
\item E.A.\ O'Brien (1990), ``The {\it p}-group generation
algorithm", {\it J.\ Symbolic Comput.} {\bf 9}, 677-698.
\item E.A.\ O'Brien (1994), ``Isomorphism testing
for \mbox{{\it p}-groups}", {\it J. Symbolic Comput.} {\bf 17},
133--147.
\item E.A.\ O'Brien (1995), ``Computing automorphism groups for
{\it p}-groups", {\it Computational Algebra and Number Theory}
(Sydney, 1992), pp.\ 83--90. Kluwer Academic Publishers, Dordrecht.
\item M.R. Vaughan-Lee (1982), ``An Aspect of the Nilpotent
Quotient Algorithm", {\it Computational Group Theory}
(Durham, 1982), pp. 76--83. Academic Press.
\item Michael Vaughan-Lee (1990a), ``The Restricted Burnside Problem",
{\it London Mathematical Society monographs (New Ser.)} {\bf 5}.
Clarendon Press, New York, Oxford.
\item M.R. Vaughan-Lee (1990b), ``Collection from the left",
{\it J. Symbolic Comput.} {\bf 9}, 725--733.
\end{description}
%\vspace*{0.5cm}
\noindent
Eamonn A.\ O'Brien \\
Department of Mathematics \\
University of Auckland \\
Private Bag 92019, Auckland, New Zealand
\vspace*{0.25cm}
\noindent
E-mail address: obrien@math.auckland.ac.nz
\vspace*{0.35cm}
\noindent
Last revised by Eamonn O'Brien: August 2001\hfil\break\noindent
Revised February 2002 (v1.5 GG), February 2004 (v1.6 GG),\hfil\break
\hspace*{2em}November 2011 (v1.9 MH), January 2012 (v1.9 GG)
\end{document}
anupq-3.3.0/standalone-doc/README 000644 000766 000024 00000024336 14355420571 016721 0 ustar 00mhorn staff 000000 000000 ###############################################################################
#
# Australian National University p-Quotient Program
#
# Version 1.9
#
# June 2001, February 2002, February 2004, July 2005, January 2006,
# November 2011, January 2012
#
###############################################################################
This implementation was developed in C by
Eamonn O'Brien
Department of Mathematics
University of Auckland
Private Bag 92019, Auckland, New Zealand
E-mail: obrien@math.auckland.ac.nz
WWW https://www.math.auckland.ac.nz/~obrien
and some minor changes made in 2011-2022 by
Max Horn
Fachbereich Mathematik
TU Kaiserslautern
Gottlieb-Daimler-Straße 48
67663 Kaiserslautern, Germany
E-mail: horn@mathematik.uni-kl.de
WWW https://www.quendi.de/math
###############################################################################
#
# Program content
#
###############################################################################
The program provides access to implementations of the following algorithms:
1. A p-quotient algorithm to compute a power-commutator presentation
for a p-group. The algorithm implemented here is based on that
described in Newman and O'Brien (1996), Havas and Newman (1980),
and papers referred to there.
Another description of the algorithm appears in Vaughan-Lee (1990b).
A FORTRAN implementation of this algorithm was programmed by
Alford & Havas. The basic data structures of that implementation
are retained.
The current implementation incorporates the following features:
a. collection from the left (see Vaughan-Lee, 1990b);
Vaughan-Lee's implementation of this collection
algorithm is used in the program;
b. an improved consistency algorithm (see Vaughan-Lee, 1982);
c. new exponent law enforcement and power routines;
d. closing of relations under the action of automorphisms;
e. some formula evaluation.
2. A p-group generation algorithm to generate descriptions of p-groups.
The algorithm implemented here is based on the algorithms described in
Newman (1977) and O'Brien (1990). A FORTRAN implementation of this
algorithm was earlier developed by Newman & O'Brien.
3. A standard presentation algorithm used to compute a canonical
power-commutator presentation of a p-group. The algorithm
implemented here is described in O'Brien (1994).
4. An algorithm which can be used to compute the automorphism group of
a p-group. The algorithm implemented here is described in O'Brien (1995).
###############################################################################
#
# Access via other programs
#
###############################################################################
Access to parts of this program is provided via GAP.
This program is supplied as a package within GAP, both GAP 3.4 and GAP4.
The link from GAP to pq is described in the manual for GAP 3.4, and is
described in a separate manual supplied with the ANUPQ package anupq.zoo
archive for GAP4.
###############################################################################
#
# References
#
###############################################################################
George Havas and M.F. Newman (1980), "Application of computers
to questions like those of Burnside", Burnside Groups (Bielefeld, 1977),
Lecture Notes in Math. 806, pp. 211-230. Springer-Verlag.
M.F. Newman and E.A. O'Brien (1996), "Application of computers to
questions like those of Burnside II",
Internat. J. Algebra Comput. 6, 593-605.
M.F. Newman (1977), "Determination of groups of prime-power order",
Group Theory (Canberra, 1975). Lecture Notes in Math. 573, pp. 73-84.
Springer-Verlag.
E.A. O'Brien (1990), "The p-group generation algorithm",
J. Symbolic Comput. 9, 677-698.
E.A. O'Brien (1994), ``Isomorphism testing for p-groups",
J. Symbolic Comput. 17, 133-147.
E.A. O'Brien (1995), ``Computing automorphism groups of p-groups",
Computational Algebra and Number Theory, (Sydney, 1992), pp. 83--90.
Kluwer Academic Publishers, Dordrecht.
M.R. Vaughan-Lee (1982), "An Aspect of the Nilpotent Quotient Algorithm",
Computational Group Theory (Durham, 1982), pp. 76-83. Academic Press.
Michael Vaughan-Lee (1990a), The Restricted Burnside Problem,
London Mathematical Society monographs (New Ser.) #5.
Clarendon Press, New York, Oxford.
M.R. Vaughan-Lee (1990b), "Collection from the left",
J. Symbolic Comput. 9, 725-733.
###############################################################################
#
# Installation procedure
#
###############################################################################
1. For installation for use with GAP4 please go to the README in the
main directory. The directory mapping of the anupq directory derived
from anupq.zoo is as follows:
doc -- manual for the GAP4 package that interfaces with pq
standalone-doc -- documentation on use of the pq standalone program
standalone -- contains the pq standalone TEST, examples, isom directories
include -- C header files
src -- C source files and a Makefile
lib -- GAP library files
tst -- GAP test files
examples -- GAP examples
After doing `make restoredirs' in the anupq directory, the anupq sub-
directories are remapped to the way they are in the distribution found at:
https://www.math.auckland.ac.nz/~obrien
namely the GAP4 doc directory, main directory README and a number of
other files there are moved to the directory doc; standalone-doc
is renamed doc; the examples, lib and tst directories are moved into
the gap directory; the examples, isom and TEST subdirectories of
standalone are moved to be in the main directory; and this README is
moved to be in the main directory.
Doing `make GAP4remapdirs' establishes the directory structure above.
2. The file, guide.tex, in the standalone-doc (or doc) directory is a
LaTeX file. It is a basic guide to the use of the p-Quotient Program.
3. By default, the program has the following limits:
the maximum number of pc generators is 2^16 - 1 = 65535;
the maximum number of defining generators is 2^9 - 1 = 511;
the maximum class is 2^6 - 1 = 63.
The data structures require that the following holds:
the sums of the exponents of 2 from the above three quantities
is at most (the number of bytes in a word) - 1.
Hence the sum is usually 31.
The program can be compiled in two modes; in fixed mode
the above limits are enforced; in runtime mode, these are
also the default; however, the limit on the number of defining
generators and the class can be altered by the user via
on-line options "-c" and "-d"; if such selections are made,
the maximum number of pc generators is consequently altered;
a user must decide the limit on *each* of the number of
defining generators and the class.
The default limits are set in the header files:
storage_fixed.h (for fixed version)
runtime.h (for runtime version)
On average, the fixed mode version performs 5-10% more
efficiently than the runtime version.
If you wish to compile the runtime mode version, then set
-DRUN_TIME as a compiler flag in the Makefile.
4. The README in the main directory explains how to install the
GAP4 package ANUPQ together with the pq binary.
*Otherwise*, to create the pq binary --
a. change to the src directory;
b. ensure that the conditional compilation flags in the
Makefile are set correctly; the -DLARGE_INT flag controls
the storage and display of automorphism group orders;
if you want to use this flag, you must have an up-to-date
copy of the GNU MP procedures on your machine;
c. system dependent features are collected in system.c;
in particular, you may wish to look at the run time function
to ensure that the CPU time reported by the program is correct;
d. type make pq
e. to remove all of the object files, type make clean
A binary file, pq, will be placed in a subdirectory of bin which
is created when configure and make are run in the main directory.
5. The total space requirements for this directory (including
the binary but excluding the object files) is about 3 MB.
6. In p-group generation, if the automorphism group of the
starting group is insoluble, then pq calls GAP to perform
particular stabiliser computations
(see the User Guide for more details).
The user of pq may choose which of these systems is to
be called -- however, the choice for this link MUST be
made by the user at compilation time by setting the
GAP_LINK flag in the Makefile.
Points 7 and 8 below discuss each of these links in turn.
7. The link from pq to GAP assumes that you use GAP 3.4 or GAP4
*with* the *ANUPQ package* installed.
If the binary for GAP 3.4 or GAP4 is called gap and is in your
default path, you need do no more; if it is not in your path,
you must set an environment variable ANUPQ_EXEC_GAP to
point to the GAP executable.
8. The TEST subdirectory of standalone contains a number of log files,
with extension .orig, together with a cshell file called TEST.
This test program runs through a number of the examples
in the examples directory and compares the results generated with
those listed in the .orig files of this directory. If the
p-quotient program is running correctly, the TEST program
should report only differences in the date, name of machines
and times taken. If there are other significant differences,
please report.
Execute the test program by typing TEST
(If your pq directory structure is different, you may need to alter
the relative paths in TEST for both binary and command files.)
The total time taken for the test on a SPARCstation 10/51 is
about 30 seconds of user time.
9. See the documentation for information on run-time parameters.
10. Please report bugs/problems/feedback to obrien@math.auckland.ac.nz
and/or horn@mathematik.uni-kl.de
###############################################################################
#
# License
#
###############################################################################
The anupq C source code is free software distributed under the Artistic License 2.0,
see the file `LICENSE` or for the
exact terms of the license.
anupq-3.3.0/tst/anupq1eg.tst 000644 000766 000024 00000005377 14355420571 016241 0 ustar 00mhorn staff 000000 000000 #############################################################################
##
#A anupq1eg.tst ANUPQ package Greg Gamble
##
## Tests one of the ANUPQ examples. This is done on its own because it
## outputs timing data which varies from machine to machine.
## Execute this file with `Test( "anupq1eg.tst" );'.
## The number of GAPstones returned at the end do not mean much as they do
## not measure the time spent by the `pq' binary.
##
gap> START_TEST( "Testing one ANUPQ example" );
gap> SetInfoLevel(InfoANUPQ, 1);
gap> ##Example: "EpimorphismStandardPresentation-i" . . based on manual example
gap> ##(demonstrates interactive `EpimorphismStandardPresentation' usage)
gap> F := FreeGroup(6, "F");
gap> # For printing GAP uses the symbols F1, ... for the generators of F
gap> x := F.1; y := F.2; z := F.3; w := F.4; a := F.5; b := F.6;
F1
F2
F3
F4
F5
F6
gap> R := [x^3 / w, y^3 / w * a^2 * b^2, w^3 / b,
> Comm (y, x) / z, Comm (z, x), Comm (z, y) / a, z^3 ];
[ F1^3*F4^-1, F2^3*F4^-1*F5^2*F6^2, F4^3*F6^-1, F2^-1*F1^-1*F2*F1*F3^-1,
F3^-1*F1^-1*F3*F1, F3^-1*F2^-1*F3*F2*F5^-1, F3^3 ]
gap> Q := F / R;
gap> procId := PqStart( Q );;
gap> G := Pq( procId : Prime := 3, ClassBound := 3 );
gap> lev := InfoLevel(InfoANUPQ); # Save current InfoANUPQ level
1
gap> SetInfoLevel(InfoANUPQ, 2); # To see computation time data
gap> # It is not necessary to pass the `Prime' option to
gap> # `EpimorphismStandardPresentation' since it was previously
gap> # passed to `Pq':
gap> phi := EpimorphismStandardPresentation( procId : ClassBound := 3 );
#I Class 1 3-quotient and its 3-covering group computed in 0.00 seconds
#I Order of GL subgroup is 48
#I No. of soluble autos is 0
#I dim U = 1 dim N = 3 dim M = 3
#I nice stabilizer with perm rep
#I Computing standard presentation for class 2 took 0.00 seconds
#I Computing standard presentation for class 3 took 0.00 seconds
[ F1, F2, F3, F4, F5, F6 ] -> [ f1*f2^2*f3*f4^2*f5^2, f1*f2*f3*f5, f3^2,
f4*f6^2, f5, f6 ]
gap> # Image of phi should be isomorphic to G ...
gap> # let's check the order is correct:
gap> Size( Image(phi) );
729
gap> # `StandardPresentation' and `EpimorphismStandardPresentation'
gap> # behave like attributes, so no computation is done when
gap> # either is called again for the same process ...
gap> StandardPresentation( procId : ClassBound := 3 );
gap> # No timing data was Info-ed since no computation was done
gap> SetInfoLevel(InfoANUPQ, lev); # Restore previous InfoANUPQ level
gap> PqQuit(procId);
gap> STOP_TEST( "anupq1eg.tst", 1000000 );
anupq-3.3.0/tst/out/ 000755 000766 000024 00000000000 14355420571 014557 5 ustar 00mhorn staff 000000 000000 anupq-3.3.0/tst/anupqeg.tst 000644 000766 000024 00010303076 14355420571 016156 0 ustar 00mhorn staff 000000 000000 #############################################################################
##
#A anupqeg.tst ANUPQ package Greg Gamble
##
## Tests all but one of the ANUPQ examples.
## Execute this file with `Test( "anupqeg.tst" );'.
## This is a *big* test, taking some 40 minutes on a *fast* (1GHz) machine.
## The number of GAPstones returned at the end do not mean much as they do
## not measure the time spent by the `pq' binary.
##
gap> START_TEST( "Testing ANUPQ examples" );
gap> SetInfoLevel(InfoANUPQ, 1);
gap> examples := AllPqExamples();
[ "11gp-3-Engel-Id", "11gp-3-Engel-Id-i", "11gp-PG-i", "11gp-Rel-i",
"11gp-SP-a-Rel-1-i", "11gp-SP-a-Rel-i", "11gp-SP-a-i", "11gp-SP-b-Rel-i",
"11gp-SP-b-i", "11gp-SP-c-Rel-i", "11gp-a-Rel-i", "11gp-i", "2gp-PG-2-i",
"2gp-PG-3-i", "2gp-PG-4-i", "2gp-PG-e4-i", "2gp-PG-i", "2gp-Rel",
"2gp-Rel-i", "2gp-SP-1-Rel-i", "2gp-SP-2-Rel-i", "2gp-SP-3-Rel-i",
"2gp-SP-4-Rel-i", "2gp-SP-Rel-i", "2gp-SP-d-Rel-i", "2gp-a-Rel-i",
"3gp-PG-4-i", "3gp-PG-i", "3gp-PG-x-1-i", "3gp-PG-x-i", "3gp-Rel-i",
"3gp-SP-1-Rel-i", "3gp-SP-2-Rel-i", "3gp-SP-3-Rel-i", "3gp-SP-4-Rel-i",
"3gp-SP-Rel-i", "3gp-a-Rel", "3gp-a-Rel-i", "3gp-a-x-Rel-i",
"3gp-maxoccur-Rel-i", "5gp-PG-i", "5gp-Rel-i", "5gp-SP-Rel-i",
"5gp-SP-a-Rel-i", "5gp-SP-b-Rel-i", "5gp-SP-big-Rel-i", "5gp-SP-d-Rel-i",
"5gp-a-Rel-i", "5gp-b-Rel-i", "5gp-c-Rel-i", "5gp-maxoccur-Rel-i",
"5gp-metabelian-Rel", "5gp-metabelian-Rel-i", "7gp-PG-i", "7gp-Rel-i",
"7gp-SP-Rel-i", "7gp-SP-a-Rel-i", "7gp-SP-b-Rel-i", "B2-4", "B2-4-Id",
"B2-4-SP-i", "B2-5", "B2-5-i", "B2-8-i", "B4-4-a-i", "B4-4-i", "B5-4.g",
"B5-5-Engel3-Id", "EpimorphismStandardPresentation",
"EpimorphismStandardPresentation-i", "F2-5-i", "G2-SP-Rel-i",
"G3-SP-Rel-i", "G5-SP-Rel-i", "G5-SP-a-Rel-i", "IsIsomorphicPGroup-ni",
"Nott-APG-Rel-i", "Nott-PG-Rel-i", "Nott-SP-Rel-i", "Pq", "Pq-ni",
"PqDescendants-1", "PqDescendants-1-i", "PqDescendants-2",
"PqDescendants-3", "PqDescendants-treetraverse-i",
"PqDescendantsTreeCoclassOne-16-i", "PqDescendantsTreeCoclassOne-25-i",
"PqDescendantsTreeCoclassOne-9-i", "PqEpimorphism", "PqPCover",
"PqSupplementInnerAutomorphisms", "R2-5-i", "R2-5-x-i",
"StandardPresentation", "StandardPresentation-i", "gp-256-SP-Rel-i" ]
gap> RemoveSet(examples, "EpimorphismStandardPresentation-i");
gap> nexamples := Length( examples );
96
gap> ##Example: "11gp-3-Engel-Id" . . . 3-Engel group for prime 11
gap> ##Non-trivial example of using the `Identities' option
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> G := F/[ a^11, b^11 ];
gap> # All word pairs u, v in the pc generators of the 11-quotient Q of G
gap> # must satisfy the Engel identity: [u, v, v, v] = 1.
gap> f := function(u, v) return PqLeftNormComm( [u, v, v, v] ); end;
function( u, v ) ... end
gap> Q := Pq( G : Prime := 11, Identities := [ f ] );
#I Class 1 with 2 generators.
#I Class 2 with 3 generators.
#I Class 3 with 5 generators.
#I Class 3 with 5 generators.
gap> # We do a ``sample'' check that pairs of elements of Q do satisfy
gap> # the given identity:
gap> f( Random(Q), Random(Q) );
of ...
gap> f( Q.1, Q.2 );
of ...
gap> # Executing interactive variant of example: "11gp-3-Engel-Id"
gap> ##Example: "11gp-3-Engel-Id" . . . 3-Engel group for prime 11
gap> ##Non-trivial example of using the `Identities' option
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> G := F/[ a^11, b^11 ];
gap> # All word pairs u, v in the pc generators of the 11-quotient Q of G
gap> # must satisfy the Engel identity: [u, v, v, v] = 1.
gap> f := function(u, v) return PqLeftNormComm( [u, v, v, v] ); end;
function( u, v ) ... end
gap> procId := PqStart( G );
1
gap> Q := Pq( procId : Prime := 11, Identities := [ f ] );
#I Class 1 with 2 generators.
#I Class 2 with 3 generators.
#I Class 3 with 5 generators.
#I Class 3 with 5 generators.
gap> # We do a ``sample'' check that pairs of elements of Q do satisfy
gap> # the given identity:
gap> f( Random(Q), Random(Q) );
of ...
gap> f( Q.1, Q.2 );
of ...
gap> ##Example: "11gp-3-Engel-Id-i" . . . 3-Engel grp for prime 11
gap> ##Variation of "11gp-3-Engel-Id" broken down into its lower-level component
gap> ##command parts.
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> G := F/[ a^11, b^11 ];
gap> # All word pairs u, v in the pc generators of the 11-quotient Q of G
gap> # must satisfy the Engel identity: [u, v, v, v] = 1.
gap> f := function(u, v) return PqLeftNormComm( [u, v, v, v] ); end;
function( u, v ) ... end
gap> procId := PqStart( G : Prime := 11 );
2
gap> PqPcPresentation( procId : ClassBound := 1);
gap> PqEvaluateIdentities( procId : Identities := [f] );
#I Class 1 with 2 generators.
gap> for c in [2 .. 4] do
> PqNextClass( procId : Identities := [] ); #reset `Identities' option
> PqEvaluateIdentities( procId : Identities := [f] );
> od;
#I Class 2 with 3 generators.
#I Class 3 with 5 generators.
#I Class 3 with 5 generators.
gap> Q := PqCurrentGroup( procId );
gap> # We do a ``sample'' check that pairs of elements of Q do satisfy
gap> # the given identity:
gap> f( Random(Q), Random(Q) );
of ...
gap> f( Q.1, Q.2 );
of ...
gap> ##Example: "11gp-PG-i" . . . based on: examples/pga_11gp
gap> ##Descendants of C11 x C11 x C11
gap> F := FreeGroup("a", "b", "c");
gap> procId := PqStart(F : Prime := 11);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-11 central series for [grp]
#I Group: [grp] to lower exponent-11 central class 1 has order 11^3
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-11 central class 2 has order 11^9
gap> PqPGSupplyAutomorphisms(procId, [ [[ 2, 0, 0],
> [ 0, 1, 0],
> [ 0, 0, 1]],
>
> [[10, 0, 1],
> [10, 0, 0],
> [ 0,10, 0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 2,
> CapableDescendants,
> StepSize := 1,
> RankInitialSegmentSubgroups := 3);
#I **************************************************
#I Starting group: [grp]
#I Order: 11^3
#I Nuclear rank: 6
#I 11-multiplicator rank: 6
#I # of immediate descendants of order 11^4 is 4
#I # of capable immediate descendants is 2
#I **************************************************
2
gap> PqQuitAll();
gap> ##Example: "11gp-Rel-i" . . . based on: examples/11gp
gap> ##(equivalent to "11gp-i" example but uses `Relators' option)
gap> F := FreeGroup("a", "b", "c");
gap> rels := ["[b, a, a, b, c]^11", "[a, b, b, a, b, c]^11", "(a * b)^11"];
[ "[b, a, a, b, c]^11", "[a, b, b, a, b, c]^11", "(a * b)^11" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 7,
> OutputLevel := 1);
#I Lower exponent-11 central series for [grp]
#I Group: [grp] to lower exponent-11 central class 1 has order 11^3
#I Group: [grp] to lower exponent-11 central class 2 has order 11^8
#I Group: [grp] to lower exponent-11 central class 3 has order 11^19
#I Group: [grp] to lower exponent-11 central class 4 has order 11^42
#I Group: [grp] to lower exponent-11 central class 5 has order 11^98
#I Group: [grp] to lower exponent-11 central class 6 has order 11^228
#I Group: [grp] to lower exponent-11 central class 7 has order 11^563
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "11gp-SP-a-Rel-1-i" . . . based on: isom/11gp_a.com
gap> ##(like "11gp-SP-a-Rel-i" but the initial input presentation
gap> ## is only to class 1).
gap> F := FreeGroup("a", "b");
gap> rels := ["a^11", "b^11*[b, a, a]^-2", "[b, a, b, b, b, b]"];
[ "a^11", "b^11*[b, a, a]^-2", "[b, a, b, b, b, b]" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
2
gap> PqSetOutputLevel(procId, 0);
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[1,0],
> [0,1]],
>
> [[1,0],
> [0,1]],
>
> [[1,0],
> [0,1]],
>
> [[1,0],
> [3,1]],
>
> [[1,0],
> [9,3]],
>
> [[1,0],
> [6,6]],
>
> [[10,0],
> [2,1]] ]
>
> : # options
> ClassBound := 19,
> PcgsAutomorphisms);
gap> ##Example: "11gp-SP-a-Rel-i" . . . based on: isom/11gp_a.com
gap> ##(equivalent to "11gp-SP-a-i" but uses the `Relators' option)
gap> F := FreeGroup("a", "b");
gap> rels := ["a^11", "b^11*[b, a, a]^-2", "[b, a, b, b, b, b]"];
[ "a^11", "b^11*[b, a, a]^-2", "[b, a, b, b, b, b]" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
3
gap> PqSetOutputLevel(procId, 0);
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,1],
> [0,1,0,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,1,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,1]],
>
> [[1,0,0,0,0],
> [3,1,0,0,0]],
>
> [[1,0,0,0,0],
> [9,3,0,0,0]],
>
> [[1,0,0,0,0],
> [6,6,0,0,0]],
>
> [[10,0,0,0,0],
> [2,1,0,0,0]] ]
>
> : # options
> ClassBound := 19,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "11gp-SP-a-i" . . . based on: isom/11gp_a.com
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> R := [a^11, b^11/PqLeftNormComm([b, a, a])^2,
> PqLeftNormComm([b, a, b, b, b, b])];;
gap> procId := PqStart(F/R : Prime := 11);
1
gap> PqSetOutputLevel(procId, 0);
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,1],
> [0,1,0,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,1,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,1]],
>
> [[1,0,0,0,0],
> [3,1,0,0,0]],
>
> [[1,0,0,0,0],
> [9,3,0,0,0]],
>
> [[1,0,0,0,0],
> [6,6,0,0,0]],
>
> [[10,0,0,0,0],
> [2,1,0,0,0]] ]
>
> : # options
> ClassBound := 19,
> PcgsAutomorphisms);
gap> ##Example: "11gp-SP-b-Rel-i" . . . based on: isom/11gp_b.com
gap> ##(equivalent to "11gp-SP-b-i" but uses the `Relators' option)
gap> F := FreeGroup("a", "b", "c");
gap> rels := ["a^11", "b^11", "c^11", "[b, a, a, a, b, a]",
> "[c, a]", "[c, b]", "[b, a, b]"];
[ "a^11", "b^11", "c^11", "[b, a, a, a, b, a]", "[c, a]", "[c, b]",
"[b, a, b]" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
2
gap> PqSetOutputLevel(procId, 0);
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,0],
> [0,1,0,0,1],
> [0,0,1,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,1]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,7,8,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[10,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[2,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,0,8,0,0],
> [0,1,3,0,0],
> [0,0,1,0,0]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,3,0,0]],
>
> [[1,0,2,0,0],
> [0,1,0,0,0],
> [0,0,10,0,0]],
>
> [[1,9,10,0,0],
> [0,3,7,0,0],
> [0,0,6,0,0]],
>
> [[1,5,9,0,0],
> [0,7,4,0,0],
> [0,0,10,0,0]]]
>
> : # options
> ClassBound := 8,
> PcgsAutomorphisms);
gap> ##Example: "11gp-SP-b-i" . . . based on: isom/11gp_b.com
gap> F := FreeGroup("a", "b", "c"); a := F.1; b := F.2; c := F.3;
a
b
c
gap> R := [a^11, b^11, c^11, PqLeftNormComm([b, a, a, a, b, a]),
> Comm(c, a), Comm(c, b), PqLeftNormComm([b, a, b])];;
gap> procId := PqStart(F/R : Prime := 11);
3
gap> PqSetOutputLevel(procId, 0);
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,0],
> [0,1,0,0,1],
> [0,0,1,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,1]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,7,8,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[10,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[2,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,0,8,0,0],
> [0,1,3,0,0],
> [0,0,1,0,0]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,3,0,0]],
>
> [[1,0,2,0,0],
> [0,1,0,0,0],
> [0,0,10,0,0]],
>
> [[1,9,10,0,0],
> [0,3,7,0,0],
> [0,0,6,0,0]],
>
> [[1,5,9,0,0],
> [0,7,4,0,0],
> [0,0,10,0,0]]]
>
> : # options
> ClassBound := 8,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "11gp-SP-c-Rel-i" . . . based on: isom/11gp_c.com
gap> F := FreeGroup("a", "b", "c");
gap> rels := ["a^11", "b^11", "c^11", "[b, a, a, a, b]",
> "[c, a]", "[c, b]", "[b, a, b]"];
[ "a^11", "b^11", "c^11", "[b, a, a, a, b]", "[c, a]", "[c, b]", "[b, a, b]" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,0],
> [0,1,0,0,1],
> [0,0,1,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,1]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,7,8,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[10,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[2,0,0,0,0],
> [0,1,0,0,0],
> [0,0,1,0,0]],
>
> [[1,0,8,0,0],
> [0,1,3,0,0],
> [0,0,1,0,0]],
>
> [[1,0,9,0,0],
> [0,1,0,0,0],
> [0,0,3,0,0]],
>
> [[1,0,2,0,0],
> [0,1,0,0,0],
> [0,0,10,0,0]],
>
> [[1,9,10,0,0],
> [0,3,7,0,0],
> [0,0,6,0,0]],
>
> [[1,5,9,0,0],
> [0,7,4,0,0],
> [0,0,10,0,0]]]
>
> : # options
> ClassBound := 8,#for 9 perm.deg.>2^31, pq dies
> PcgsAutomorphisms);
gap> ##Example: "11gp-a-Rel-i" . . . based on: examples/11gpA
gap> F := FreeGroup("a", "b");
gap> rels := ["[b, a, a, b, b]^11", "[a, b, b, a, b, b]^11", "(a * b)^11"];
[ "[b, a, a, b, b]^11", "[a, b, b, a, b, b]^11", "(a * b)^11" ]
gap> procId := PqStart(F : Prime := 11, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 8,
> OutputLevel := 1);
#I Lower exponent-11 central series for [grp]
#I Group: [grp] to lower exponent-11 central class 1 has order 11^2
#I Group: [grp] to lower exponent-11 central class 2 has order 11^4
#I Group: [grp] to lower exponent-11 central class 3 has order 11^7
#I Group: [grp] to lower exponent-11 central class 4 has order 11^11
#I Group: [grp] to lower exponent-11 central class 5 has order 11^18
#I Group: [grp] to lower exponent-11 central class 6 has order 11^28
#I Group: [grp] to lower exponent-11 central class 7 has order 11^47
#I Group: [grp] to lower exponent-11 central class 8 has order 11^78
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "11gp-i" . . . based on: examples/11gp
gap> F := FreeGroup("a", "b", "c"); a := F.1; b := F.2; c := F.3;
a
b
c
gap> R := [PqLeftNormComm([b, a, a, b, c])^11,
> PqLeftNormComm([a, b, b, a, b, c])^11, (a * b)^11];;
gap> procId := PqStart(F/R : Prime := 11);
3
gap> PqPcPresentation(procId : ClassBound := 7,
> OutputLevel := 1);
#I Lower exponent-11 central series for [grp]
#I Group: [grp] to lower exponent-11 central class 1 has order 11^3
#I Group: [grp] to lower exponent-11 central class 2 has order 11^8
#I Group: [grp] to lower exponent-11 central class 3 has order 11^19
#I Group: [grp] to lower exponent-11 central class 4 has order 11^42
#I Group: [grp] to lower exponent-11 central class 5 has order 11^98
#I Group: [grp] to lower exponent-11 central class 6 has order 11^228
#I Group: [grp] to lower exponent-11 central class 7 has order 11^563
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "2gp-PG-2-i" . . . based on: examples/pga_example
gap> ##All class 3 descendants of C2 x C2 with extensive output
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 2);
1
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
gap> PqPGSupplyAutomorphisms(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 3,
> PcgsAutomorphisms,
> CustomiseOutput := rec(group := [,,1],
> autgroup := [,1]));
#I **************************************************
#I Starting group: [grp]
#I Order: 2^2
#I Nuclear rank: 3
#I 2-multiplicator rank: 3
#I Group: [grp] #1;1 to lower exponent-2 central class 2 has order 2^3
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I Non-trivial powers:
#I .1^2 = .3
#I Non-trivial commutators:
#I Automorphism 1:
#I Generator 1 --> 1 0 1
#I Generator 2 --> 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0
#I Generator 2 --> 0 1 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 1 0
#I Generator 2 --> 0 1 1
#I Group: [grp] #2;1 to lower exponent-2 central class 2 has order 2^3
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Non-trivial powers:
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 0 1 0
#I Generator 2 --> 1 0 0
#I Group: [grp] #3;1 to lower exponent-2 central class 2 has order 2^3
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .3
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 0 1 0
#I Generator 2 --> 1 1 0
#I Automorphism 2:
#I Generator 1 --> 0 1 0
#I Generator 2 --> 1 0 0
#I # of immediate descendants of order 2^3 is 3
#I # of capable immediate descendants is 2
#I Group: [grp] #4;2 to lower exponent-2 central class 2 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I 4 is defined on 2^2 = 2 2
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .4
#I Non-trivial commutators:
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 1
#I Generator 2 --> 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 0 1 0 0
#I Generator 2 --> 1 1 0 0
#I Automorphism 2:
#I Generator 1 --> 0 1 0 0
#I Generator 2 --> 1 0 0 0
#I Group: [grp] #5;2 to lower exponent-2 central class 2 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 1 1 0
#I Generator 2 --> 0 1 1 1
#I Group: [grp] #6;2 to lower exponent-2 central class 2 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 1 1 0
#I Generator 2 --> 0 1 1 1
#I # of immediate descendants of order 2^4 is 3
#I # of capable immediate descendants is 3
#I Group: [grp] #7;3 to lower exponent-2 central class 2 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 0 1 0 0 0
#I Generator 2 --> 1 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 0 1 0 0 0
#I Generator 2 --> 1 0 0 0 0
#I # of immediate descendants of order 2^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 2^3
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group: [grp] #1;1 #1;1 to lower exponent-2 central class 3 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I Class 3
#I 4 is defined on 3^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .3
#I .3^2 = .4
#I Non-trivial commutators:
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 0 0
#I Generator 2 --> 0 1 0 1
#I Group: [grp] #1;1 #2;1 to lower exponent-2 central class 3 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I Class 3
#I 4 is defined on 3^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .3
#I .3^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0
#I Generator 2 --> 0 1 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 0 0
#I Generator 2 --> 0 1 0 0
#I # of immediate descendants of order 2^4 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 2^3
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group: [grp] #2;1 #1;1 to lower exponent-2 central class 3 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Class 3
#I 4 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .3^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 0 1 0 0
#I Generator 2 --> 1 0 0 0
#I Group: [grp] #2;1 #2;1 to lower exponent-2 central class 3 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Class 3
#I 4 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 0
#I Group: [grp] #2;1 #3;1 to lower exponent-2 central class 3 has order 2^4
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Class 3
#I 4 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .4
#I .3^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0
#I Generator 2 --> 0 1 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 0 1 0 0
#I Generator 2 --> 1 0 0 0
#I # of immediate descendants of order 2^4 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #3;1
#I Order: 2^3
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2
#I Order: 2^4
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group: [grp] #4;2 #1;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I 4 is defined on 2^2 = 2 2
#I Class 3
#I 5 is defined on 3^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .4
#I .3^2 = .5
#I Non-trivial commutators:
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 0 0 0
#I Generator 2 --> 0 1 1 0 0
#I Group: [grp] #4;2 #2;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I 4 is defined on 2^2 = 2 2
#I Class 3
#I 5 is defined on 3^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .4
#I .3^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 0 0 0
#I Generator 2 --> 0 1 1 0 0
#I # of immediate descendants of order 2^5 is 2
#I # of capable immediate descendants is 2
#I Group: [grp] #4;2 #3;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I 4 is defined on 2^2 = 2 2
#I Class 3
#I 5 is defined on 3^2 = 1 1 1
#I 6 is defined on 4^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .4
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0
#I Group: [grp] #4;2 #4;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on 1^2 = 1 1
#I 4 is defined on 2^2 = 2 2
#I Class 3
#I 5 is defined on 3^2 = 1 1 1
#I 6 is defined on 4^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .3
#I .2^2 = .4
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2
#I Order: 2^4
#I Nuclear rank: 3
#I 2-multiplicator rank: 4
#I Group: [grp] #5;2 #1;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 0 0 1
#I Group: [grp] #5;2 #2;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .4, .2 ] = .5
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 0 0 1
#I Group: [grp] #5;2 #3;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .4, .2 ] = .5
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 1 0
#I Group: [grp] #5;2 #4;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .4, .2 ] = .5
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 1 0
#I Group: [grp] #5;2 #5;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Group: [grp] #5;2 #6;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Group: [grp] #5;2 #7;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .5
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I # of immediate descendants of order 2^5 is 7
#I # of capable immediate descendants is 3
#I Group: [grp] #5;2 #8;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .4, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 0 0 1 1
#I Group: [grp] #5;2 #9;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .4, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 0 0 1 1
#I Group: [grp] #5;2 #10;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Group: [grp] #5;2 #11;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Group: [grp] #5;2 #12;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Group: [grp] #5;2 #13;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Group: [grp] #5;2 #14;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .6
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Group: [grp] #5;2 #15;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #5;2 #16;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .6
#I .4^2 = .5 .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #5;2 #17;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .5 .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Group: [grp] #5;2 #18;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .6
#I .3^2 = .6
#I .4^2 = .5 .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I # of immediate descendants of order 2^6 is 11
#I # of capable immediate descendants is 10
#I Group: [grp] #5;2 #19;3 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 1
#I Group: [grp] #5;2 #20;3 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 1
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Group: [grp] #5;2 #21;3 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on [3, 2] = 2 1 2
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .6
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I [ .3, .2 ] = .6
#I [ .4, .2 ] = .5 .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 1
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 2^4
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group: [grp] #6;2 #1;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 1
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 0 1
#I Group: [grp] #6;2 #2;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3
#I .3^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 1 0
#I Group: [grp] #6;2 #3;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3 .5
#I .3^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 1 0
#I Group: [grp] #6;2 #4;1 to lower exponent-2 central class 3 has order 2^5
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3
#I .3^2 = .5
#I .4^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0
#I Generator 2 --> 0 1 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0
#I Generator 2 --> 0 1 1 0 0
#I # of immediate descendants of order 2^5 is 4
#I # of capable immediate descendants is 3
#I Group: [grp] #6;2 #5;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 0 1 1
#I Group: [grp] #6;2 #6;2 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I Class 3
#I 5 is defined on [3, 1] = 2 1 1
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .3 .5
#I .3^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 2
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 0 1 1
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3
#I Order: 2^5
#I Nuclear rank: 5
#I 2-multiplicator rank: 5
#I Group: [grp] #7;3 #1;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #7;3 #2;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .6
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0
#I Group: [grp] #7;3 #3;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .6
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0
#I Group: [grp] #7;3 #4;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Group: [grp] #7;3 #5;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #7;3 #6;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #7;3 #7;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #7;3 #8;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0
#I Generator 2 --> 0 1 1 1 0 0
#I Group: [grp] #7;3 #9;1 to lower exponent-2 central class 3 has order 2^6
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0
#I # of immediate descendants of order 2^6 is 9
#I # of capable immediate descendants is 3
#I Group: [grp] #7;3 #10;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on 4^2 = 1 1 1
#I 7 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0
#I Group: [grp] #7;3 #11;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [4, 2] = 1 1 2
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 1 0
#I Group: [grp] #7;3 #12;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [4, 2] = 1 1 2
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 1 0
#I Group: [grp] #7;3 #13;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #14;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #15;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #16;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #17;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #18;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #19;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #20;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #21;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #22;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #23;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #24;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #25;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #26;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #27;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .6
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #28;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .7
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #29;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #30;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .6 .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0
#I Group: [grp] #7;3 #31;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0
#I Group: [grp] #7;3 #32;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #33;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #34;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0
#I Group: [grp] #7;3 #35;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6 .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0
#I Group: [grp] #7;3 #36;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .6
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0
#I Group: [grp] #7;3 #37;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #38;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #39;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #40;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #41;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #42;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #43;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #44;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #45;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I Group: [grp] #7;3 #46;2 to lower exponent-2 central class 3 has order 2^7
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0
#I # of immediate descendants of order 2^7 is 37
#I # of capable immediate descendants is 28
#I Group: [grp] #7;3 #47;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [4, 2] = 1 1 2
#I 7 is defined on 4^2 = 1 1 1
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #48;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .5, .1 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #49;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on 4^2 = 1 1 1
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .7
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #50;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #51;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #52;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #53;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0
#I Group: [grp] #7;3 #54;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #55;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .6 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #56;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .7 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #57;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .6 .7 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #58;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 1 0 0
#I Group: [grp] #7;3 #59;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .8
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #60;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .8
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 1 0 0
#I Group: [grp] #7;3 #61;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #62;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #63;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #64;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #65;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #66;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #67;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .7
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #68;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #69;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #70;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .7
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #71;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .8
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #72;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .8
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0 0
#I Group: [grp] #7;3 #73;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .8
#I .5^2 = .6 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #74;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .7 .8
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0
#I Group: [grp] #7;3 #75;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .6 .7 .8
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #76;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .8
#I .5^2 = .6 .7 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #77;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0 0
#I Group: [grp] #7;3 #78;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .6
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0 0
#I Group: [grp] #7;3 #79;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .7
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #80;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #81;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .8
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #82;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .8
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I Group: [grp] #7;3 #83;3 to lower exponent-2 central class 3 has order 2^8
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .8
#I .5^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0
#I # of immediate descendants of order 2^8 is 37
#I # of capable immediate descendants is 37
#I Group: [grp] #7;3 #84;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [4, 2] = 1 1 2
#I 8 is defined on 4^2 = 1 1 1
#I 9 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .4^2 = .8
#I .5^2 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 0 0
#I Group: [grp] #7;3 #85;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I 9 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .4^2 = .8
#I .5^2 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .6
#I [ .5, .1 ] = .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0 0
#I Group: [grp] #7;3 #86;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 1 0
#I Group: [grp] #7;3 #87;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .6
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Group: [grp] #7;3 #88;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 1 0
#I Group: [grp] #7;3 #89;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 4
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Group: [grp] #7;3 #90;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .6 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 1 0
#I Group: [grp] #7;3 #91;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .6 .7 .8
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 1 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 1 1 0 0 0 1 0
#I Group: [grp] #7;3 #92;4 to lower exponent-2 central class 3 has order 2^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on 4^2 = 1 1 1
#I 9 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6
#I .4^2 = .8
#I .5^2 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1 0
#I Automorphism 6:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1
#I Number of stabiliser generators is 5
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 1 0 0 0 0 0 0
#I # of immediate descendants of order 2^9 is 9
#I # of capable immediate descendants is 9
#I Group: [grp] #7;3 #93;5 to lower exponent-2 central class 3 has order 2^10
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I 4 is defined on 1^2 = 1 1
#I 5 is defined on 2^2 = 2 2
#I Class 3
#I 6 is defined on [3, 1] = 2 1 1
#I 7 is defined on [3, 2] = 2 1 2
#I 8 is defined on [4, 2] = 1 1 2
#I 9 is defined on 4^2 = 1 1 1
#I 10 is defined on 5^2 = 2 2 2
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .8
#I .4^2 = .9
#I .5^2 = .10
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .3, .2 ] = .7
#I [ .4, .2 ] = .8
#I [ .5, .1 ] = .6 .7 .8
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 1
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 1 0 0 0
#I Automorphism 6:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1 0
#I Automorphism 7:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 1
#I Number of stabiliser generators is 6
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0 0 0 0
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 1 0 0 0 0 0
#I Automorphism 5:
#I Generator 1 --> 0 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 1 1 0 0 0 0 0 0 0 0
#I Automorphism 6:
#I Generator 1 --> 0 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 1 0 0 0 0 0 0 0 0 0
#I # of immediate descendants of order 2^10 is 1
#I # of capable immediate descendants is 1
#I **************************************************
136
gap> ##Example: "2gp-PG-3-i" . . . based on: examples/pga_3-2.com
gap> ##All descendants of C2 x C2 x C2
gap> F := FreeGroup("a", "b", "c");
gap> procId := PqStart(F : Prime := 2);
2
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^3
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-2 central class 2 has order 2^9
gap> PqPGSupplyAutomorphisms(procId, [ [[1,1,0],
> [0,1,0],
> [0,0,1]],
>
> [[0,0,1],
> [1,0,0],
> [0,1,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 5,
> OrderBound := 7,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 2^3
#I Nuclear rank: 6
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^4 is 4
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^5 is 15
#I # of capable immediate descendants is 13
#I # of immediate descendants of order 2^6 is 28
#I # of capable immediate descendants is 28
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 15
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 2^4
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^5 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 2^4
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^5 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 4
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^7 is 9
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 2^5
#I Nuclear rank: 3
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^6 is 16
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^7 is 106
#I # of capable immediate descendants is 54
#I **************************************************
#I Starting group: [grp] #7;2
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 9
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^7 is 13
#I # of capable immediate descendants is 9
#I **************************************************
#I Starting group: [grp] #8;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #9;2
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 11
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^7 is 20
#I # of capable immediate descendants is 10
#I **************************************************
#I Starting group: [grp] #10;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #11;2
#I Order: 2^5
#I Nuclear rank: 3
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^6 is 12
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^7 is 70
#I # of capable immediate descendants is 25
#I **************************************************
#I Starting group: [grp] #12;2
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 15
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^7 is 40
#I # of capable immediate descendants is 13
#I **************************************************
#I Starting group: [grp] #13;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #14;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #15;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #18;2
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #19;2
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #20;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #21;3
#I Order: 2^6
#I Nuclear rank: 5
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^7 is 17
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #22;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #23;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 18
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #24;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 13
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #25;3
#I Order: 2^6
#I Nuclear rank: 6
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 18
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #26;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 20
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #27;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 14
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #28;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #29;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #30;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #31;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #32;3
#I Order: 2^6
#I Nuclear rank: 5
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^7 is 47
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #33;3
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 7
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #34;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 16
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #35;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #36;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 30
#I # of capable immediate descendants is 8
#I **************************************************
#I Starting group: [grp] #37;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #38;3
#I Order: 2^6
#I Nuclear rank: 5
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^7 is 24
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #39;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #40;3
#I Order: 2^6
#I Nuclear rank: 4
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 24
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #41;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #42;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #43;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 12
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #44;3
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #45;3
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #46;3
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 5
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #47;3
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 1
#I **************************************************
#I Starting group: [grp] #48;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #48;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #49;4
#I Order: 2^7
#I Nuclear rank: 8
#I 2-multiplicator rank: 10
#I Group [grp] #49;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #50;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #50;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #51;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #51;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #52;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #52;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #53;4
#I Order: 2^7
#I Nuclear rank: 7
#I 2-multiplicator rank: 9
#I Group [grp] #53;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #54;4
#I Order: 2^7
#I Nuclear rank: 8
#I 2-multiplicator rank: 10
#I Group [grp] #54;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #55;4
#I Order: 2^7
#I Nuclear rank: 7
#I 2-multiplicator rank: 9
#I Group [grp] #55;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #56;4
#I Order: 2^7
#I Nuclear rank: 7
#I 2-multiplicator rank: 9
#I Group [grp] #56;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #57;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #57;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #58;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #58;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #59;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #59;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #60;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #60;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #61;4
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 8
#I Group [grp] #61;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #62;4
#I Order: 2^7
#I Nuclear rank: 7
#I 2-multiplicator rank: 9
#I Group [grp] #62;4 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #5;2 #5;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #5;2 #5;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #6;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #5;2 #6;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #7;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #7;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 7
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #4;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 18
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #6;2 #9;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #17;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #17;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #18;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #19;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #20;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #21;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #21;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #22;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #22;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #23;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #24;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #25;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #25;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #26;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #26;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #27;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #27;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #28;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #28;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #29;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #29;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #32;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #32;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #33;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #33;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #35;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #35;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #43;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #43;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #46;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #46;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #51;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #51;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #52;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #52;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #53;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #53;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #54;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #54;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #58;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #58;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #59;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #59;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #60;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #60;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #64;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #64;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #68;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #68;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #71;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #71;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #75;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #75;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #76;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #76;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #77;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #77;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #78;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #78;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #79;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #79;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #80;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #80;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #81;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #81;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #87;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #87;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #91;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #91;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #93;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #93;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #99;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #99;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #100;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #100;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #102;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #102;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #103;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #103;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #105;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #105;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #106;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #106;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #108;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #108;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #109;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #109;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #111;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #111;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #112;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #112;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #114;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #114;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #115;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #115;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #117;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #117;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #118;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #118;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #120;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #120;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #121;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #6;2 #121;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 5
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;2 #4;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #7;2 #5;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;2 #10;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #7;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #11;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #7;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #12;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #13;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #14;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #15;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #16;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #18;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #19;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #8;2 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #9;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 5
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #9;2 #3;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #9;2 #8;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #9;2 #12;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #9;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #13;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #14;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #15;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #16;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #17;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #9;2 #17;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #18;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #23;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #24;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #29;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #9;2 #29;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #10;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #11;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #11;2 #11;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #11;2 #13;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #11;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #14;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #15;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #16;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #11;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #17;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #17;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #18;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #19;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #20;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #21;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #21;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #22;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #22;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #23;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #24;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #25;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #25;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #28;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #28;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #31;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #31;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #34;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #34;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #41;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #11;2 #41;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #43;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #43;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #47;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #47;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #49;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #49;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #51;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #51;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #61;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #61;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #63;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #63;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #69;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #69;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #71;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #11;2 #71;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 9
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #12;2 #8;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 9
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #12;2 #16;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #18;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #12;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #19;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #20;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #24;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #25;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #25;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #26;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #26;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #28;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #28;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #32;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #32;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #33;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #33;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #36;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #36;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #38;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #40;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #12;2 #40;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #13;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #13;2 #3;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #14;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #14;2 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #15;2 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #18;2 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #18;2 #8;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #18;2 #8;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #11;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #18;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #14;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #18;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #15;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #18;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #23;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #18;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #24;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #18;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #19;2 #3;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #20;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #20;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #20;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #20;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #20;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #20;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #21;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #21;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #21;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #21;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #21;3 #11;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #21;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #22;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #22;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #22;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #22;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #22;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #22;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #13;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #23;3 #15;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #23;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #9;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #10;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #24;3 #11;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #24;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #25;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #25;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #25;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #25;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #25;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #25;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #25;3 #8;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #25;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #25;3 #12;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #25;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #8;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #11;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;3 #12;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #26;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #27;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #27;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #27;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #27;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;3 #8;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #27;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #28;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #28;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #28;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #28;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #28;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #28;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #28;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #28;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #29;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #29;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #30;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #30;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #30;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #30;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #30;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #30;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #30;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #30;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #30;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #30;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #10;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #15;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #31;3 #17;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #31;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #11;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #21;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #25;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #32;3 #30;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #32;3 #30;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #33;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #33;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #12;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #34;3 #14;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #34;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #35;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #35;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #35;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #35;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #35;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #35;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #35;3 #9;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #35;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #35;3 #10;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #35;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #8;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #11;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #17;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #19;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #36;3 #29;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #36;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #10;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #37;3 #13;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #37;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #38;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #38;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #38;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #38;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #38;3 #13;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #38;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #39;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #39;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #39;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #39;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #40;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #40;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #40;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #40;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #40;3 #12;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #40;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #40;3 #15;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #40;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #40;3 #16;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #40;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #41;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #41;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #41;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #42;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #42;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #42;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #42;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #43;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #43;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #43;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #43;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #43;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #43;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #43;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #43;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #43;3 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #43;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #44;3 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #44;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #45;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #45;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #45;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #45;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #45;3 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #45;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #46;3 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #46;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #46;3 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #46;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #46;3 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #46;3 #3;1 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #5;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #5;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #4;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #4;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #4;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #4;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #4;1 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #4;1 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #4;1 #13;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #4;1 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #9;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #6;2 #9;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #5;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;2 #5;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #5;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;2 #5;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #8;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #1;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #8;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #9;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #3;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #9;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #3;1 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #9;2 #3;1 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #10;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #10;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #11;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #11;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #11;2 #11;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #12;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #8;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #12;2 #8;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #13;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #13;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #13;2 #1;1 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #13;2 #1;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #14;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #14;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #14;2 #1;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #14;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #15;2 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #15;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #2;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #18;2 #2;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #19;2 #3;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #19;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
365
gap> ##Example: "2gp-PG-4-i" . . . based on: examples/pga_4-2.com
gap> ##All descendants of C2 x C2 x C2 x C2
gap> F := FreeGroup("a", "b", "c", "d");
gap> procId := PqStart(F : Prime := 2);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^4
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-2 central class 2 has order 2^14
gap> PqPGSupplyAutomorphisms(procId, [ [[1,1,0,0],
> [0,1,0,0],
> [0,0,1,0],
> [0,0,0,1]],
>
> [[0,0,0,1],
> [1,0,0,0],
> [0,1,0,0],
> [0,0,1,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 4,
> OrderBound := 8,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 2^4
#I Nuclear rank: 10
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^5 is 6
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^6 is 54
#I # of capable immediate descendants is 29
#I # of immediate descendants of order 2^7 is 604
#I # of capable immediate descendants is 439
#I # of immediate descendants of order 2^8 is 3566
#I # of capable immediate descendants is 3458
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^6 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^6 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 7
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 11
#I **************************************************
#I Starting group: [grp] #8;2
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^7 is 26
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^8 is 440
#I # of capable immediate descendants is 96
#I **************************************************
#I Starting group: [grp] #9;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^8 is 59
#I # of capable immediate descendants is 16
#I **************************************************
#I Starting group: [grp] #10;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 9
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #11;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 32
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^8 is 252
#I # of capable immediate descendants is 35
#I **************************************************
#I Starting group: [grp] #12;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #13;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #14;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #15;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #16;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #17;2
#I Order: 2^6
#I Nuclear rank: 3
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^7 is 33
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 1004
#I # of capable immediate descendants is 107
#I **************************************************
#I Starting group: [grp] #18;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 41
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 494
#I # of capable immediate descendants is 37
#I **************************************************
#I Starting group: [grp] #19;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #20;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #21;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 28
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #22;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 15
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #26;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 14
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^8 is 163
#I # of capable immediate descendants is 14
#I **************************************************
#I Starting group: [grp] #27;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #28;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #30;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #31;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 21
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #32;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #33;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #41;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 30
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^8 is 570
#I # of capable immediate descendants is 24
#I **************************************************
#I Starting group: [grp] #42;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 40
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #43;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 24
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #44;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #45;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #46;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^7 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #61;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #62;3
#I Order: 2^7
#I Nuclear rank: 5
#I 2-multiplicator rank: 12
#I # of immediate descendants of order 2^8 is 29
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #63;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #64;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 52
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #65;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #66;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #67;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #68;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #69;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #70;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #71;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #72;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #73;3
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 13
#I # of immediate descendants of order 2^8 is 47
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #74;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 56
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #75;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 34
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #76;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 36
#I # of capable immediate descendants is 8
#I **************************************************
#I Starting group: [grp] #77;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #78;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #79;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #80;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #81;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #82;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 61
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #83;3
#I Order: 2^7
#I Nuclear rank: 5
#I 2-multiplicator rank: 12
#I # of immediate descendants of order 2^8 is 125
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #84;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #85;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 57
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #86;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #87;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 44
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #88;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 79
#I # of capable immediate descendants is 8
#I **************************************************
#I Starting group: [grp] #89;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 34
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #90;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 41
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #91;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #92;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #93;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 57
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #94;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #95;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 47
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #96;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 75
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #97;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #98;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #99;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 34
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #100;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #101;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #102;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 31
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #103;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 27
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #104;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 48
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #105;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #106;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 29
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #107;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 55
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #108;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #109;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #110;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #111;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 21
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #112;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 21
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #113;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #114;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #115;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #116;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #117;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #118;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #119;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #120;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #121;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #122;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 30
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #123;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #124;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 27
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #125;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #126;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #127;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #128;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #129;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #130;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #131;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #132;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #133;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #134;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #135;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 39
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #136;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #137;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #138;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 37
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #139;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #140;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #141;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #142;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #143;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #144;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #145;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #146;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #147;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #148;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 37
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #149;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #150;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #151;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #152;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #153;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #154;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 58
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #155;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 52
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #156;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #157;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 65
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #158;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #159;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #160;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #161;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #162;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 31
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #163;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #164;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #165;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #166;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #167;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #168;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 9
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #169;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #170;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #171;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #172;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #173;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #174;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #175;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 9
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #176;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #177;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #178;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #179;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #180;3
#I Order: 2^7
#I Nuclear rank: 5
#I 2-multiplicator rank: 12
#I # of immediate descendants of order 2^8 is 64
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #181;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 28
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #182;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 73
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #183;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #184;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #185;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #186;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 30
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #187;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 23
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #188;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #189;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #190;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 13
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #191;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #192;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #193;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 21
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #194;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #195;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 11
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #196;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #199;3
#I Order: 2^7
#I Nuclear rank: 5
#I 2-multiplicator rank: 12
#I # of immediate descendants of order 2^8 is 82
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #200;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #201;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 58
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #202;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 56
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #203;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 92
#I # of capable immediate descendants is 7
#I **************************************************
#I Starting group: [grp] #204;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 90
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #205;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 56
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #206;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 122
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #207;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #208;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #209;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #210;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #211;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #212;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 85
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #213;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 50
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #214;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #215;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #216;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 25
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #217;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #218;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #219;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #220;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 124
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #221;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #222;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #223;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #224;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 85
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #225;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #226;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #227;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 78
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #228;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #229;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 94
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #230;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 44
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #231;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 47
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #232;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 48
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #233;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #234;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #235;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #236;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #237;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #238;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #239;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #240;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #241;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #242;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #243;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #244;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #245;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #246;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #247;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #248;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #249;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #250;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #251;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #252;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #253;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #254;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #255;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #256;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #257;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #258;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #259;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #260;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #261;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #262;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #263;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #264;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #265;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #266;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #267;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #268;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #269;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #270;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #271;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #272;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #273;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #274;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #275;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #276;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #277;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #278;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #279;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #280;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #281;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #282;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #283;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #284;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #285;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #286;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #287;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #288;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #291;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #292;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #294;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #295;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #296;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #297;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 43
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #298;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #299;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #300;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #302;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #308;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #315;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #317;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #330;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #331;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 45
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #332;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #333;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #334;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #335;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 68
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #336;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 68
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #337;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 71
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #338;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 43
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #339;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #340;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #341;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #342;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 29
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #343;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #344;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #345;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #346;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #347;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #348;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #349;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #350;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #351;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #352;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #353;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #354;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #355;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #356;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #357;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #358;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #359;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 17
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #360;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #361;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #362;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #363;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #364;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #367;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #368;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #375;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #376;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #377;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #378;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #379;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #380;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #387;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #388;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #394;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #395;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #396;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #397;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #398;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #399;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #400;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #405;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #406;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #407;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #409;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #410;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #411;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 27
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #412;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 25
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #413;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 42
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #414;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #415;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 30
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #416;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #417;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #418;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #419;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #420;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #421;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #422;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #423;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #424;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #425;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #426;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #427;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 21
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #428;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #429;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #430;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #431;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #432;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #433;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #434;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #435;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #436;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #437;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #438;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #440;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #452;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #453;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 18
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #454;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #455;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #456;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #457;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #458;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #459;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #460;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #464;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 48
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #465;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 75
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #466;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #467;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #468;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #469;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #470;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #471;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 29
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #472;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #473;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #474;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #475;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #476;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 38
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #477;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 72
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #478;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #479;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #480;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 26
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #481;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #482;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #483;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #484;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #485;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #486;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #487;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #488;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #489;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #490;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #491;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #492;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #493;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #494;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #495;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #496;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #497;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #498;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #499;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #500;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #501;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #502;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #503;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #504;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #505;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #506;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #507;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #508;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #509;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #510;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #511;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #512;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #513;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #514;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #515;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #516;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #517;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #518;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #519;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #520;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #521;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #522;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #523;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #524;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #525;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #526;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #527;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #528;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #529;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #530;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #545;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 4
#I **************************************************
#I Starting group: [grp] #556;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #578;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #600;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #608;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #609;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #610;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #611;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #612;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #613;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #614;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #615;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #616;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #617;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #618;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #619;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #622;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #636;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #638;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #642;3
#I Order: 2^7
#I Nuclear rank: 6
#I 2-multiplicator rank: 13
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #643;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 51
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #644;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 25
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #645;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 46
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #646;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 42
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #647;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #648;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #649;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #650;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #651;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #652;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 35
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #653;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 29
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #654;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 32
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #655;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 9
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #656;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #657;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #658;3
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I # of immediate descendants of order 2^8 is 11
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #663;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #664;3
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #665;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #665;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #666;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #666;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #667;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #667;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #668;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #668;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #669;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #669;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #670;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #670;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #671;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #671;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #672;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #672;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #673;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #673;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #674;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #674;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #675;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #675;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #676;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #676;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #677;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #677;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #678;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #678;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #679;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #679;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #680;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #680;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #681;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #681;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #682;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #682;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #683;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #683;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #684;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #684;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #685;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #685;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #686;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #686;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #687;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #687;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #688;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #688;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #689;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #689;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #690;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #690;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #691;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #691;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #692;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #692;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #693;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #693;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #694;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #694;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #695;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #695;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #696;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #696;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #697;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #697;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #698;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #698;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #699;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #699;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #700;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #700;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #701;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #701;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #702;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #702;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #703;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #703;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #704;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #704;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #705;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #705;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #706;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #706;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #707;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #707;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #708;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #708;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #709;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #709;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #710;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #710;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #711;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #711;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #712;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #712;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #713;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #713;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #714;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #714;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #715;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #715;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #716;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #716;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #717;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #717;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #718;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #718;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #719;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #719;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #720;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #720;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #721;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #721;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #722;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #722;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #723;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #723;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #724;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #724;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #725;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #725;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #726;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #726;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #727;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #727;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #728;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #728;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #729;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #729;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #730;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #730;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #731;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #731;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #732;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #732;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #733;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #733;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #734;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #734;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #735;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #735;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #736;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #736;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #737;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #737;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #738;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #738;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #739;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #739;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #740;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #740;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #741;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #741;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #742;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #742;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #743;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #743;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #744;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #744;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #745;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #745;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #746;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #746;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #747;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #747;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #748;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #748;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #749;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #749;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #750;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #750;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #751;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #751;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #752;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #752;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #753;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #753;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #754;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #754;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #755;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #755;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #756;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #756;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #757;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #757;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #758;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #758;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #759;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #759;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #760;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #760;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #761;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #761;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #762;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #762;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #763;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #763;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #764;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #764;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #765;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #765;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #766;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #766;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #767;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #767;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #768;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #768;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #769;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #769;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #770;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #770;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #771;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #771;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #772;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #772;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #773;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #773;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #774;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #774;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #775;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #775;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #776;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #776;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #777;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #777;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #778;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #778;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #779;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #779;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #780;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #780;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #781;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #781;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #782;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #782;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #783;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #783;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #784;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #784;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #785;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #785;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #786;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #786;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #787;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #787;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #788;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #788;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #789;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #789;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #790;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #790;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #791;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #791;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #792;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #792;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #793;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #793;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #794;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #794;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #795;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #795;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #796;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #796;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #797;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #797;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #798;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #798;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #799;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #799;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #800;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #800;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #801;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #801;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #802;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #802;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #803;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #803;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #804;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #804;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #805;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #805;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #806;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #806;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #807;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #807;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #808;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #808;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #809;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #809;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #810;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #810;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #811;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #811;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #812;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #812;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #813;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #813;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #814;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #814;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #815;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #815;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #816;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #816;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #817;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #817;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #818;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #818;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #819;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #819;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #820;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #820;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #821;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #821;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #822;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #822;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #823;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #823;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #824;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #824;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #825;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #825;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #826;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #826;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #827;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #827;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #828;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #828;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #829;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #829;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #830;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #830;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #831;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #831;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #832;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #832;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #833;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #833;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #834;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #834;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #835;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #835;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #836;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #836;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #837;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #837;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #838;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #838;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #839;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #839;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #840;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #840;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #841;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #841;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #842;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #842;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #843;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #843;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #844;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #844;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #845;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #845;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #846;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #846;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #847;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #847;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #848;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #848;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #849;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #849;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #850;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #850;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #851;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #851;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #852;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #852;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #853;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #853;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #854;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #854;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #855;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #855;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #856;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #856;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #857;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #857;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #858;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #858;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #859;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #859;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #860;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #860;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #861;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #861;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #862;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #862;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #863;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #863;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #864;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #864;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #865;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #865;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #866;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #866;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #867;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #867;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #868;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #868;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #869;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #869;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #870;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #870;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #871;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #871;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #872;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #872;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #873;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #873;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #874;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #874;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #875;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #875;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #876;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #876;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #877;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #877;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #878;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #878;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #879;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #879;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #880;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #880;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #881;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #881;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #882;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #882;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #883;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #883;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #884;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #884;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #885;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #885;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #886;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #886;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #887;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #887;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #888;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #888;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #889;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #889;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #890;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #890;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #891;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #891;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #892;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #892;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #893;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #893;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #894;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #894;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #895;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #895;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #896;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #896;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #897;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #897;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #898;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #898;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #899;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #899;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #900;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #900;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #901;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #901;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #902;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #902;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #903;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #903;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #904;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #904;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #905;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #905;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #906;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #906;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #907;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #907;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #908;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #908;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #909;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #909;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #910;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #910;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #911;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #911;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #912;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #912;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #913;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #913;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #914;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #914;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #915;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #915;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #916;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #916;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #917;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #917;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #918;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #918;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #919;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #919;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #920;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #920;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #921;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #921;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #922;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #922;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #923;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #923;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #924;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #924;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #925;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #925;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #926;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #926;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #927;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #927;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #928;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #928;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #929;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #929;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #930;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #930;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #931;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #931;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #932;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #932;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #933;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #933;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #934;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #934;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #935;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #935;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #936;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #936;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #937;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #937;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #938;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #938;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #939;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #939;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #940;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #940;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #941;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #941;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #942;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #942;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #943;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #943;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #944;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #944;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #945;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #945;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #946;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #946;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #947;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #947;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #948;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #948;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #949;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #949;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #950;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #950;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #951;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #951;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #952;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #952;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #953;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #953;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #954;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #954;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #955;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #955;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #956;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #956;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #957;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #957;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #958;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #958;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #959;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #959;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #960;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #960;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #961;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #961;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #962;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #962;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #963;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #963;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #964;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #964;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #965;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #965;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #966;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #966;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #967;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #967;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #968;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #968;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #969;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #969;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #970;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #970;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #971;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #971;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #972;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #972;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #973;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #973;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #974;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #974;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #975;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #975;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #976;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #976;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #977;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #977;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #978;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #978;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #979;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #979;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #980;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #980;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #981;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #981;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #982;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #982;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #983;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #983;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #984;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #984;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #985;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #985;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #986;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #986;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #987;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #987;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #988;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #988;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #989;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #989;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #990;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #990;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #991;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #991;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #992;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #992;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #993;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #993;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #994;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #994;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #995;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #995;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #996;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #996;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #997;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #997;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #998;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #998;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #999;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #999;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1000;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1000;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1001;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1001;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1002;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1002;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1003;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1003;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1004;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1004;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1005;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1005;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1006;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1006;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1007;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1007;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1008;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1008;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1009;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1009;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1010;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1010;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1011;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1011;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1012;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1012;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1013;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1013;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1014;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1014;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1015;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1015;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1016;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1016;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1017;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1017;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1018;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1018;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1019;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1019;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1020;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1020;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1021;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1021;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1022;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1022;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1023;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1023;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1024;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1024;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1025;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1025;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1026;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1026;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1027;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1027;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1028;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1028;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1029;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1029;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1030;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1030;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1031;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1031;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1032;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1032;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1033;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1033;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1034;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1034;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1035;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1035;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1036;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1036;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1037;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1037;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1038;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1038;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1039;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1039;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1040;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1040;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1041;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1041;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1042;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1042;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1043;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1043;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1044;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1044;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1045;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1045;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1046;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1046;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1047;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1047;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1048;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1048;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1049;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1049;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1050;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1050;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1051;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1051;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1052;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1052;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1053;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1053;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1054;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1054;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1055;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1055;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1056;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1056;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1057;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1057;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1058;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1058;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1059;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1059;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1060;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1060;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1061;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1061;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1062;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1062;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1063;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1063;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1064;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1064;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1065;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1065;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1066;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1066;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1067;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1067;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1068;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1068;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1069;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1069;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1070;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1070;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1071;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1071;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1072;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1072;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1073;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1073;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1074;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1074;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1075;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1075;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1076;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1076;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1077;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1077;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1078;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1078;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1079;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1079;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1080;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1080;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1081;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1081;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1082;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1082;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1083;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1083;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1084;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1084;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1085;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1085;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1086;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1086;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1087;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1087;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1088;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1088;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1089;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1089;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1090;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1090;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1091;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1091;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1092;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1092;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1093;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1093;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1094;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1094;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1095;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1095;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1096;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1096;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1097;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1097;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1098;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1098;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1099;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1099;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1100;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1100;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1101;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1101;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1102;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1102;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1103;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1103;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1104;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1104;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1105;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1105;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1106;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1106;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1107;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1107;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1108;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1108;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1109;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1109;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1110;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1110;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1111;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1111;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1112;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1112;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1113;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1113;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1114;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1114;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1115;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1115;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1116;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1116;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1117;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1117;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1118;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1118;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1119;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1119;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1120;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1120;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1121;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1121;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1122;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1122;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1123;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1123;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1124;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1124;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1125;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1125;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1126;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1126;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1127;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1127;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1128;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1128;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1129;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1129;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1130;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1130;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1131;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1131;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1132;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1132;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1133;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1133;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1134;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1134;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1135;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1135;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1136;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1136;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1137;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1137;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1138;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1138;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1139;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1139;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1140;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1140;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1141;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1141;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1142;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1142;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1143;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1143;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1144;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1144;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1145;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1145;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1146;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1146;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1147;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1147;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1148;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1148;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1149;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1149;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1150;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1150;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1151;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1151;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1152;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1152;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1153;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1153;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1154;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1154;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1155;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1155;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1156;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1156;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1157;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1157;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1158;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1158;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1159;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1159;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1160;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1160;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1161;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1161;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1162;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1162;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1163;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1163;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1164;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1164;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1165;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1165;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1166;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1166;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1167;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1167;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1168;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1168;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1169;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1169;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1170;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1170;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1171;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1171;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1172;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1172;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1173;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1173;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1174;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1174;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1175;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1175;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1176;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1176;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1177;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1177;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1178;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1178;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1179;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1179;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1180;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1180;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1181;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1181;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1182;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1182;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1183;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1183;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1184;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1184;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1185;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1185;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1186;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1186;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1187;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1187;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1188;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1188;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1189;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1189;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1190;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1190;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1191;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1191;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1192;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1192;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1193;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1193;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1194;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1194;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1195;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1195;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1196;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1196;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1197;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1197;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1198;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1198;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1199;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1199;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1200;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1200;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1201;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1201;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1202;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1202;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1203;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1203;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1204;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1204;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1205;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1205;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1206;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1206;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1207;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1207;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1208;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1208;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1209;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1209;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1210;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1210;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1211;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1211;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1212;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1212;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1213;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1213;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1214;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1214;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1215;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1215;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1216;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1216;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1217;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1217;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1218;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1218;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1219;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1219;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1220;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1220;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1221;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1221;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1222;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1222;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1223;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1223;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1224;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1224;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1225;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1225;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1226;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1226;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1227;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1227;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1228;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1228;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1229;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1229;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1230;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1230;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1231;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1231;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1232;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1232;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1233;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1233;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1234;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1234;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1235;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1235;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1236;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1236;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1237;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1237;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1238;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1238;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1239;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1239;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1240;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1240;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1241;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1241;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1242;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1242;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1243;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1243;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1244;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1244;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1245;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1245;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1246;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1246;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1247;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1247;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1248;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1248;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1249;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1249;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1250;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1250;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1251;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1251;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1252;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1252;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1253;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1253;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1254;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1254;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1255;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1255;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1256;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1256;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1257;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1257;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1258;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1258;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1259;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1259;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1260;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1260;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1261;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1261;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1262;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1262;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1263;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1263;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1264;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1264;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1265;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1265;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1266;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1266;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1267;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1267;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1268;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1268;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1269;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1269;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1270;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1270;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1271;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1271;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1272;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1272;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1273;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1273;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1274;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1274;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1275;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1275;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1276;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1276;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1277;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1277;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1278;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1278;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1279;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1279;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1280;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1280;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1281;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1281;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1282;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1282;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1283;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1283;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1284;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1284;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1285;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1285;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1286;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1286;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1287;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1287;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1288;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1288;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1289;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1289;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1290;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1290;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1291;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1291;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1292;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1292;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1293;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1293;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1294;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1294;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1295;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1295;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1296;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1296;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1297;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1297;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1298;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1298;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1299;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1299;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1300;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1300;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1301;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1301;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1302;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1302;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1303;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1303;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1304;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1304;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1305;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1305;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1306;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1306;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1307;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1307;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1308;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1308;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1309;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1309;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1310;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1310;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1311;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1311;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1312;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1312;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1313;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1313;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1314;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1314;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1315;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1315;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1316;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1316;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1317;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1317;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1318;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1318;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1319;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1319;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1320;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1320;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1321;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1321;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1322;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1322;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1323;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1323;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1324;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1324;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1325;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1325;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1326;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1326;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1327;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1327;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1328;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1328;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1329;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1329;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1330;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1330;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1331;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1331;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1332;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1332;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1333;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1333;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1334;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1334;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1335;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1335;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1336;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1336;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1337;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1337;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1338;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1338;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1339;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1339;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1340;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1340;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1341;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1341;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1342;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1342;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1343;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1343;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1344;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1344;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1345;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1345;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1346;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1346;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1347;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1347;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1348;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1348;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1349;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1349;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1350;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1350;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1351;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1351;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1352;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1352;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1353;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1353;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1354;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1354;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1355;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1355;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1356;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1356;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1357;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1357;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1358;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1358;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1359;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1359;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1360;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1360;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1361;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1361;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1362;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1362;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1363;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1363;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1364;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1364;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1365;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1365;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1366;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1366;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1367;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1367;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1368;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1368;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1369;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1369;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1370;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1370;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1371;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1371;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1372;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1372;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1373;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1373;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1374;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1374;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1375;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1375;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1376;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1376;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1377;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1377;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1378;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1378;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1379;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1379;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1380;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1380;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1381;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1381;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1382;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1382;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1383;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1383;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1384;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1384;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1385;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1385;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1386;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1386;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1387;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1387;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1388;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1388;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1389;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1389;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1390;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1390;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1391;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1391;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1392;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1392;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1393;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1393;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1394;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1394;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1395;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1395;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1396;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1396;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1397;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1397;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1398;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1398;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1399;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1399;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1400;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1400;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1401;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1401;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1402;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1402;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1403;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1403;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1404;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1404;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1405;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1405;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1406;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1406;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1407;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1407;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1408;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1408;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1409;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1409;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1410;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1410;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1411;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1411;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1412;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1412;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1413;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1413;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1414;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1414;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1415;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1415;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1416;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1416;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1417;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1417;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1418;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1418;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1419;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1419;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1420;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1420;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1421;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1421;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1422;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1422;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1423;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1423;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1424;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1424;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1425;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1425;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1426;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1426;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1427;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1427;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1428;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1428;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1429;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1429;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1430;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1430;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1431;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1431;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1432;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1432;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1433;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1433;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1434;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1434;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1435;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1435;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1436;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1436;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1437;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1437;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1438;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1438;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1439;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1439;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1440;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1440;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1441;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1441;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1442;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1442;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1443;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1443;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1444;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1444;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1445;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1445;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1446;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1446;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1447;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1447;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1448;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1448;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1449;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1449;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1450;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1450;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1451;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1451;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1452;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1452;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1453;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1453;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1454;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1454;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1455;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1455;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1456;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1456;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1457;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1457;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1458;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1458;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1459;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1459;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1460;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1460;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1461;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1461;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1462;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1462;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1463;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1463;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1464;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1464;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1465;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1465;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1466;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1466;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1467;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1467;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1468;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1468;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1469;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1469;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1470;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1470;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1471;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1471;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1472;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1472;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1473;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1473;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1474;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1474;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1475;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1475;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1476;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1476;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1477;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1477;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1478;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1478;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1479;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1479;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1480;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1480;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1481;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1481;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1482;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1482;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1483;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1483;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1484;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1484;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1485;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1485;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1486;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1486;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1487;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1487;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1488;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1488;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1489;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1489;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1490;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1490;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1491;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1491;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1492;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1492;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1493;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1493;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1494;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1494;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1495;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1495;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1496;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1496;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1497;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1497;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1498;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1498;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1499;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1499;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1500;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1500;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1501;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1501;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1502;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1502;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1503;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1503;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1504;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1504;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1505;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1505;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1506;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1506;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1507;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1507;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1508;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1508;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1509;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1509;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1510;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1510;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1511;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1511;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1512;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1512;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1513;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1513;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1514;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1514;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1515;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1515;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1516;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1516;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1517;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1517;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1518;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1518;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1519;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1519;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1520;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1520;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1521;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1521;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1522;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1522;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1523;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1523;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1524;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1524;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1525;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1525;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1526;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1526;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1527;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1527;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1528;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1528;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1529;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1529;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1530;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1530;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1531;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1531;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1532;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1532;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1533;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1533;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1534;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1534;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1535;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1535;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1536;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1536;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1537;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1537;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1538;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1538;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1539;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1539;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1540;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1540;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1541;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1541;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1542;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1542;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1543;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1543;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1544;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1544;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1545;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1545;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1546;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1546;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1547;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1547;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1548;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1548;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1549;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1549;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1550;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1550;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1551;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1551;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1552;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1552;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1553;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1553;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1554;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1554;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1555;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1555;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1556;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1556;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1557;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1557;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1558;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1558;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1559;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1559;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1560;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1560;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1561;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1561;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1562;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1562;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1563;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1563;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1564;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1564;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1565;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1565;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1566;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1566;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1567;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1567;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1568;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1568;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1569;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1569;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1570;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1570;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1571;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1571;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1572;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1572;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1573;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1573;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1574;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1574;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1575;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1575;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1576;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1576;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1577;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1577;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1578;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1578;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1579;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1579;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1580;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1580;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1581;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1581;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1582;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1582;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1583;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1583;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1584;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1584;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1585;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1585;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1586;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1586;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1587;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1587;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1588;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1588;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1589;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1589;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1590;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1590;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1591;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1591;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1592;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1592;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1593;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1593;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1594;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1594;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1595;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1595;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1596;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1596;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1597;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1597;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1598;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1598;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1599;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1599;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1600;4
#I Order: 2^8
#I Nuclear rank: 10
#I 2-multiplicator rank: 16
#I Group [grp] #1600;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1601;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1601;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1602;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1602;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1603;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1603;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1604;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1604;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1605;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1605;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1606;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1606;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1607;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1607;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1608;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1608;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1609;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1609;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1610;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1610;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1611;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1611;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1612;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1612;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1613;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1613;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1614;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1614;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1615;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #1615;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1616;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1616;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1617;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1617;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1618;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1618;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1619;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1619;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1620;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1620;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1621;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1621;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1622;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1622;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1623;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1623;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1624;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1624;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1625;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1625;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1626;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1626;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1627;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1627;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1628;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1628;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1629;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1629;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1630;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1630;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1631;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1631;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1632;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1632;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1633;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1633;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1634;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1634;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1635;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1635;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1636;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #1636;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1637;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1637;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1638;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1638;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1639;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1639;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1640;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1640;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1641;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1641;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1642;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1642;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1643;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1643;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1644;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1644;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1645;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1645;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1646;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1646;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1647;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1647;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1648;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1648;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1649;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1649;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1650;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1650;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1651;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1651;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1652;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1652;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1653;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1653;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1654;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1654;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1655;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1655;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1656;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1656;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1657;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1657;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1658;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1658;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1659;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1659;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1660;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1660;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1661;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1661;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1662;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1662;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1663;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1663;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1664;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1664;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1665;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1665;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1666;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1666;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1667;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1667;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1668;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1668;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1669;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1669;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1670;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1670;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1671;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1671;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1672;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1672;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1673;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1673;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1674;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1674;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1675;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1675;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1676;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1676;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1677;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1677;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1678;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1678;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1679;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1679;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1680;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1680;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1681;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1681;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1682;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1682;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1683;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1683;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1684;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1684;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1685;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1685;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1686;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1686;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1687;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1687;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1688;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1688;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1689;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1689;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1690;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1690;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1691;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1691;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1692;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1692;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1693;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1693;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1694;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1694;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1695;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1695;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1696;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1696;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1697;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1697;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1698;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1698;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1699;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1699;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1700;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1700;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1701;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1701;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1702;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1702;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1703;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1703;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1704;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1704;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1705;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1705;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1706;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1706;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1707;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1707;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1708;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1708;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1709;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1709;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1710;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1710;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1711;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1711;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1712;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1712;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1713;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1713;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1714;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1714;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1715;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1715;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1716;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1716;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1717;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1717;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1718;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1718;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1719;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1719;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1720;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1720;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1721;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1721;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1722;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1722;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1723;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1723;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1724;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1724;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1725;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1725;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1726;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1726;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1727;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1727;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1728;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1728;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1729;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1729;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1730;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1730;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1731;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1731;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1732;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1732;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1733;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1733;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1734;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1734;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1735;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1735;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1736;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1736;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1737;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1737;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1738;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1738;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1739;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1739;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1740;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1740;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1741;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1741;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1742;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1742;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1743;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1743;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1744;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1744;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1745;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1745;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1746;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1746;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1747;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1747;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1748;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1748;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1749;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1749;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1750;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1750;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1751;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1751;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1752;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1752;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1753;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1753;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1754;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1754;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1755;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1755;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1756;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1756;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1757;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1757;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1758;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1758;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1759;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1759;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1760;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1760;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1761;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1761;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1762;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1762;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1763;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1763;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1764;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1764;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1765;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1765;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1766;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1766;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1767;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1767;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1768;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1768;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1769;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1769;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1770;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1770;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1771;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1771;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1772;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1772;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1773;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1773;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1774;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1774;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1775;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1775;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1776;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1776;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1777;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1777;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1778;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1778;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1779;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1779;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1780;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1780;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1781;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1781;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1782;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1782;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1783;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1783;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1784;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1784;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1785;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1785;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1786;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1786;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1787;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1787;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1788;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1788;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1789;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1789;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1790;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1790;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1791;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1791;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1792;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1792;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1793;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1793;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1794;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1794;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1795;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1795;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1796;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1796;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1797;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1797;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1798;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1798;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1799;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1799;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1800;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1800;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1801;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1801;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1802;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1802;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1803;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1803;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1804;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1804;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1805;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1805;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1806;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #1806;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1807;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1807;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1808;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1808;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1809;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1809;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1810;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1810;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1811;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1811;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1812;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1812;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1813;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1813;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1814;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1814;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1815;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1815;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1816;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1816;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1817;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1817;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1818;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1818;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1819;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1819;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1820;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1820;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1821;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1821;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1822;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1822;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1823;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1823;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1824;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1824;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1825;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1825;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1826;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1826;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1827;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1827;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1828;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1828;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1829;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1829;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1830;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1830;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1831;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1831;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1832;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #1832;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1833;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1833;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1834;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1834;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1835;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1835;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1836;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1836;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1837;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1837;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1838;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1838;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1839;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1839;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1840;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1840;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1841;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1841;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1842;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1842;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1843;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1843;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1844;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1844;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1845;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1845;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1846;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1846;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1847;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1847;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1848;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1848;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1849;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1849;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1850;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1850;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1851;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1851;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1852;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1852;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1853;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1853;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1854;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1854;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1855;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1855;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1856;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1856;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1857;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1857;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1858;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1858;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1859;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1859;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1860;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1860;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1861;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1861;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1862;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1862;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1863;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1863;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1864;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1864;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1865;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1865;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1866;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1866;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1867;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1867;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1868;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1868;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1869;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1869;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1870;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1870;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1871;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1871;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1872;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1872;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1873;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1873;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1874;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1874;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1875;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1875;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1876;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1876;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1877;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1877;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1878;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1878;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1879;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1879;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1880;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1880;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1881;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1881;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1882;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1882;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1883;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1883;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1884;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1884;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1885;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1885;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1886;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1886;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1887;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1887;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1888;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1888;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1889;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1889;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1890;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1890;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1891;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1891;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1892;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1892;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1893;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1893;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1894;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1894;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1895;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1895;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1896;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1896;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1897;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1897;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1898;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1898;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1899;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1899;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1900;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1900;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1901;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1901;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1902;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1902;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1903;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1903;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1904;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1904;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1905;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1905;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1906;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1906;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1907;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1907;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1908;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1908;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1909;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1909;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1910;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1910;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1911;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1911;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1912;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1912;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1913;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1913;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1914;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1914;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1915;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1915;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1916;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1916;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1917;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1917;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1918;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1918;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1919;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1919;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1920;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1920;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1921;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1921;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1922;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1922;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1923;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1923;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1924;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1924;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1925;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1925;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1926;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1926;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1927;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1927;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1928;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1928;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1929;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1929;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1930;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1930;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1931;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1931;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1932;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1932;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1933;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1933;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1934;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1934;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1935;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1935;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1936;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1936;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1937;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1937;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1938;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1938;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1939;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1939;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1940;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1940;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1941;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1941;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1942;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1942;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1943;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1943;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1944;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1944;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1945;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1945;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1946;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1946;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1947;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1947;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1948;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1948;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1950;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1950;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1952;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1952;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1954;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1954;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1956;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1956;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1959;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1959;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1961;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1961;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1962;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1962;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1964;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1964;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1965;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1965;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1966;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1966;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1967;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1967;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1968;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1968;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1969;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1969;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1970;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1970;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1971;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1971;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1972;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1972;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1973;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1973;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1974;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1974;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1975;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1975;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1976;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1976;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1978;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1978;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1980;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1980;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1981;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1981;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1982;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1982;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1983;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1983;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1984;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1984;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1985;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1985;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1986;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1986;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1987;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1987;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1988;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1988;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1989;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #1989;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1990;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #1990;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1991;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1991;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1992;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1992;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1993;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1993;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1994;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #1994;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1995;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1995;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1996;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1996;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1997;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #1997;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1998;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1998;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #1999;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #1999;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2000;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2000;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2001;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2001;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2002;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2002;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2003;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2003;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2004;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2004;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2005;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2005;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2006;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2006;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2007;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2007;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2008;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2008;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2009;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2009;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2010;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2010;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2011;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2011;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2012;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2012;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2013;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2013;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2014;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2014;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2015;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2015;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2016;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2016;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2017;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2017;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2018;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2018;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2019;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2019;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2020;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2020;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2021;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2021;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2022;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2022;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2023;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2023;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2024;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2024;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2025;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2025;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2026;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2026;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2027;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2027;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2028;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2028;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2029;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2029;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2030;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2030;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2031;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2031;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2032;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2032;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2033;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2033;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2034;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2034;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2035;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2035;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2036;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2036;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2037;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2037;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2038;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2038;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2039;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2039;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2040;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2040;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2041;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2041;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2042;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2042;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2043;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2043;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2044;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2044;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2045;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2045;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2046;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2046;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2047;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2047;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2048;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2048;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2049;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2049;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2050;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2050;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2051;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2051;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2052;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2052;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2053;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2053;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2054;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2054;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2055;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2055;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2056;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2056;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2057;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2057;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2058;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2058;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2059;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2059;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2060;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2060;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2061;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2061;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2062;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2062;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2063;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2063;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2064;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2064;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2065;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2065;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2066;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2066;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2067;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2067;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2068;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2068;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2069;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2069;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2070;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2070;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2071;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2071;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2072;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2072;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2073;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2073;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2074;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2074;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2075;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2075;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2076;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2076;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2077;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2077;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2078;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2078;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2079;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2079;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2080;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2080;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2081;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2081;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2082;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2082;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2083;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2083;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2084;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2084;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2085;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2085;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2086;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2086;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2087;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2087;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2088;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2088;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2089;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2089;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2090;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2090;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2091;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2091;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2092;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2092;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2093;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2093;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2094;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2094;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2095;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2095;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2096;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2096;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2097;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2097;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2098;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2098;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2099;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2099;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2100;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2100;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2101;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2101;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2102;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2102;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2103;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2103;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2104;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2104;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2105;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2105;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2106;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2106;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2107;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2107;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2108;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2108;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2109;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2109;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2110;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2110;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2111;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2111;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2112;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2112;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2113;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2113;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2114;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2114;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2115;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2115;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2116;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2116;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2117;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2117;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2118;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2118;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2119;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2119;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2120;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2120;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2121;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2121;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2122;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2122;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2123;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2123;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2124;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2124;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2125;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2125;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2126;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2126;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2127;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2127;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2128;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2128;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2130;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2130;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2132;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2132;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2133;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2133;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2134;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2134;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2135;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2135;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2136;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2136;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2137;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2137;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2138;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2138;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2139;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2139;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2140;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2140;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2141;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2141;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2142;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2142;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2143;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2143;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2144;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2144;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2145;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2145;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2146;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2146;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2147;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2147;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2148;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2148;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2149;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2149;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2150;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2150;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2151;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2151;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2152;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2152;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2153;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2153;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2154;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2154;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2155;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2155;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2156;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2156;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2157;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2157;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2158;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2158;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2159;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2159;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2160;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2160;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2161;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2161;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2162;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2162;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2163;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2163;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2164;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2164;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2165;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2165;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2166;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2166;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2167;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2167;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2168;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2168;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2169;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2169;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2170;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2170;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2171;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2171;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2172;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2172;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2173;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2173;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2174;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2174;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2175;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2175;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2176;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2176;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2177;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2177;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2178;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #2178;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2179;4
#I Order: 2^8
#I Nuclear rank: 7
#I 2-multiplicator rank: 13
#I Group [grp] #2179;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2180;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2180;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2181;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2181;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2182;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2182;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2183;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2183;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2184;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2184;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2185;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2185;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2186;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2186;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2187;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2187;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2188;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2188;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2189;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2189;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2190;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2190;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2191;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2191;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2192;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2192;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2193;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2193;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2194;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2194;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2195;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2195;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2196;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2196;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2197;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2197;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2198;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2198;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2199;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2199;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2200;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2200;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2201;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2201;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2202;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2202;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2203;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2203;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2204;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2204;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2205;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2205;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2206;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2206;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2207;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2207;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2208;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2208;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2209;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2209;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2210;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2210;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2211;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2211;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2212;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2212;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2213;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2213;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2214;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2214;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2215;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2215;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2216;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2216;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2217;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2217;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2218;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2218;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2219;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2219;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2220;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2220;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2221;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2221;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2222;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2222;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2223;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2223;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2224;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2224;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2225;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2225;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2226;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2226;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2227;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2227;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2228;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2228;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2229;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2229;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2230;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2230;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2231;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2231;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2232;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2232;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2233;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2233;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2234;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2234;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2235;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2235;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2236;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2236;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2237;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2237;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2238;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2238;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2239;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2239;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2240;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2240;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2241;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2241;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2242;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2242;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2243;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2243;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2244;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2244;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2245;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2245;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2246;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2246;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2247;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2247;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2248;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2248;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2249;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2249;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2250;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2250;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2251;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2251;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2252;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2252;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2253;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2253;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2254;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2254;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2255;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2255;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2256;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2256;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2257;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2257;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2258;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2258;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2259;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2259;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2260;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2260;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2261;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2261;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2262;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2262;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2263;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2263;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2264;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2264;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2265;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2265;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2266;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2266;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2267;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2267;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2268;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2268;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2269;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2269;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2270;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2270;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2271;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2271;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2272;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2272;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2273;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2273;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2274;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2274;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2275;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2275;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2276;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2276;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2277;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2277;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2278;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2278;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2279;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2279;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2280;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2280;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2281;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2281;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2282;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2282;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2283;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2283;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2284;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2284;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2285;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2285;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2286;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2286;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2287;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2287;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2288;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2288;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2289;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2289;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2290;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2290;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2291;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2291;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2292;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2292;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2293;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2293;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2294;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2294;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2295;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2295;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2296;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2296;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2297;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2297;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2298;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2298;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2299;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2299;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2300;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2300;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2301;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2301;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2302;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2302;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2303;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2303;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2304;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2304;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2305;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2305;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2306;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2306;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2307;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2307;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2308;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2308;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2309;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2309;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2310;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2310;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2311;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2311;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2312;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2312;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2313;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2313;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2314;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2314;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2315;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2315;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2316;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2316;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2317;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2317;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2318;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2318;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2319;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2319;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2320;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2320;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2321;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2321;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2322;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2322;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2323;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2323;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2324;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2324;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2325;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2325;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2326;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2326;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2327;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2327;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2328;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2328;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2329;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2329;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2330;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2330;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2331;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2331;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2332;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2332;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2333;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2333;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2334;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2334;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2335;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2335;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2336;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2336;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2337;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2337;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2338;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2338;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2339;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2339;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2340;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2340;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2341;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2341;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2342;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2342;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2343;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2343;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2344;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2344;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2345;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2345;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2346;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2346;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2347;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2347;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2348;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2348;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2349;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2349;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2350;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2350;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2351;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2351;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2352;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2352;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2353;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2353;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2354;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2354;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2355;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2355;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2356;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2356;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2357;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2357;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2358;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2358;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2359;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2359;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2360;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2360;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2361;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2361;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2362;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2362;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2363;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2363;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2364;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2364;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2365;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2365;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2366;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2366;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2367;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2367;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2368;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2368;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2369;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2369;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2370;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2370;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2371;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2371;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2372;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2372;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2373;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2373;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2374;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2374;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2375;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2375;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2376;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2376;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2377;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2377;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2378;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2378;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2379;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2379;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2380;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2380;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2381;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2381;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2382;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2382;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2383;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2383;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2384;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2384;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2385;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2385;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2386;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2386;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2387;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2387;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2388;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2388;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2389;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2389;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2390;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2390;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2391;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2391;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2392;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2392;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2393;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2393;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2394;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2394;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2395;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2395;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2396;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2396;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2397;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2397;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2398;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2398;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2399;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2399;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2400;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2400;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2401;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2401;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2402;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2402;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2403;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2403;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2404;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2404;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2405;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2405;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2406;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2406;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2407;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2407;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2408;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2408;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2409;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2409;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2410;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2410;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2411;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2411;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2412;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2412;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2413;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2413;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2414;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2414;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2415;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2415;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2416;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2416;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2417;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2417;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2418;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2418;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2419;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2419;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2420;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2420;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2421;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2421;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2422;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2422;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2423;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2423;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2424;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2424;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2425;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2425;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2426;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2426;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2427;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2427;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2428;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2428;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2429;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2429;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2430;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2430;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2431;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2431;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2432;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2432;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2433;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2433;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2434;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2434;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2435;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2435;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2436;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2436;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2437;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2437;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2438;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2438;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2439;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2439;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2440;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2440;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2441;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2441;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2442;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2442;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2443;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2443;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2444;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2444;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2445;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2445;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2446;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2446;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2447;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2447;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2448;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2448;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2449;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2449;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2450;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2450;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2451;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2451;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2452;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2452;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2453;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2453;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2454;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2454;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2455;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2455;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2456;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2456;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2457;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2457;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2458;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2458;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2459;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2459;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2460;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2460;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2461;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2461;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2462;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2462;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2463;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2463;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2464;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2464;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2465;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2465;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2466;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2466;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2467;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2467;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2468;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2468;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2469;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2469;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2470;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2470;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2471;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2471;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2472;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2472;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2473;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2473;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2474;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2474;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2475;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2475;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2476;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2476;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2477;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2477;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2478;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2478;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2479;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2479;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2480;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2480;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2481;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2481;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2482;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2482;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2483;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2483;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2484;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2484;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2485;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2485;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2486;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2486;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2487;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2487;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2488;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2488;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2489;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2489;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2490;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2490;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2491;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2491;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2492;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2492;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2493;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2493;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2494;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2494;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2495;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2495;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2496;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2496;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2497;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2497;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2498;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2498;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2499;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2499;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2500;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2500;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2501;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2501;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2502;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2502;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2503;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2503;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2504;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2504;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2505;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2505;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2506;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2506;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2507;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2507;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2508;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2508;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2509;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2509;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2510;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2510;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2511;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2511;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2512;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2512;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2513;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2513;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2514;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2514;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2515;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2515;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2516;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2516;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2517;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2517;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2518;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2518;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2519;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2519;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2520;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2520;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2521;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2521;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2522;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2522;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2523;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2523;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2524;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2524;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2525;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2525;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2526;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2526;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2527;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2527;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2528;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2528;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2529;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2529;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2530;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2530;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2531;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2531;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2532;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2532;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2533;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2533;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2534;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2534;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2535;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2535;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2536;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2536;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2537;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2537;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2538;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2538;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2539;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2539;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2540;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2540;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2541;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2541;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2542;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2542;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2543;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2543;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2544;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2544;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2545;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2545;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2546;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2546;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2547;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2547;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2548;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2548;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2549;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2549;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2550;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2550;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2551;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2551;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2552;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2552;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2553;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2553;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2554;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2554;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2555;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2555;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2556;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2556;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2557;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2557;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2558;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2558;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2559;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2559;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2560;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2560;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2561;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2561;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2562;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2562;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2563;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2563;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2564;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2564;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2565;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2565;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2566;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2566;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2567;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2567;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2568;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2568;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2569;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2569;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2570;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2570;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2571;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2571;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2572;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2572;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2573;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2573;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2574;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2574;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2575;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2575;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2576;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2576;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2577;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2577;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2578;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2578;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2579;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2579;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2580;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2580;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2581;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2581;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2582;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2582;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2583;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2583;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2584;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2584;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2585;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2585;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2586;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2586;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2587;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2587;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2588;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2588;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2589;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2589;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2590;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2590;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2591;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2591;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2592;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2592;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2593;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2593;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2594;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2594;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2595;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2595;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2596;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2596;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2597;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2597;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2598;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2598;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2599;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2599;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2600;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2600;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2601;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2601;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2602;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2602;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2603;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2603;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2604;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2604;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2605;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2605;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2606;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2606;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2607;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2607;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2608;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2608;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2609;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2609;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2610;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2610;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2611;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2611;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2612;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2612;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2613;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2613;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2614;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2614;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2615;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2615;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2616;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2616;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2617;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2617;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2618;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2618;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2619;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2619;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2620;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2620;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2621;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2621;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2622;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2622;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2623;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2623;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2624;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2624;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2625;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2625;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2626;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2626;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2627;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2627;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2628;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2628;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2629;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2629;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2630;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2630;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2631;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2631;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2632;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2632;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2633;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2633;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2634;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2634;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2635;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2635;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2636;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2636;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2637;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2637;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2638;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2638;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2639;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2639;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2640;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2640;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2641;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2641;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2642;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2642;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2643;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2643;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2644;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2644;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2645;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2645;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2646;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2646;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2647;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2647;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2648;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2648;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2649;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2649;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2650;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2650;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2651;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2651;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2652;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2652;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2653;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2653;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2654;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2654;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2655;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2655;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2656;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2656;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2657;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2657;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2658;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2658;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2659;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2659;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2660;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2660;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2661;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2661;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2662;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2662;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2663;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2663;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2664;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2664;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2665;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2665;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2666;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2666;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2667;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2667;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2668;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2668;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2669;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2669;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2670;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2670;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2671;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2671;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2672;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2672;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2673;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2673;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2674;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2674;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2675;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2675;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2676;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2676;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2677;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2677;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2678;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2678;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2679;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2679;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2680;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2680;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2681;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2681;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2682;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2682;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2683;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2683;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2684;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2684;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2685;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2685;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2686;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2686;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2687;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2687;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2688;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2688;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2689;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2689;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2690;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2690;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2691;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2691;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2692;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2692;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2693;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2693;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2694;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2694;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2695;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2695;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2696;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2696;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2697;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2697;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2698;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2698;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2699;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2699;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2700;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2700;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2701;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2701;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2702;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2702;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2703;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2703;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2704;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2704;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2705;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2705;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2706;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2706;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2707;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2707;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2708;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2708;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2709;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2709;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2710;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2710;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2711;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2711;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2712;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2712;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2713;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2713;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2714;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2714;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2715;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2715;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2716;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2716;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2717;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2717;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2718;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2718;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2719;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2719;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2720;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2720;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2721;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2721;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2722;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2722;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2723;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2723;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2724;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2724;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2725;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2725;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2726;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2726;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2727;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2727;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2728;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2728;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2729;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2729;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2730;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2730;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2731;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2731;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2732;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2732;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2733;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2733;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2734;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2734;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2735;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2735;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2736;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2736;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2737;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2737;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2738;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2738;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2739;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2739;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2740;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2740;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2741;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2741;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2742;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2742;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2743;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2743;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2744;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2744;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2745;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2745;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2746;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2746;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2747;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2747;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2748;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2748;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2749;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2749;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2750;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2750;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2751;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2751;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2752;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2752;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2753;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2753;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2754;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2754;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2755;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2755;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2756;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2756;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2757;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2757;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2758;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2758;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2759;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2759;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2760;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2760;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2761;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2761;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2762;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2762;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2763;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2763;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2764;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2764;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2765;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2765;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2766;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2766;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2767;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2767;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2768;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2768;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2769;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2769;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2770;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2770;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2771;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2771;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2772;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2772;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2773;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2773;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2774;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2774;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2775;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2775;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2776;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2776;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2777;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2777;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2778;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2778;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2779;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2779;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2780;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2780;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2781;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2781;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2782;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2782;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2783;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2783;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2784;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2784;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2785;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2785;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2786;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2786;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2787;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2787;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2788;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2788;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2789;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2789;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2790;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2790;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2791;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2791;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2792;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2792;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2793;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2793;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2794;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2794;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2795;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2795;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2796;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2796;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2797;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2797;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2798;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2798;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2799;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2799;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2800;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2800;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2801;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2801;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2802;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2802;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2803;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2803;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2804;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2804;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2805;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2805;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2806;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2806;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2807;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2807;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2808;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2808;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2809;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2809;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2810;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2810;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2811;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2811;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2812;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2812;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2813;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2813;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2814;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2814;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2815;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2815;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2816;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2816;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2817;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2817;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2818;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2818;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2819;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2819;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2820;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2820;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2821;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2821;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2822;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2822;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2823;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2823;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2824;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2824;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2825;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2825;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2826;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2826;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2827;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2827;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2828;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2828;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2829;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2829;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2830;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2830;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2831;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2831;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2832;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2832;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2833;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2833;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2834;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2834;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2835;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2835;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2836;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2836;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2837;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2837;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2838;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2838;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2839;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2839;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2840;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2840;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2841;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2841;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2842;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2842;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2843;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2843;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2844;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2844;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2845;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2845;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2846;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2846;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2847;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2847;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2848;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2848;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2849;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2849;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2850;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2850;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2851;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2851;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2852;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2852;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2853;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2853;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2854;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2854;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2855;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2855;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2856;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2856;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2857;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2857;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2858;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2858;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2859;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2859;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2860;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2860;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2861;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2861;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2862;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2862;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2863;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2863;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2864;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2864;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2865;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2865;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2866;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2866;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2867;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2867;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2868;4
#I Order: 2^8
#I Nuclear rank: 8
#I 2-multiplicator rank: 14
#I Group [grp] #2868;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2869;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #2869;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2870;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2870;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2871;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2871;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2872;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2872;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2873;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2873;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2874;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2874;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2875;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2875;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2876;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2876;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2877;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2877;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2878;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2878;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2879;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2879;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2880;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2880;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2881;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2881;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2882;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2882;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2883;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2883;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2884;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2884;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2885;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2885;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2886;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2886;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2887;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2887;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2888;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2888;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2889;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2889;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2890;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2890;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2891;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2891;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2892;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2892;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2893;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2893;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2894;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2894;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2895;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2895;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2896;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2896;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2897;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2897;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2898;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2898;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2899;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2899;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2900;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2900;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2901;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2901;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2902;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2902;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2903;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2903;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2904;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2904;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2905;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2905;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2906;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2906;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2907;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #2907;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2908;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2908;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2909;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2909;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2910;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2910;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2911;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2911;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2912;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2912;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2913;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2913;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2914;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2914;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2915;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2915;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2916;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2916;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2917;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2917;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2918;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2918;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2919;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2919;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2920;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2920;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2921;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2921;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2922;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2922;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2923;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2923;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2924;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2924;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2925;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2925;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2926;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2926;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2927;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2927;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2928;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2928;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2929;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2929;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2930;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2930;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2931;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2931;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2932;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2932;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2933;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2933;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2934;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2934;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2935;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2935;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2936;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2936;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2937;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2937;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2938;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2938;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2939;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2939;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2940;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2940;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2941;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2941;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2942;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2942;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2943;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2943;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2944;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2944;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2945;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2945;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2946;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2946;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2947;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2947;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2948;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2948;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2949;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2949;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2950;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2950;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2951;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2951;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2952;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2952;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2953;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2953;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2954;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2954;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2955;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2955;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2956;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2956;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2957;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2957;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2958;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2958;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2959;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2959;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2960;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2960;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2961;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2961;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2962;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2962;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2963;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2963;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2964;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2964;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2965;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2965;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2966;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2966;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2967;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2967;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2968;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2968;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2969;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2969;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2970;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2970;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2971;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2971;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2972;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #2972;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2973;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2973;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2974;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2974;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2975;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2975;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2976;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2976;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2977;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2977;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2978;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2978;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2979;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2979;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2980;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2980;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2981;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2981;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2982;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2982;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2983;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2983;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2984;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2984;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2985;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2985;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2986;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2986;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2987;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2987;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2988;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2988;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2989;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2989;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2990;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2990;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2991;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #2991;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2992;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2992;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2993;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2993;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2994;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2994;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2995;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2995;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2996;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2996;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2997;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #2997;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2998;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2998;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2999;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #2999;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3000;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3000;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3001;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3001;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3002;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3002;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3003;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3003;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3004;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3004;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3005;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3005;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3006;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3006;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3007;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3007;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3008;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3008;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3009;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3009;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3010;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3010;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3011;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3011;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3012;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3012;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3013;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3013;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3014;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3014;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3015;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3015;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3016;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3016;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3017;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3017;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3018;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3018;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3019;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3019;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3020;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3020;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3021;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3021;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3022;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3022;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3023;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3023;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3024;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3024;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3025;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3025;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3026;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3026;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3027;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3027;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3028;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3028;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3029;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3029;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3030;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3030;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3031;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3031;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3032;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3032;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3033;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3033;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3034;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3034;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3035;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3035;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3036;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3036;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3037;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3037;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3038;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3038;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3039;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3039;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3041;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3041;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3042;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3042;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3043;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3043;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3045;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3045;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3046;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3046;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3049;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3049;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3050;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3050;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3052;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3052;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3053;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3053;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3054;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3054;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3055;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3055;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3056;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3056;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3058;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3058;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3062;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3062;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3064;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3064;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3065;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3065;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3066;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3066;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3067;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3067;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3068;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3068;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3070;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3070;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3072;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3072;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3073;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3073;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3075;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3075;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3077;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3077;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3079;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3079;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3080;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3080;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3081;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3081;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3082;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3082;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3083;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3083;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3084;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3084;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3087;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3087;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3096;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3096;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3098;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3098;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3102;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3102;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3103;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3103;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3104;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3104;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3105;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3105;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3106;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3106;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3111;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3111;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3113;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3113;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3114;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3114;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3115;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3115;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3116;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3116;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3117;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3117;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3118;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3118;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3120;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3120;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3121;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3121;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3122;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3122;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3125;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3125;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3126;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3126;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3127;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3127;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3128;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3128;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3129;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3129;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3130;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3130;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3131;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3131;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3132;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3132;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3134;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3134;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3135;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3135;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3136;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3136;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3137;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3137;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3138;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3138;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3140;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3140;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3141;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3141;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3143;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3143;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3144;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3144;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3145;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3145;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3146;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3146;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3149;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3149;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3150;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3150;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3153;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3153;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3154;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3154;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3156;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3156;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3157;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3157;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3159;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3159;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3161;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3161;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3163;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3163;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3164;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3164;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3165;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3165;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3166;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3166;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3167;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3167;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3168;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3168;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3169;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3169;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3170;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #3170;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3171;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3171;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3172;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3172;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3173;4
#I Order: 2^8
#I Nuclear rank: 6
#I 2-multiplicator rank: 12
#I Group [grp] #3173;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3174;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3174;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3175;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3175;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3176;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3176;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3177;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3177;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3178;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3178;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3179;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3179;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3180;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3180;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3181;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3181;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3182;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3182;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3183;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3183;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3184;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3184;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3185;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3185;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3186;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3186;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3187;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3187;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3188;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3188;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3189;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3189;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3190;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3190;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3191;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3191;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3192;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3192;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3193;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3193;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3194;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3194;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3195;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3195;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3196;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3196;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3197;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3197;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3198;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3198;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3199;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3199;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3200;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3200;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3201;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3201;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3202;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3202;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3203;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3203;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3204;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3204;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3205;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3205;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3206;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3206;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3207;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3207;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3208;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3208;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3209;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3209;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3210;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3210;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3211;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3211;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3212;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3212;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3213;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3213;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3214;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3214;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3215;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3215;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3216;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3216;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3217;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3217;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3218;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3218;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3219;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3219;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3220;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3220;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3221;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3221;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3222;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3222;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3223;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3223;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3224;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3224;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3225;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3225;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3226;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3226;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3227;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3227;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3228;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3228;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3229;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3229;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3230;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3230;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3231;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3231;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3232;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3232;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3233;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3233;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3234;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3234;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3235;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3235;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3236;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3236;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3237;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3237;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3238;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3238;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3239;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3239;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3240;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3240;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3241;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3241;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3242;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3242;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3243;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3243;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3244;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3244;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3245;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3245;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3246;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3246;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3247;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3247;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3248;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3248;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3249;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3249;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3250;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3250;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3251;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3251;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3252;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3252;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3253;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3253;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3254;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3254;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3255;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3255;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3256;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3256;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3257;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3257;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3258;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3258;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3259;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3259;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3260;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3260;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3261;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3261;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3262;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3262;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3263;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3263;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3264;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3264;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3265;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3265;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3266;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3266;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3267;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3267;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3268;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3268;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3269;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3269;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3270;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3270;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3271;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3271;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3272;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3272;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3273;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3273;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3274;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3274;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3275;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3275;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3276;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3276;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3277;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3277;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3278;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3278;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3279;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3279;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3280;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3280;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3281;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3281;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3282;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3282;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3283;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3283;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3284;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3284;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3285;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3285;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3286;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3286;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3287;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3287;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3288;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3288;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3289;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3289;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3290;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3290;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3291;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3291;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3292;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3292;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3293;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3293;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3294;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3294;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3295;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3295;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3296;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3296;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3297;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3297;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3298;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3298;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3299;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3299;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3300;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3300;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3301;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3301;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3302;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3302;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3303;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3303;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3304;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3304;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3305;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3305;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3306;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3306;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3307;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3307;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3308;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3308;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3309;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3309;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3310;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3310;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3311;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3311;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3312;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3312;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3313;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3313;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3314;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3314;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3315;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3315;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3316;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3316;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3317;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3317;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3318;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3318;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3319;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3319;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3320;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3320;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3321;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3321;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3322;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3322;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3323;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3323;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3324;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3324;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3325;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3325;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3326;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3326;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3327;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3327;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3328;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3328;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3329;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3329;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3330;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3330;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3331;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3331;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3332;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3332;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3333;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3333;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3334;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3334;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3335;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3335;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3336;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3336;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3337;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3337;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3338;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3338;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3339;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3339;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3340;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3340;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3341;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3341;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3342;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3342;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3343;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3343;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3344;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3344;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3345;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3345;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3346;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3346;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3347;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3347;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3348;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3348;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3349;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3349;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3350;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3350;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3351;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3351;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3352;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3352;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3353;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3353;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3354;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3354;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3355;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3355;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3356;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3356;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3357;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3357;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3358;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3358;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3359;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3359;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3360;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3360;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3361;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3361;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3362;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3362;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3363;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3363;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3364;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3364;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3365;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3365;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3366;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3366;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3367;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3367;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3368;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3368;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3369;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3369;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3370;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3370;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3371;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3371;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3372;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3372;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3373;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3373;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3374;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3374;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3375;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3375;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3376;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3376;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3377;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3377;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3378;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3378;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3379;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3379;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3380;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3380;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3381;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3381;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3382;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3382;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3383;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3383;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3384;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3384;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3385;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3385;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3386;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3386;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3387;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3387;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3388;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3388;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3389;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3389;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3390;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3390;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3391;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3391;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3392;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3392;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3393;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3393;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3394;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3394;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3395;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3395;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3396;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3396;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3397;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3397;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3398;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3398;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3399;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3399;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3400;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3400;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3401;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3401;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3402;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3402;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3403;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3403;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3404;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3404;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3405;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3405;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3406;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3406;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3407;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3407;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3408;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3408;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3409;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3409;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3410;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3410;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3411;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3411;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3412;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3412;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3413;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3413;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3414;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3414;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3415;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3415;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3416;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3416;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3417;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3417;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3418;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3418;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3419;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3419;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3420;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3420;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3421;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3421;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3422;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3422;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3423;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3423;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3424;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3424;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3425;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3425;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3426;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3426;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3427;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3427;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3428;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3428;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3429;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3429;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3430;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #3430;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3431;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3431;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3432;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3432;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3433;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3433;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3434;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3434;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3435;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3435;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3436;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3436;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3437;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3437;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3438;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3438;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3439;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3439;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3440;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3440;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3441;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3441;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3442;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3442;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3443;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3443;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3444;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3444;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3445;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3445;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3446;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3446;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3447;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3447;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3448;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3448;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3449;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3449;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3450;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3450;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3451;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3451;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3452;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3452;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3453;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3453;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3454;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3454;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3455;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3455;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3456;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3456;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3457;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3457;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3458;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3458;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3459;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3459;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3460;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3460;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3461;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3461;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3462;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3462;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3463;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3463;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3464;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3464;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3465;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3465;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3466;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3466;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3467;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3467;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3468;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3468;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3469;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3469;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3470;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3470;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3471;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3471;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3472;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3472;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3473;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3473;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3474;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3474;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3475;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3475;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3476;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3476;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3477;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3477;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3478;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3478;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3479;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3479;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3480;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3480;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3481;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3481;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3482;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3482;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3483;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3483;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3484;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3484;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3485;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3485;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3486;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3486;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3487;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3487;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3488;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3488;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3489;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3489;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3490;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3490;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3491;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3491;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3492;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3492;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3493;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3493;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3494;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3494;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3495;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3495;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3496;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3496;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3497;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3497;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3498;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3498;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3499;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3499;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3500;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3500;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3501;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3501;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3502;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3502;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3503;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3503;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3504;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3504;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3505;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3505;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3506;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3506;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3507;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3507;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3508;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3508;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3509;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3509;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3510;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3510;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3511;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3511;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3512;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3512;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3513;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3513;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3514;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3514;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3515;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3515;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3516;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3516;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3517;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3517;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3518;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3518;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3519;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3519;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3520;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3520;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3521;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3521;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3522;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3522;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3523;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3523;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3524;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3524;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3525;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3525;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3526;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3526;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3527;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3527;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3528;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3528;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3529;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3529;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3530;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3530;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3531;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3531;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3532;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3532;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3533;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3533;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3534;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3534;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3535;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3535;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3536;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3536;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3537;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3537;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3538;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3538;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3539;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3539;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3540;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3540;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3541;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3541;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3542;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3542;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3543;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3543;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3544;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3544;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3545;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3545;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3546;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3546;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3547;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3547;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3548;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3548;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3549;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3549;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3550;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3550;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3551;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3551;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3552;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3552;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3553;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3553;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3554;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3554;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3555;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3555;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3556;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3556;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3557;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3557;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3558;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3558;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3559;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3559;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3560;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3560;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3561;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3561;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3562;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3562;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3563;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3563;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3564;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3564;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3565;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3565;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3566;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3566;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3567;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3567;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3568;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3568;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3569;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3569;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3570;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3570;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3571;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3571;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3572;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3572;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3573;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3573;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3574;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3574;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3575;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3575;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3576;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3576;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3577;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3577;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3578;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3578;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3579;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3579;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3580;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3580;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3581;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3581;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3582;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3582;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3583;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3583;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3584;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3584;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3585;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3585;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3586;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3586;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3587;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3587;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3588;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3588;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3589;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3589;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3590;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3590;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3591;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3591;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3592;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3592;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3593;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3593;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3594;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3594;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3595;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3595;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3596;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3596;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3597;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3597;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3598;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3598;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3599;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3599;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3600;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3600;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3601;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3601;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3602;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3602;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3603;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3603;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3604;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3604;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3605;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3605;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3606;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3606;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3607;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3607;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3608;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3608;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3609;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3609;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3610;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3610;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3611;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3611;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3612;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3612;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3613;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3613;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3614;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3614;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3615;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3615;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3616;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3616;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3617;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3617;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3618;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3618;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3619;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3619;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3620;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3620;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3621;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3621;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3622;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3622;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3623;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3623;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3624;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3624;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3625;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3625;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3626;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3626;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3627;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3627;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3628;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3628;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3629;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3629;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3630;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3630;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3631;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3631;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3632;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3632;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3637;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3637;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3638;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3638;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3639;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3639;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3640;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3640;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3641;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3641;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3643;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3643;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3644;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3644;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3646;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3646;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3647;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3647;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3648;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3648;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3649;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3649;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3650;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3650;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3651;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3651;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3652;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3652;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3653;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3653;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3654;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3654;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3655;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3655;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3656;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3656;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3657;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3657;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3658;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3658;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3659;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3659;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3660;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3660;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3662;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3662;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3663;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3663;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3664;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3664;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3665;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3665;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3666;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3666;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3667;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3667;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3668;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3668;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3669;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3669;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3670;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3670;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3671;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3671;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3672;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3672;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3673;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3673;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3674;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3674;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3675;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3675;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3676;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3676;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3677;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3677;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3679;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3679;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3680;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3680;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3681;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3681;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3682;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3682;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3683;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3683;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3684;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3684;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3685;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3685;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3686;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3686;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3687;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3687;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3688;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3688;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3689;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3689;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3690;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3690;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3692;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3692;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3693;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3693;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3694;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3694;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3695;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3695;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3697;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3697;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3699;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3699;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3700;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3700;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3701;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3701;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3702;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3702;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3703;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3703;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3706;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3706;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3707;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3707;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3708;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3708;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3709;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3709;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3710;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3710;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3711;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3711;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3712;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3712;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3713;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3713;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3714;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3714;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3715;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3715;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3716;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3716;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3717;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3717;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3718;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3718;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3719;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3719;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3720;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3720;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3721;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3721;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3722;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3722;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3723;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3723;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3724;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3724;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3725;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3725;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3726;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3726;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3727;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3727;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3728;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3728;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3729;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3729;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3730;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3730;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3731;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3731;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3732;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3732;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3733;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3733;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3734;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3734;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3735;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3735;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3736;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3736;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3737;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3737;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3738;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3738;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3739;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3739;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3740;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3740;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3741;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3741;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3742;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3742;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3743;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3743;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3744;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3744;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3745;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3745;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3746;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3746;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3747;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3747;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3748;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3748;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3749;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3749;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3750;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3750;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3751;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3751;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3752;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3752;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3753;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3753;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3754;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3754;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3755;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3755;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3756;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3756;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3757;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3757;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3758;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3758;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3759;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3759;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3760;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3760;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3761;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3761;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3762;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3762;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3763;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3763;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3764;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3764;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3765;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3765;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3766;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3766;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3767;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3767;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3768;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3768;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3769;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3769;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3770;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3770;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3771;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3771;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3772;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3772;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3773;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3773;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3774;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3774;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3775;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3775;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3776;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3776;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3777;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3777;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3778;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3778;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3779;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3779;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3780;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3780;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3781;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3781;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3782;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3782;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3783;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3783;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3784;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3784;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3785;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3785;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3786;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3786;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3787;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3787;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3788;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3788;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3789;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3789;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3790;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3790;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3791;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3791;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3792;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3792;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3793;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3793;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3794;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3794;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3795;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3795;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3796;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3796;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3797;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3797;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3798;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3798;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3799;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3799;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3800;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3800;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3801;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3801;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3802;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3802;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3803;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3803;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3804;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3804;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3805;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3805;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3806;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3806;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3807;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3807;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3808;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3808;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3809;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3809;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3810;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3810;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3811;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3811;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3812;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3812;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3813;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3813;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3814;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3814;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3815;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3815;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3816;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3816;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3817;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3817;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3818;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3818;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3819;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3819;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3820;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3820;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3821;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3821;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3822;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3822;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3823;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3823;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3824;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3824;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3825;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3825;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3826;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3826;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3827;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3827;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3828;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3828;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3829;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3829;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3830;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3830;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3832;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3832;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3833;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3833;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3834;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3834;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3836;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3836;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3837;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3837;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3838;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3838;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3839;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3839;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3840;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3840;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3841;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3841;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3842;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3842;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3844;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3844;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3846;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3846;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3847;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3847;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3848;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3848;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3849;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3849;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3850;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3850;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3851;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3851;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3852;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3852;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3853;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3853;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3854;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3854;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3855;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3855;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3856;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3856;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3857;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3857;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3859;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3859;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3861;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3861;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3863;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3863;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3868;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3868;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3870;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3870;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3871;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3871;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3872;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3872;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3873;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3873;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3874;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3874;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3875;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3875;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3876;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3876;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3877;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3877;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3878;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3878;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3881;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3881;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3882;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3882;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3883;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3883;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3884;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3884;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3885;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3885;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3886;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3886;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3887;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3887;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3888;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3888;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3892;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3892;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3893;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3893;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3897;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3897;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3898;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3898;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3899;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3899;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3900;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3900;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3901;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3901;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3902;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3902;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3903;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3903;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3904;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3904;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3905;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3905;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3906;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3906;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3907;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3907;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3908;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3908;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3909;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3909;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3910;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3910;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3911;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3911;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3912;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3912;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3913;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3913;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3914;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3914;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3915;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3915;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3916;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3916;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3918;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3918;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3920;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3920;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3922;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3922;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3924;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3924;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3925;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3925;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3926;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3926;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3927;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3927;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3928;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3928;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3929;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3929;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3930;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3930;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3931;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3931;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3932;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3932;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3933;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3933;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3934;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3934;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3935;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3935;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3936;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3936;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3937;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3937;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3938;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3938;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3939;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3939;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3940;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3940;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3941;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3941;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3942;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3942;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3943;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3943;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3944;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3944;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3945;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3945;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3946;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3946;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3947;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3947;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3948;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3948;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3949;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3949;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3950;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3950;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3951;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3951;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3952;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3952;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3953;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3953;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3955;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3955;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3956;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3956;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3957;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3957;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3958;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3958;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3959;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3959;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3960;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3960;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3961;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3961;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3962;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3962;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3963;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3963;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3964;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3964;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3965;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3965;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3966;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3966;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3967;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3967;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3968;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3968;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3969;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3969;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3970;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3970;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3971;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3971;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3972;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3972;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3973;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3973;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3974;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3974;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3975;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3975;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3976;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3976;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3977;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #3977;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3978;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3978;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3979;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3979;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3980;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3980;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3981;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3981;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3982;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3982;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3983;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3983;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3984;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3984;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3985;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3985;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3986;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3986;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3987;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3987;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3988;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3988;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3989;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #3989;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3990;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3990;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3991;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3991;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3992;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3992;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3993;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3993;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3994;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3994;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3995;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3995;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3996;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3996;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3997;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3997;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3998;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #3998;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3999;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #3999;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4000;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4000;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4001;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4001;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4002;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4002;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4003;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4003;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4004;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4004;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4005;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4005;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4006;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4006;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4007;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4007;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4008;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4008;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4009;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4009;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4010;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4010;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4011;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4011;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4012;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4012;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4013;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4013;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4014;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4014;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4015;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4015;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4016;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4016;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4017;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4017;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4018;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4018;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4019;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4019;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4020;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4020;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4021;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4021;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4022;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4022;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4023;4
#I Order: 2^8
#I Nuclear rank: 5
#I 2-multiplicator rank: 11
#I Group [grp] #4023;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4024;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4024;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4025;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4025;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4026;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4026;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4027;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4027;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4028;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4028;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4029;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4029;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4030;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4030;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4031;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4031;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4032;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4032;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4033;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4033;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4034;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4034;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4035;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4035;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4036;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4036;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4037;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4037;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4038;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4038;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4039;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4039;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4040;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4040;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4041;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4041;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4042;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4042;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4043;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4043;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4044;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4044;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4045;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4045;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4046;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4046;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4047;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4047;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4048;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4048;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4049;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4049;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4050;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4050;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4051;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4051;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4052;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4052;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4053;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4053;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4054;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4054;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4055;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4055;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4056;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4056;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4057;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4057;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4058;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4058;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4059;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4059;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4060;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4060;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4061;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4061;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4062;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4062;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4063;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4063;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4064;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4064;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4065;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4065;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4066;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4066;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4067;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4067;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4068;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4068;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4069;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4069;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4070;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4070;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4071;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4071;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4072;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4072;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4073;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4073;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4074;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4074;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4075;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4075;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4076;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4076;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4077;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4077;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4078;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4078;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4079;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4079;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4080;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4080;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4081;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4081;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4082;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4082;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4083;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4083;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4084;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4084;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4085;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4085;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4086;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4086;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4087;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4087;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4088;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4088;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4089;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4089;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4090;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4090;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4091;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4091;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4092;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4092;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4093;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4093;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4094;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4094;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4095;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4095;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4096;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4096;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4097;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4097;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4098;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4098;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4099;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4099;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4100;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4100;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4101;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4101;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4102;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4102;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4103;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4103;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4104;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4104;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4105;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4105;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4106;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4106;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4107;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4107;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4108;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4108;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4109;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4109;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4110;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4110;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4111;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4111;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4112;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4112;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4113;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4113;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4114;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4114;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4115;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4115;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4116;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4116;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4117;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4117;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4118;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4118;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4119;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4119;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4120;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4120;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4121;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4121;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4122;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4122;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4123;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4123;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4124;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4124;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4125;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4125;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4126;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4126;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4127;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4127;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4128;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4128;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4129;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4129;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4130;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4130;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4131;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4131;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4132;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4132;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4133;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4133;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4134;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4134;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4135;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4135;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4136;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4136;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4137;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4137;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4138;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4138;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4139;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4139;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4140;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4140;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4141;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4141;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4142;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4142;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4143;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4143;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4144;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4144;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4145;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4145;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4146;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4146;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4147;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4147;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4148;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4148;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4149;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4149;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4150;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4150;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4151;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4151;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4152;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4152;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4153;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4153;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4154;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4154;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4155;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4155;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4156;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4156;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4157;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4157;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4158;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4158;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4159;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4159;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4160;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4160;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4161;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4161;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4162;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4162;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4163;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4163;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4164;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4164;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4165;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4165;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4167;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4167;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4168;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4168;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4169;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4169;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4170;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4170;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4171;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4171;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4172;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4172;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4173;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4173;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4174;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4174;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4175;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4175;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4176;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4176;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4177;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4177;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4180;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4180;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4181;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4181;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4182;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4182;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4183;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4183;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4184;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4184;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4185;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4185;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4186;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4186;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4188;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4188;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4189;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4189;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4190;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4190;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4191;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4191;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4192;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4192;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4193;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4193;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4194;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4194;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4195;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4195;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4196;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4196;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4197;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4197;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4198;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4198;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4199;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4199;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4200;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4200;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4201;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4201;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4202;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4202;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4203;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4203;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4204;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4204;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4205;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4205;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4209;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4209;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4210;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4210;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4211;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4211;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4212;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4212;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4214;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4214;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4215;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4215;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4216;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4216;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4217;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4217;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4218;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4218;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4219;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4219;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4221;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4221;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4222;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4222;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4224;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4224;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4225;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4225;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4226;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4226;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4227;4
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 7
#I Group [grp] #4227;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4228;4
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 8
#I Group [grp] #4228;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4229;4
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 9
#I Group [grp] #4229;4 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4230;4
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 10
#I Group [grp] #4230;4 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #7;2 #8;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #7;2 #8;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #9;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #7;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #10;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #11;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #12;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #13;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #14;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #15;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #16;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #30;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #30;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;2 #31;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #7;2 #31;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 11
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #8;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #8;2 #14;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #8;2 #27;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #27;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #28;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #28;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #29;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #29;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #30;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #30;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #31;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #31;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #32;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #32;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #33;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #33;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #34;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #34;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #35;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #35;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #36;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #36;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #37;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #37;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #38;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #39;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #39;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #40;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #40;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #42;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #42;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #43;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #43;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #44;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #44;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #46;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #46;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #47;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #47;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #57;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #57;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #61;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #61;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #62;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #62;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #65;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #65;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #76;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #76;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #80;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #80;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #81;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #81;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #84;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #84;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #95;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #95;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #96;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #96;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #97;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #97;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #98;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #98;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #99;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #99;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #100;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #100;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #101;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #101;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #102;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #102;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #103;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #103;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #104;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #104;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #108;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #108;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #119;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #119;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #134;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #134;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #149;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #149;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #171;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #171;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #172;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #172;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #174;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #174;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #175;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #175;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #178;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #178;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #179;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #179;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #182;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #182;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #183;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #183;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #186;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #186;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #195;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #195;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #196;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #196;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #199;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #199;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #200;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #200;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #203;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #203;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #208;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #208;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #209;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #209;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #212;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #212;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #213;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #213;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #216;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #216;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #218;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #218;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #221;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #221;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #222;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #222;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #226;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #226;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #231;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #231;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #236;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #236;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #239;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #239;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #247;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #247;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #252;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #252;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #267;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #267;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #277;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #277;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #290;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #290;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #309;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #309;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #319;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #8;2 #319;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #320;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #320;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #321;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #321;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #322;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #322;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #327;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #327;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #328;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #328;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #329;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #329;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #330;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #330;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #335;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #335;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #346;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #346;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #347;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #347;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #354;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #354;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #358;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #358;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #380;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #380;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #396;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #396;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #399;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #399;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #401;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #401;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #404;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #404;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #416;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #416;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #436;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #436;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #439;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #439;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #441;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #441;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #8;2 #444;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #8;2 #444;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #9;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #9;2 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #9;2 #16;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #9;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #17;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #9;2 #17;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #18;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #19;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #20;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #21;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #21;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #22;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #22;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #23;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #29;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #29;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #30;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #30;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #40;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #40;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #41;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #41;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #51;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #51;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #52;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #52;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #59;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #59;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #9;2 #61;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #9;2 #61;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #10;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 9
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #10;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 5
#I **************************************************
#I Starting group: [grp] #11;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #11;2 #9;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 22
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #11;2 #15;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 6
#I **************************************************
#I Starting group: [grp] #11;2 #33;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #11;2 #33;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #34;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #34;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #35;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #35;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #36;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #36;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #37;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #37;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #38;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #39;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #11;2 #39;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #40;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #40;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #41;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #41;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #42;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #42;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #43;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #43;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #44;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #44;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #45;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #45;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #46;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #46;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #47;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #47;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #48;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #48;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #49;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #49;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #50;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #50;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #57;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #57;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #74;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #74;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #80;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #80;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #91;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #91;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #98;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #98;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #119;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #119;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #126;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #126;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #147;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #147;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #153;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #153;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #166;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #166;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #172;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #172;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #185;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #185;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #192;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #192;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #205;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #205;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #212;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #212;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #229;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #229;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #11;2 #239;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #11;2 #239;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #12;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #13;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #14;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #15;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #16;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #17;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 33
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #17;2 #28;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I # of immediate descendants of order 2^8 is 30
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #17;2 #34;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #17;2 #34;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #35;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #35;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #36;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #36;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #37;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #37;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #38;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #39;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #39;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #40;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #40;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #41;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #41;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #42;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #42;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #48;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #17;2 #48;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #49;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #49;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #50;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #50;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #51;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #51;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #52;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #52;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #53;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #53;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #54;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #54;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #55;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #55;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #56;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #56;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #62;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #62;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #72;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #72;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #73;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #73;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #74;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #74;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #75;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #75;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #76;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #76;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #82;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #82;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #83;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #83;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #84;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #84;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #85;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #85;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #86;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #86;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #92;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #92;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #102;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #102;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #103;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #103;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #104;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #104;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #105;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #105;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #106;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #106;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #107;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #107;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #108;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #108;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #118;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #118;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #126;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #126;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #132;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #132;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #133;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #133;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #134;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #17;2 #134;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #135;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #135;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #136;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #136;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #137;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #137;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #138;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #138;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #139;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #139;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #142;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #142;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #143;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #143;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #150;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #150;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #158;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #158;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #164;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #164;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #165;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #165;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #166;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #166;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #167;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #167;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #168;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #168;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #169;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #169;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #170;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #170;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #171;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #171;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #192;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #192;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #193;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #193;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #194;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #194;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #195;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #195;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #196;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #196;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #197;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #197;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #198;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #198;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #199;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #199;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #200;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #200;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #201;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #201;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #224;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #224;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #232;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #232;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #240;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #240;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #248;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #248;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #320;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #320;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #327;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #327;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #334;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #334;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #341;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #341;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #348;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #348;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #414;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 11
#I Group [grp] #17;2 #414;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #415;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #415;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #421;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #421;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #426;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #426;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #428;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #428;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #435;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #435;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #438;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #438;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #444;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #444;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #451;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #451;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #456;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #456;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #464;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #464;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #560;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #560;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #570;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #570;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #580;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #580;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #590;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #590;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #602;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #602;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #614;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #614;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #686;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #686;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #696;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #696;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #706;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #706;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #716;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #716;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #726;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #726;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #738;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #738;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #810;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #810;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #822;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #822;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #832;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #832;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #842;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #842;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #852;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #852;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #17;2 #862;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #17;2 #862;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #18;2 #20;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 23
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #18;2 #42;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #42;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #43;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #18;2 #43;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #44;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #44;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #45;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #45;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #47;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #47;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #48;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #48;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #50;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #50;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #52;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #52;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #56;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #56;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #60;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #60;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #65;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #65;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #69;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #69;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #74;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #74;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #75;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #75;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #76;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #76;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #77;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #77;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #106;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #106;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #107;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #107;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #130;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #130;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #131;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #131;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #132;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #132;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #133;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #133;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #134;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #134;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #174;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #174;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #175;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #175;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #199;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #199;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #202;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #202;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #205;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #205;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #211;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #211;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #215;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #215;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #220;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #220;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #330;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #330;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #336;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #336;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #342;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #342;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #348;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #348;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #354;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #354;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #18;2 #360;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #18;2 #360;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #19;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #19;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 4
#I **************************************************
#I Starting group: [grp] #20;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #20;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 6
#I **************************************************
#I Starting group: [grp] #21;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 28
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #21;2 #10;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 6
#I **************************************************
#I Starting group: [grp] #22;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 15
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #26;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #26;2 #16;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #20;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #24;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #26;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #25;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #25;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #26;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #26;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #37;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #37;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #38;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #39;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #39;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #52;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #52;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #53;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #53;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #54;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #54;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #83;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #83;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #84;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #84;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #26;2 #85;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #26;2 #85;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #27;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #28;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #30;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #31;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 21
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #32;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #33;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 19
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #41;2 #16;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I # of immediate descendants of order 2^8 is 31
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #41;2 #31;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #31;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #32;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #32;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #33;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #33;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #34;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #34;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #35;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #35;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #36;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #36;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #37;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #37;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #38;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #38;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #159;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #159;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #160;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #160;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #161;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #161;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #162;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #162;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #163;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #163;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #164;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #164;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #165;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #165;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #243;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 10
#I Group [grp] #41;2 #243;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #244;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #244;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #245;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #245;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #246;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #246;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #247;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #247;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #248;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #248;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #249;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #249;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #250;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #250;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #41;2 #251;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #41;2 #251;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #42;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 40
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #43;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 24
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #44;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 20
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #45;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #46;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I # of immediate descendants of order 2^8 is 13
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #61;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #61;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #61;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #61;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #61;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #61;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #62;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #62;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #62;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #62;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #62;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #62;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #63;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #63;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #63;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #63;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #63;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #63;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #64;3 #36;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #64;3 #36;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #65;3 #24;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #65;3 #24;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #66;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #66;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #67;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #67;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #67;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #67;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #67;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #67;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #67;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #67;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #68;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #68;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #68;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #68;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #69;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #69;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #69;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #69;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #70;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #70;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #70;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #70;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #70;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #70;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #70;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #70;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #71;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #71;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #71;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #71;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #72;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #72;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #72;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #72;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #31;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #31;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #73;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #73;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #74;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #74;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #75;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #75;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #75;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #75;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #75;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #75;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #75;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #75;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #75;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #75;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #20;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #20;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #76;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #76;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #77;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #77;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #77;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #77;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #77;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #77;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #77;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #77;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #78;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #78;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #79;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #79;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #79;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #79;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #80;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #80;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #80;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #80;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #80;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #80;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #80;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #80;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #80;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #80;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #81;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #81;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #81;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #81;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #81;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #81;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #81;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #81;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #81;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #81;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #38;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #38;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #82;3 #56;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #82;3 #56;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #65;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #65;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #74;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #74;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #83;3 #89;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #83;3 #89;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #84;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #84;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #39;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #39;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #85;3 #42;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #85;3 #42;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #86;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #86;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #86;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #86;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #86;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #86;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #86;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #86;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #86;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #86;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #87;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #87;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #87;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #87;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #87;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #87;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #87;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #87;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #87;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #87;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #39;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #39;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #42;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #42;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #88;3 #71;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #88;3 #71;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #89;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #89;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #89;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #89;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #89;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #89;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #89;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #89;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #90;3 #34;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #90;3 #34;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #91;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #91;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #91;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #91;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #92;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #92;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #92;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #92;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #92;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #92;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #92;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #92;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #28;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #28;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #35;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #35;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #93;3 #47;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #93;3 #47;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #94;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #94;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #94;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #94;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #95;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #95;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #95;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #95;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #95;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #95;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #95;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #95;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #96;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #96;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #96;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #96;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #96;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #96;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #96;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #96;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #96;3 #42;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #96;3 #42;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #97;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #97;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #97;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #97;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #97;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #97;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #97;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #97;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #97;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #97;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #98;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #98;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #98;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #98;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #98;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #98;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #98;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #98;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #98;3 #20;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #98;3 #20;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #99;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #99;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #99;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #99;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #99;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #99;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #99;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #99;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #100;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #100;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #101;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #101;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #102;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #102;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #102;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #102;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #102;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #102;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #102;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #102;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #102;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #102;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #103;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #103;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #103;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #103;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #103;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #103;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #104;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #104;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #104;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #104;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #104;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #104;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #104;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #104;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #105;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #105;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #106;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #106;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #106;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #106;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #106;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #106;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #106;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #106;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #106;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #106;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #107;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #107;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #108;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #108;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #108;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #108;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #109;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #109;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #109;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #109;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #110;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #110;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #110;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #110;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #111;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #111;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #111;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #111;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #111;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #111;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #112;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #112;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #112;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #112;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #112;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #112;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #113;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #113;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #113;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #113;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #113;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #113;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #113;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #113;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #114;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #114;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #114;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #114;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #115;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #115;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #115;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #115;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #116;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #116;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #116;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #116;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #117;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #117;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #117;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #117;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #117;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #117;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #117;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #117;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #118;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #118;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #118;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #118;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #118;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #118;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #119;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #119;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #119;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #119;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #119;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #119;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #120;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #120;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #120;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #120;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #120;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #120;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #120;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #120;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #121;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #121;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #121;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #121;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #121;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #121;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #122;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #122;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #122;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #122;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #122;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #122;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #122;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #122;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #123;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #123;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #123;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #123;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #123;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #123;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #124;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #124;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #124;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #124;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #124;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #124;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #124;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #124;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #125;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #125;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #126;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #126;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #127;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #127;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #127;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #127;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #128;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #128;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #129;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #129;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #129;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #129;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #130;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #130;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #131;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #131;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #132;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #132;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #133;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #133;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #133;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #133;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #134;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #134;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #134;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #134;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #134;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #134;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #134;3 #28;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #134;3 #28;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #134;3 #38;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #134;3 #38;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #135;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #135;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #135;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #135;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #135;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #135;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #136;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #136;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #136;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #136;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #136;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #136;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #137;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #137;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #137;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #137;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #137;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #137;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #138;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #138;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #138;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #138;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #138;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #138;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #138;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #138;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #139;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #139;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #139;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #139;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #140;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #140;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #140;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #140;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #140;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #140;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #140;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #140;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #141;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #141;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #141;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #141;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #142;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #142;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #142;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #142;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #142;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #142;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #143;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #143;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #143;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #143;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #144;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #144;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #144;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #144;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #144;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #144;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #144;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #144;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #144;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #144;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #145;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #145;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #145;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #145;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #145;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #145;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #146;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #146;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #146;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #146;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #146;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #146;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #147;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #147;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #147;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #147;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #147;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #147;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #148;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #148;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #148;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #148;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #148;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #148;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #148;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #148;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #149;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #149;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #149;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #149;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #150;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #150;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #150;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #150;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #150;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #150;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #150;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #150;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #151;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #151;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #151;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #151;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #152;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #152;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #152;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #152;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #153;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #153;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #153;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #153;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #154;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #154;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #154;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #154;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #154;3 #39;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #154;3 #39;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #155;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #155;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #155;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #155;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #155;3 #39;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #155;3 #39;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #156;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #156;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #156;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #156;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #156;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #156;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #157;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #157;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #157;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #157;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #157;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #157;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #157;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #157;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #157;3 #30;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #157;3 #30;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #158;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #158;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #158;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #158;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #158;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #158;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #159;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #159;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #159;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #159;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #159;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #159;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #159;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #159;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #160;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #160;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #160;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #160;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #160;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #160;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #161;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #161;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #161;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #161;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #161;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #161;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #162;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #162;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #162;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #162;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #162;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #162;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #163;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #163;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #163;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #163;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #163;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #163;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #164;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #164;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #165;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #165;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #165;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #165;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #166;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #166;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #167;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #167;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #168;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #168;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #168;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #168;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #168;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #168;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #169;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #169;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #170;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #170;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #171;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #171;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #171;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #171;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #172;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #172;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #173;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #173;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #173;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #173;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #174;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #174;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #175;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #175;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #175;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #175;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #175;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #175;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #176;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #176;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #177;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #177;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #177;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #177;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #178;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #178;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #179;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #179;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #180;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #180;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #180;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #180;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #180;3 #35;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #180;3 #35;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #181;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #181;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #181;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #181;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #182;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #182;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #182;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #182;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #182;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #182;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #182;3 #44;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #182;3 #44;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #182;3 #46;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #182;3 #46;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #183;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #183;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #183;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #183;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #183;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #183;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #184;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #184;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #184;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #184;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #184;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #184;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #185;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #185;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #185;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #185;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #186;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #186;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #186;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #186;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #186;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #186;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #186;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #186;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #186;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #186;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #187;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #187;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #188;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #188;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #188;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #188;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #188;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #188;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #188;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #188;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #188;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #188;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #189;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #189;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #189;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #189;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #189;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #189;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #190;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #190;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #190;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #190;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #190;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #190;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #191;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #191;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #192;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #192;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #192;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #192;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #192;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #192;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #192;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #192;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #193;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #193;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #193;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #193;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #193;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #193;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #194;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #194;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #194;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #194;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #195;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #195;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #195;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #195;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #195;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #195;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #199;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #199;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #199;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #199;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #199;3 #65;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 12
#I Group [grp] #199;3 #65;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #200;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #200;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #200;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #200;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #200;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #200;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #35;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #35;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #201;3 #36;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #201;3 #36;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #202;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #202;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #202;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #202;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #202;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #202;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #202;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #202;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #202;3 #34;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #202;3 #34;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #35;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #35;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #69;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #69;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #203;3 #81;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #203;3 #81;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #204;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #204;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #204;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #204;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #204;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #204;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #204;3 #53;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #204;3 #53;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #204;3 #60;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #204;3 #60;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #205;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #205;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #205;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #205;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #205;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #205;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #205;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #205;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #205;3 #53;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #205;3 #53;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #206;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #206;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #206;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #206;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #206;3 #43;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #206;3 #43;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #206;3 #71;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #206;3 #71;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #207;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #207;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #207;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #207;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #207;3 #31;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #207;3 #31;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #208;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #208;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #208;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #208;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #208;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #208;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #208;3 #28;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #208;3 #28;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #209;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #209;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #209;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #209;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #209;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #209;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #210;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #210;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #210;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #210;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #210;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #210;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #211;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #211;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #211;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #211;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #211;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #211;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #212;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #212;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #212;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #212;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #212;3 #47;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #212;3 #47;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #213;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #213;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #213;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #213;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #213;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #213;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #213;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #213;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #49;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #49;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #214;3 #53;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #214;3 #53;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #215;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #215;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #215;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #215;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #216;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #216;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #216;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #216;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #217;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #217;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #217;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #217;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #218;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #218;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #218;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #218;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #218;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #218;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #218;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #218;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #219;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #219;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #219;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #219;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #220;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #220;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #220;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #220;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #220;3 #73;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #220;3 #73;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #220;3 #93;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #220;3 #93;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #221;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #221;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #221;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #221;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #222;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #222;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #222;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #222;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #223;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #223;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #223;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #223;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #223;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #223;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #223;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #223;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #224;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #224;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #224;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #224;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #224;3 #43;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #224;3 #43;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #225;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #225;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #225;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #225;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #226;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #226;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #226;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #226;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #226;3 #43;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #226;3 #43;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #227;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #227;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #227;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #227;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #227;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #227;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #227;3 #65;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #227;3 #65;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #228;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #228;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #228;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #228;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #228;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #228;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #228;3 #59;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #228;3 #59;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #229;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #229;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #229;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #229;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #229;3 #55;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #229;3 #55;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #229;3 #63;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #229;3 #63;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #230;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #230;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #230;3 #28;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #230;3 #28;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #230;3 #42;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #230;3 #42;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #231;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #231;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #231;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #231;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #231;3 #31;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #231;3 #31;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #231;3 #45;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #231;3 #45;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #231;3 #46;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #231;3 #46;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #232;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #232;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #232;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #232;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #232;3 #46;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #232;3 #46;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #233;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #233;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #233;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #233;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #234;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #234;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #234;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #234;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #235;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #235;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #235;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #235;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #236;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #236;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #236;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #236;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #236;3 #26;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #236;3 #26;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #237;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #237;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #237;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #237;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #238;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #238;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #238;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #238;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #238;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #238;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #238;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #238;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #239;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #239;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #239;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #239;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #239;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #239;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #239;3 #49;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #239;3 #49;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #240;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #240;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #240;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #240;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #241;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #241;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #241;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #241;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #241;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #241;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #242;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #242;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #242;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #242;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #243;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #243;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #243;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #243;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #243;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #243;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #243;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #243;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #244;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #244;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #244;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #244;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #245;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #245;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #245;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #245;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #245;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #245;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #245;3 #57;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #245;3 #57;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #246;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #246;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #246;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #246;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #247;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #247;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #247;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #247;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #248;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #248;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #248;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #248;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #248;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #248;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #249;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #249;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #249;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #249;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #250;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #250;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #250;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #250;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #250;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #250;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #250;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #250;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #251;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #251;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #251;3 #24;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #251;3 #24;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #252;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #252;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #252;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #252;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #252;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #252;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #252;3 #50;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #252;3 #50;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #253;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #253;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #253;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #253;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #253;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #253;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #253;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #253;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #254;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #254;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #254;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #254;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #255;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #255;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #255;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #255;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #256;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #256;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #256;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #256;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #257;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #257;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #257;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #257;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #257;3 #35;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #257;3 #35;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #258;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #258;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #258;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #258;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #259;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #259;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #259;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #259;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #260;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #260;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #260;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #260;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #260;3 #36;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #260;3 #36;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #260;3 #52;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #260;3 #52;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #261;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #261;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #261;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #261;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #262;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #262;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #262;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #262;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #263;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #263;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #263;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #263;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #264;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #264;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #264;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #264;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #264;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #264;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #264;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #264;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #265;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #265;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #265;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #265;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #266;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #266;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #266;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #266;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #267;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #267;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #267;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #267;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #268;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #268;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #268;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #268;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #268;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #268;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #269;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #269;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #269;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #269;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #270;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #270;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #270;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #270;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #271;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #271;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #271;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #271;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #272;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #272;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #272;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #272;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #273;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #273;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #273;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #273;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #274;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #274;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #274;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #274;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #275;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #275;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #275;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #275;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #276;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #276;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #276;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #276;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #276;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #276;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #276;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #276;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #277;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #277;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #277;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #277;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #278;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #278;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #278;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #278;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #279;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #279;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #279;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #279;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #279;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #279;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #280;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #280;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #280;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #280;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #280;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #280;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #280;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #280;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #281;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #281;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #281;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #281;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #281;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #281;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #281;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #281;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #282;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #282;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #282;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #282;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #282;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #282;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #282;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #282;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #283;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #283;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #283;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #283;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #284;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #284;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #285;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #285;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #285;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #285;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #286;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #286;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #286;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #286;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #287;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #287;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #287;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #287;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #288;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #288;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #288;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #288;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #292;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #292;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #292;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #292;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #294;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #294;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #294;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #294;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #295;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #295;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #295;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #295;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #296;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #296;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #296;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #296;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #297;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #297;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #297;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #297;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #297;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #297;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #297;3 #28;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #297;3 #28;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #298;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #298;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #298;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #298;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #299;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #299;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #299;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #299;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #300;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #300;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #302;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #302;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #308;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #308;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #315;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #315;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #317;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #317;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #317;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #317;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #330;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #330;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #330;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #330;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #330;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #330;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #330;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #330;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #331;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #331;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #331;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #331;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #331;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #331;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #331;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #331;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #332;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #332;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #332;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #332;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #332;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #332;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #332;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #332;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #333;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #333;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #333;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #333;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #333;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #333;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #333;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #333;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #334;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #334;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #334;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #334;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #334;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #334;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #334;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #334;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #335;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #335;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #335;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #335;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #335;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #335;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #335;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #335;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #336;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #336;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #336;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #336;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #336;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #336;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #336;3 #45;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #336;3 #45;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #337;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #337;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #337;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #337;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #337;3 #41;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #337;3 #41;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #338;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #338;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #338;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #338;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #338;3 #20;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #338;3 #20;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #338;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #338;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #339;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #339;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #339;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #339;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #340;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #340;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #340;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #340;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #340;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #340;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #341;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #341;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #341;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #341;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #342;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #342;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #342;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #342;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #343;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #343;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #343;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #343;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #343;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #343;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #344;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #344;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #344;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #344;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #345;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #345;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #346;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #346;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #346;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #346;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #347;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #347;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #348;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #348;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #348;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #348;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #349;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #349;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #349;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #349;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #350;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #350;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #351;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #351;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #352;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #352;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #353;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #353;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #353;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #353;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #354;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #354;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #355;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #355;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #355;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #355;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #356;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #356;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #357;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #357;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #357;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #357;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #358;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #358;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #358;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #358;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #359;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #359;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #360;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #360;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #360;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #360;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #361;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #361;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #361;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #361;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #362;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #362;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #362;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #362;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #363;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #363;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #363;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #363;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #364;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #364;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #364;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #364;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #375;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #375;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #375;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #375;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #375;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #375;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #375;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #375;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #376;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #376;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #376;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #376;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #377;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #377;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #377;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #377;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #377;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #377;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #377;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #377;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #378;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #378;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #378;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #378;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #378;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #378;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #379;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #379;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #379;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #379;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #380;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #380;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #380;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #380;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #387;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #387;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #387;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #387;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #388;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #388;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #388;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #388;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #394;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #394;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #394;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #394;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #395;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #395;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #395;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #395;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #395;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #395;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #395;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #395;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #396;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #396;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #396;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #396;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #396;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #396;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #397;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #397;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #397;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #397;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #398;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #398;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #398;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #398;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #399;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #399;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #399;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #399;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #399;3 #14;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #399;3 #14;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #400;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #400;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #400;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #400;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #405;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #405;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #405;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #405;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #405;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #405;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #406;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #406;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #406;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #406;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #407;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #407;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #407;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #407;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #409;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #409;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #409;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #409;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #409;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #409;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #409;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #409;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #409;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #409;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #410;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #410;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #410;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #410;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #411;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #411;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #411;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #411;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #412;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #412;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #412;3 #23;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #412;3 #23;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #413;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #413;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #413;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #413;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #413;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #413;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #414;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #414;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #414;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #414;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #415;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #415;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #415;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #415;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #416;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #416;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #416;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #416;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #417;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #417;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #417;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #417;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #418;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #418;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #418;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #418;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #419;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #419;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #419;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #419;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #419;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #419;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #420;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #420;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #420;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #420;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #420;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #420;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #421;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #421;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #421;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #421;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #421;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #421;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #422;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #422;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #422;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #422;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #423;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #423;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #423;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #423;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #424;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #424;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #424;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #424;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #425;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #425;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #425;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #425;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #426;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #426;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #426;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #426;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #427;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #427;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #428;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #428;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #428;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #428;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #429;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #429;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #429;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #429;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #430;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #430;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #430;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #430;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #431;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #431;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #431;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #431;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #432;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #432;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #432;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #432;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #432;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #432;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #433;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #433;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #433;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #433;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #434;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #434;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #434;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #434;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #435;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #435;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #436;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #436;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #437;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #437;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #438;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #438;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #452;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #452;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #453;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #453;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #454;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #454;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #455;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #455;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #456;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #456;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #457;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #457;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #458;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #458;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #459;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #459;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #460;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #460;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #464;3 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #464;3 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #464;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #464;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #465;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #465;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #465;3 #36;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #465;3 #36;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #466;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #466;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #467;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #467;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #467;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #467;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #467;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #467;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #467;3 #37;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #467;3 #37;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #468;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #468;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #468;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #468;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #469;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #469;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #469;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #469;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #470;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #470;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #470;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #470;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #471;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #471;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #472;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #472;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #472;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #472;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #473;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #473;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #474;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #474;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #474;3 #17;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #474;3 #17;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #474;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #474;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #474;3 #49;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #474;3 #49;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #475;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #475;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #475;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #475;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #476;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #476;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #477;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #477;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #477;3 #33;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #477;3 #33;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #478;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #478;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #478;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #478;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #479;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #479;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #480;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #480;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #480;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #480;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #481;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #481;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #481;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #481;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #482;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #482;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #482;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #482;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #483;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #483;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #483;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #483;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #484;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #484;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #484;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #484;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #485;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #485;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #485;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #485;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #486;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #486;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #486;3 #30;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #486;3 #30;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #487;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #487;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #487;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #487;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #488;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #488;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #488;3 #30;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #488;3 #30;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #489;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #489;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #489;3 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #489;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #489;3 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #489;3 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #490;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #490;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #490;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #490;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #491;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #491;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #491;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #491;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #492;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #492;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #492;3 #32;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #492;3 #32;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #493;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #493;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #493;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #493;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #493;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #493;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #493;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #493;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #494;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #494;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #495;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #495;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #495;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #495;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #496;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #496;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #497;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #497;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #497;3 #27;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #497;3 #27;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #498;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #498;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #499;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #499;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #499;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #499;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #500;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #500;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #501;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #501;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #502;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #502;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #502;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #502;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #503;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #503;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #504;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #504;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #504;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #504;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #504;3 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #504;3 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #504;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #504;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #505;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #505;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #505;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #505;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #506;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #506;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #507;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #507;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #508;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #508;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #509;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #509;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #510;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #510;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #511;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #511;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #512;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #512;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #513;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #513;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #513;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #513;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #514;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #514;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #515;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #515;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #516;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #516;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #517;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #517;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #518;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #518;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #519;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #519;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #520;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #520;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #520;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #520;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #520;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #520;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #521;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #521;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #522;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #522;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #523;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #523;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #524;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #524;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #524;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #524;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #524;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #524;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #525;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #525;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #525;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #525;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #526;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #526;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #526;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #526;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #527;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #527;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #528;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #528;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #528;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #528;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #528;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #528;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #529;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #529;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #530;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #530;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #608;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #608;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #608;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #608;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #609;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #609;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #610;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #610;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #611;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #611;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #612;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #612;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #613;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #613;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #614;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #614;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #615;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #615;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #616;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #616;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #617;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #617;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #618;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #618;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #619;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #619;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #619;3 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #619;3 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #642;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #642;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #642;3 #21;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #642;3 #21;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #642;3 #22;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 13
#I Group [grp] #642;3 #22;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #643;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #643;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #643;3 #25;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #643;3 #25;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #643;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 11
#I Group [grp] #643;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #644;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #644;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #644;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #644;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #644;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #644;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #644;3 #20;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #644;3 #20;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #16;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #16;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #29;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #29;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #645;3 #31;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #645;3 #31;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #646;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #646;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #646;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #646;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #646;3 #19;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #646;3 #19;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #647;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #647;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #647;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #647;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #647;3 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #647;3 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #648;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #648;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #648;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #648;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #649;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #649;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #649;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #649;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #649;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #649;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #650;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #650;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #650;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #650;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #650;3 #24;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #650;3 #24;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #651;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #651;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #651;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #651;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #651;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #651;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #651;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #651;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #652;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #652;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #652;3 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #652;3 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #653;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #653;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #653;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #653;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #653;3 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #653;3 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #654;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #654;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #654;3 #18;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #654;3 #18;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #655;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #655;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #656;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #656;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #656;3 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #656;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #657;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #657;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #658;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 8
#I Group [grp] #658;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #663;3 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 10
#I Group [grp] #663;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #664;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 9
#I Group [grp] #664;3 #3;1 is an invalid starting group
#I **************************************************
5473
gap> PqQuitAll();
gap> ##Example: "2gp-PG-e4-i" . . . based on: examples/pga_exp4
gap> ##All 2-generator exponent 4 2-groups
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 2);
1
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
gap> PqPGSupplyAutomorphisms(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 12,
> PcgsAutomorphisms,
> Exponent := 4);
#I **************************************************
#I Starting group: [grp]
#I Order: 2^2
#I Nuclear rank: 3
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^3 is 3
#I # of immediate descendants of order 2^4 is 3
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 2^3
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 2^3
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #3;1
#I Order: 2^3
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2
#I Order: 2^4
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #4;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2
#I Order: 2^4
#I Nuclear rank: 1
#I 2-multiplicator rank: 2
#I # of immediate descendants of order 2^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 2^4
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #6;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3
#I Order: 2^5
#I Nuclear rank: 2
#I 2-multiplicator rank: 2
#I # of immediate descendants of order 2^6 is 1
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^7 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #5;2 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 2
#I # of immediate descendants of order 2^6 is 2
#I **************************************************
#I Starting group: [grp] #7;3 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 2
#I # of immediate descendants of order 2^7 is 1
#I **************************************************
#I Starting group: [grp] #7;3 #2;2
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 3
#I # of immediate descendants of order 2^9 is 3
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^10 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #5;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #2;1
#I Order: 2^6
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #5;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #1;1
#I Order: 2^8
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #2;1
#I Order: 2^8
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #3;1
#I Order: 2^8
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #4;2
#I Order: 2^9
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #7;3 #2;2 #4;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #5;2
#I Order: 2^9
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #7;3 #2;2 #5;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #6;2
#I Order: 2^9
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^10 is 2
#I # of immediate descendants of order 2^11 is 2
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #7;3
#I Order: 2^10
#I Nuclear rank: 2
#I 2-multiplicator rank: 2
#I # of immediate descendants of order 2^11 is 1
#I # of immediate descendants of order 2^12 is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #6;2 #1;1
#I Order: 2^10
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #6;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #6;2 #2;1
#I Order: 2^10
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #6;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #6;2 #3;2
#I Order: 2^11
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #7;3 #2;2 #6;2 #3;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #6;2 #4;2
#I Order: 2^11
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #7;3 #2;2 #6;2 #4;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #7;3 #1;1
#I Order: 2^11
#I Nuclear rank: 0
#I 2-multiplicator rank: 1
#I Group [grp] #7;3 #2;2 #7;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #2;2 #7;3 #2;2
#I Order: 2^12
#I Nuclear rank: 0
#I 2-multiplicator rank: 2
#I Group [grp] #7;3 #2;2 #7;3 #2;2 is an invalid starting group
26
gap> ##Example: "2gp-PG-i" . . . based on: examples/pga_2gp
gap> ##All descendants of C2 x C2 up to order 2^8
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 2);
2
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
gap> PqPGSupplyAutomorphisms(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 7,
> OrderBound := 8,
> PcgsAutomorphisms,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 2^2
#I Nuclear rank: 3
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^3 is 3
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^4 is 3
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 2^3
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^4 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 2^3
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^4 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2
#I Order: 2^4
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^5 is 2
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2
#I Order: 2^4
#I Nuclear rank: 3
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^5 is 7
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^6 is 11
#I # of capable immediate descendants is 10
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 2^4
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^5 is 4
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3
#I Order: 2^5
#I Nuclear rank: 5
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^6 is 9
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^7 is 37
#I # of capable immediate descendants is 28
#I # of immediate descendants of order 2^8 is 37
#I # of capable immediate descendants is 37
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1
#I Order: 2^4
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^5 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1
#I Order: 2^4
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^5 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #2;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 1
#I **************************************************
#I Starting group: [grp] #4;2 #3;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #4;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^6 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #2;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #5;2 #5;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^6 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #8;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 5
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 8
#I **************************************************
#I Starting group: [grp] #5;2 #9;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 7
#I # of capable immediate descendants is 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #5;2 #10;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 8
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 6
#I **************************************************
#I Starting group: [grp] #5;2 #11;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #12;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 12
#I # of capable immediate descendants is 4
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 16
#I **************************************************
#I Starting group: [grp] #5;2 #13;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #5;2 #14;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I **************************************************
#I Starting group: [grp] #5;2 #16;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 2^8 is 7
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #5;2 #17;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #18;2
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 1
#I **************************************************
#I Starting group: [grp] #5;2 #19;3
#I Order: 2^7
#I Nuclear rank: 4
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #5;2 #20;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #5;2 #21;3
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #6;2 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #2;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 1
#I **************************************************
#I Starting group: [grp] #6;2 #3;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #6;2 #5;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 2^8 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #6;2
#I Order: 2^6
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #5;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #7;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #10;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #11;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #12;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #13;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #14;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #15;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #16;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #17;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #18;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #19;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #7;3 #20;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #21;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #23;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #25;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #7;3 #26;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #27;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #7;3 #29;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #30;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #31;2
#I Order: 2^7
#I Nuclear rank: 3
#I 2-multiplicator rank: 6
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #7;3 #32;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #7;3 #33;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #37;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #7;3 #38;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #7;3 #39;2
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 14
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #40;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #41;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #44;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #46;2
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #47;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #47;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #48;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #48;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #49;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #49;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #50;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #50;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #51;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #51;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #52;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #52;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #53;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #53;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #54;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #54;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #55;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #55;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #56;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #56;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #57;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #57;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #58;3
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #58;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #59;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #59;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #60;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #60;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #61;3
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #61;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #62;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #62;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #63;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #63;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #64;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #64;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #65;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #65;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #66;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #66;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #67;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #67;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #68;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #68;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #69;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #69;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #70;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #70;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #71;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #71;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #72;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #72;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #73;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #73;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #74;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #74;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #75;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #75;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #76;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #76;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #77;3
#I Order: 2^8
#I Nuclear rank: 4
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #77;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #78;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #78;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #79;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #79;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #80;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #80;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #81;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #81;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #82;3
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #82;3 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #83;3
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #83;3 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1 #1;1
#I Order: 2^5
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^6 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 1
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #3;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #3;2 #3;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #4;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #3;2 #4;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #4;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #4;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 1
#I **************************************************
#I Starting group: [grp] #4;2 #4;2 #3;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #4;2 #3;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #3;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #4;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 3
#I **************************************************
#I Starting group: [grp] #5;2 #5;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^7 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #3;1
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #9;2
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #10;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #11;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #12;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #13;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #14;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #8;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #15;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #16;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #8;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 5
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #8;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #8;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #9;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #10;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #11;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #9;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #12;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #13;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #9;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #9;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #10;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #10;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #10;2 #10;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #11;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #10;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #12;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #10;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #13;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #10;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #15;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #10;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #11;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #5;1
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #6;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #7;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #9;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #13;2
#I Order: 2^8
#I Nuclear rank: 3
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #12;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #14;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #14;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #15;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #15;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #16;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #16;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #17;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #17;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #18;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #18;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #19;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #19;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #20;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #20;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #21;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #21;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #22;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #22;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #23;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #23;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #24;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #24;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #25;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #25;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #26;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #26;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #27;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #27;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #28;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #12;2 #28;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #1;1
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 3
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #2;1
#I Order: 2^7
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #5;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #7;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #16;2 #7;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #9;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #16;2 #9;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #11;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #16;2 #11;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #12;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #16;2 #12;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #13;2
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #16;2 #13;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #17;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #17;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I **************************************************
#I Starting group: [grp] #5;2 #19;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #19;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #19;3 #2;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #5;2 #19;3 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #19;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #19;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #19;3 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #19;3 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #20;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #20;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #20;3 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #20;3 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #20;3 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #20;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #20;3 #5;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #20;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #20;3 #6;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #20;3 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #21;3 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #21;3 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #21;3 #4;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #21;3 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #21;3 #5;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #21;3 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #2;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 1
#I **************************************************
#I Starting group: [grp] #6;2 #5;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #5;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 1
#I **************************************************
#I Starting group: [grp] #6;2 #5;2 #4;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #5;2 #4;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #5;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #5;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #6;2
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #6;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #5;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 10
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 16
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I # of immediate descendants of order 2^8 is 12
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #7;3 #10;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #10;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #10;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #10;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #11;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #11;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #11;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #11;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #11;2 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #11;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #12;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #12;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #12;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #12;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #13;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #13;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #13;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #13;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #14;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #14;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #14;2 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #14;2 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #14;2 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #14;2 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #15;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #15;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #16;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #16;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #16;2 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #16;2 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #16;2 #12;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #16;2 #12;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #17;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #17;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #17;2 #5;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #17;2 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #17;2 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #17;2 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #18;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #18;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #18;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #18;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #19;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #19;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #19;2 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #19;2 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #19;2 #6;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #19;2 #6;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #19;2 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #19;2 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #20;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #20;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #21;2 #1;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #21;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #21;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #21;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #21;2 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #21;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #23;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #23;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #23;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #23;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #26;2 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #26;2 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #26;2 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #26;2 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #26;2 #11;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #26;2 #11;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #29;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #29;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #29;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #29;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #30;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #30;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #30;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #30;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #30;2 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #30;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #31;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #31;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #31;2 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #31;2 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #31;2 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #31;2 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #31;2 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #31;2 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #31;2 #15;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 7
#I Group [grp] #7;3 #31;2 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #32;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #32;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #32;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #32;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #32;2 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #32;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #32;2 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #32;2 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #33;2 #1;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #33;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #33;2 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #33;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #37;2 #1;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 6
#I Group [grp] #7;3 #37;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #37;2 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #37;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #37;2 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #37;2 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #39;2 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #39;2 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #40;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #40;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #40;2 #2;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #40;2 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #41;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #41;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #41;2 #3;1
#I Order: 2^8
#I Nuclear rank: 2
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #41;2 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #44;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #44;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #44;2 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #44;2 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #46;2 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #46;2 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #46;2 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #7;3 #46;2 #7;1 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1 #1;1 #1;1
#I Order: 2^6
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^7 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #1;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 1
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #3;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #1;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #3;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #3;2 #2;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #3;2 #2;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #4;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #4;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #4;2 #1;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #4;2 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 8
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #1;1 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #3;1 #3;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #3;1 #4;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 4
#I **************************************************
#I Starting group: [grp] #5;2 #5;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I # of immediate descendants of order 2^8 is 6
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #3;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #3;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 #3;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #3;1 #7;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 #3;1 #7;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #3;1 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #8;2 #3;1 #8;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #4;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #4;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #4;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #4;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #5;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #5;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #5;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #5;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #5;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #5;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #8;2 #5;1 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #8;2 #5;1 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #3;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #4;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #4;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #4;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #4;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #5;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #5;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #9;2 #5;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #9;2 #5;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #10;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #3;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #10;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #10;2 #3;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #10;2 #3;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #11;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #11;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #5;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #12;2 #5;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #5;1 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #12;2 #5;1 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #5;1 #10;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #12;2 #5;1 #10;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #5;1 #15;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #5;2 #12;2 #5;1 #15;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #6;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #6;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #7;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #7;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #7;1 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #7;1 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #12;2 #9;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #12;2 #9;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #13;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #1;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #13;2 #1;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #1;1 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #13;2 #1;1 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #2;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #13;2 #2;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #2;1 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #13;2 #2;1 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #4;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #13;2 #4;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #13;2 #4;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #13;2 #4;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #16;2 #5;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #16;2 #5;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #17;2 #2;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #17;2 #2;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #17;2 #2;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #5;2 #17;2 #2;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #1;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #1;1 #2;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 1
#I **************************************************
#I Starting group: [grp] #6;2 #5;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #5;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #2;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #2;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #2;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #2;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #6;2 #3;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #6;2 #3;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #5;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #5;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #1;1 #5;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #1;1 #5;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #1;1 #9;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #1;1 #9;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #1;1 #13;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #1;1 #13;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #4;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #4;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #7;3 #7;1 #4;1 #8;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 5
#I Group [grp] #7;3 #7;1 #4;1 #8;1 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1 #1;1 #1;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1 #1;1 #1;1 #1;1 #1;1
#I Order: 2^7
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I # of immediate descendants of order 2^8 is 3
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #1;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #4;2 #1;1 #1;1 #1;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #4;2 #1;1 #1;1 #1;1 #2;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #1;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #1;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #2;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #3;1 #3;1 #3;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #2;1 #3;1 #3;1 #3;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #2;1 #3;1 #3;1 #4;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #2;1 #3;1 #3;1 #4;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #5;2 #5;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 4
#I Group [grp] #5;2 #5;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #1;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #1;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #1;1 #1;1 #1;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #3;1 #1;1 #1;1 #1;1 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #6;2 #3;1 #1;1 #1;1 #2;1
#I Order: 2^8
#I Nuclear rank: 1
#I 2-multiplicator rank: 3
#I Group [grp] #6;2 #3;1 #1;1 #1;1 #2;1 is an invalid starting group
#I **************************************************
355
gap> ##Example: "2gp-Rel" . . . based on: examples/2gp
gap> ##Construction of largest quotient of class 6 of a 2-group
gap> F := FreeGroup("a", "b");
gap> rels := [ "[b, a, a]", "(a * b * a)^4"];
[ "[b, a, a]", "(a * b * a)^4" ]
gap> Pq( F : Prime := 2, ClassBound := 6, Relators := rels,
> OutputLevel := 1 );
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
#I Group: [grp] to lower exponent-2 central class 3 has order 2^8
#I Group: [grp] to lower exponent-2 central class 4 has order 2^11
#I Group: [grp] to lower exponent-2 central class 5 has order 2^15
#I Group: [grp] to lower exponent-2 central class 6 has order 2^19
gap> # Executing interactive variant of example: "2gp-Rel"
gap> ##Example: "2gp-Rel" . . . based on: examples/2gp
gap> ##Construction of largest quotient of class 6 of a 2-group
gap> F := FreeGroup("a", "b");
gap> rels := [ "[b, a, a]", "(a * b * a)^4"];
[ "[b, a, a]", "(a * b * a)^4" ]
gap> procId := PqStart( F );
3
gap> Pq( procId : Prime := 2, ClassBound := 6, Relators := rels,
> OutputLevel := 1 );
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
#I Group: [grp] to lower exponent-2 central class 3 has order 2^8
#I Group: [grp] to lower exponent-2 central class 4 has order 2^11
#I Group: [grp] to lower exponent-2 central class 5 has order 2^15
#I Group: [grp] to lower exponent-2 central class 6 has order 2^19
gap> PqQuitAll();
gap> ##Example: "2gp-Rel-i" . . . based on: examples/2gp
gap> F := FreeGroup("a", "b");
gap> rels := ["[b, a, a]", "(a * b * a)^4"];
[ "[b, a, a]", "(a * b * a)^4" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 6,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
#I Group: [grp] to lower exponent-2 central class 3 has order 2^8
#I Group: [grp] to lower exponent-2 central class 4 has order 2^11
#I Group: [grp] to lower exponent-2 central class 5 has order 2^15
#I Group: [grp] to lower exponent-2 central class 6 has order 2^19
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "2gp-SP-1-Rel-i" . . . based on: isom/2gp.exam
gap> F := FreeGroup("a", "b");
gap> rels := ["a^4", "b^2*[b, a, b]^-1", "b*(a^2 * b^-1 * a^2)^-1" ];
[ "a^4", "b^2*[b, a, b]^-1", "b*(a^2 * b^-1 * a^2)^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[1,0],
> [1,1]],
>
> [[0,1],
> [1,0]] ]
>
> : # options
> ClassBound := 7,
> PcgsAutomorphisms);
gap> ##Example: "2gp-SP-2-Rel-i" . . . based on: isom/2gp.com
gap> F := FreeGroup("a", "b");
gap> rels := ["a^4", "b^2*[b, a, b]^-1" ];
[ "a^4", "b^2*[b, a, b]^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,1,0],
> [0,1,1,1]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> PqDisplayPcPresentation(procId);
gap> PqQuitAll();
gap> ##Example: "2gp-SP-3-Rel-i" . . . based on: isom/example.com
gap> F := FreeGroup("a", "b");
gap> rels := ["a^4", "b^2*[b, a, b]^-1", "b * (a^2 * b^-1 * a^2)^-1" ];
[ "a^4", "b^2*[b, a, b]^-1", "b * (a^2 * b^-1 * a^2)^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,1,0],
> [0,1,1,1]] ]
>
> : # options
> ClassBound := 9,
> PcgsAutomorphisms);
gap> ##Example: "2gp-SP-4-Rel-i" . . . based on: isom/isom_example.com
gap> F := FreeGroup("a", "b");
gap> rels := ["a^4", "b^2*[b, a, a]^-1", "b * (a^2 * b^-1 * a^2)^-1" ];
[ "a^4", "b^2*[b, a, a]^-1", "b * (a^2 * b^-1 * a^2)^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,1,0],
> [0,1,1,1]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "2gp-SP-Rel-i" . . . based on: isom/2gp
gap> F := FreeGroup("a", "b");
gap> rels := ["a^4", "b^4", "[b, a, a]" ];
[ "a^4", "b^4", "[b, a, a]" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1, OutputLevel := 3);
#I Lower exponent-2 central series for [grp]
#I Defining relation was 1
#I Defining relation was 2
#I Defining relation was 3
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group defining relations:
#I 4 1
#I 0
#I 4 2
#I 0
#I 1 [ 2 1 1 ]
#I 0
#I Relationship between group defining generators and consistent
#I power-commutator presentation generators:
#I 1 = .1
#I 1^-1 = .1
#I 2 = .2
#I 2^-1 = .2
#I Values of power-commutator presentation generators
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I The number of new generators introduced for weight 2 is 3
gap> PqSPStandardPresentation(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
#I Starting group has order 2^2; its automorphism group order is 6
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0
#I 2 ---> 0 1
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 2 2-quotient is
#I Group: [grp] #1;3 to lower exponent-2 central class 2 has order 2^5
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I Subset of automorphism group to check has order bound 96
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0
#I 2 ---> 0 1 0 0 0
#I Non-standard label is 3
#I Required step size is 2
#I Relative step size is 1
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 3 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 0 1 0 0 0
#I 2 ---> 1 1 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0
#I 2 ---> 0 1 0 0 0
#I Non-standard label is 6
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 6 has orbit representative 1
#I The standard presentation for the class 3 2-quotient is
#I Group: G #1;2 to lower exponent-2 central class 3 has order 2^7
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .6 .7
#I Subset of automorphism group to check has order bound 32
#I The standard automorphism is:
#I 1 ---> 1 1 1 0 0 0 0
#I 2 ---> 0 1 1 1 0 0 0
#I Non-standard label is 1
#I Required step size is 1
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0
#I Non-standard label is 2
#I Required step size is 1
#I Relative step size is 1
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 2 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0
#I 2 ---> 0 1 0 1 0 0 0
#I Non-standard label is 1
#I Required step size is 1
#I Relative step size is 1
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 1
#I Relative step size is 1
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 4 2-quotient is
#I Group: G #1;1 to lower exponent-2 central class 4 has order 2^8
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8
#I [ .5, .1 ] = .6 .7
#I [ .6, .1 ] = .8
#I [ .7, .1 ] = .8
#I Subset of automorphism group to check has order bound 32
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 5 2-quotient is
#I Group: G #1;2 to lower exponent-2 central class 5 has order 2^10
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9
#I .7^2 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10
#I [ .6, .3 ] = .10
#I [ .6, .4 ] = .9
#I [ .7, .1 ] = .8 .9 .10
#I [ .7, .2 ] = .10
#I [ .7, .3 ] = .10
#I [ .7, .4 ] = .9
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I Subset of automorphism group to check has order bound 256
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0
#I Non-standard label is 4
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 4 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 1 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 6 2-quotient is
#I Group: G #1;2 to lower exponent-2 central class 6 has order 2^12
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9 .12
#I .7^2 = .9 .12
#I .8^2 = .11
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9 .11 .12
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10 .12
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10
#I [ .6, .3 ] = .10
#I [ .6, .4 ] = .9 .11
#I [ .7, .1 ] = .8 .9 .10 .11 .12
#I [ .7, .2 ] = .10
#I [ .7, .3 ] = .10
#I [ .7, .4 ] = .9 .12
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I [ .8, .3 ] = .12
#I [ .8, .4 ] = .11
#I [ .9, .1 ] = .11
#I [ .10, .1 ] = .12
#I Subset of automorphism group to check has order bound 256
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 7 2-quotient is
#I Group: G #1;2 to lower exponent-2 central class 7 has order 2^14
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9 .12 .14
#I .7^2 = .9 .12
#I .8^2 = .11 .13
#I .9^2 = .13
#I .10^2 = .13
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9 .11 .12 .14
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10 .12 .13 .14
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10 .14
#I [ .6, .3 ] = .10 .13
#I [ .6, .4 ] = .9 .11 .13
#I [ .6, .5 ] = .13 .14
#I [ .7, .1 ] = .8 .9 .10 .11 .12 .14
#I [ .7, .2 ] = .10 .13 .14
#I [ .7, .3 ] = .10
#I [ .7, .4 ] = .9 .12 .13
#I [ .7, .5 ] = .13 .14
#I [ .7, .6 ] = .13 .14
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I [ .8, .3 ] = .12
#I [ .8, .4 ] = .11 .13
#I [ .8, .5 ] = .13 .14
#I [ .9, .1 ] = .11
#I [ .9, .2 ] = .13 .14
#I [ .9, .3 ] = .13
#I [ .9, .4 ] = .13
#I [ .10, .1 ] = .12
#I [ .10, .2 ] = .14
#I [ .10, .3 ] = .14
#I [ .10, .4 ] = .13
#I [ .11, .1 ] = .13
#I [ .11, .2 ] = .13
#I [ .12, .1 ] = .13
#I [ .12, .2 ] = .14
#I Subset of automorphism group to check has order bound 512
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 4
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 4 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 1 1 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 2
#I Relative step size is 2
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 8 2-quotient is
#I Group: G #1;2 to lower exponent-2 central class 8 has order 2^16
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9 .12 .14 .15 .16
#I .7^2 = .9 .12 .15 .16
#I .8^2 = .11 .13
#I .9^2 = .13 .15
#I .10^2 = .13
#I .11^2 = .15
#I .12^2 = .15
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9 .11 .12 .14 .16
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10 .12 .13 .14 .15 .16
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10 .14
#I [ .6, .3 ] = .10 .13
#I [ .6, .4 ] = .9 .11 .13
#I [ .6, .5 ] = .13 .14
#I [ .7, .1 ] = .8 .9 .10 .11 .12 .14 .16
#I [ .7, .2 ] = .10 .13 .14
#I [ .7, .3 ] = .10
#I [ .7, .4 ] = .9 .12 .13 .15 .16
#I [ .7, .5 ] = .13 .14
#I [ .7, .6 ] = .13 .14
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I [ .8, .3 ] = .12 .16
#I [ .8, .4 ] = .11 .13 .15
#I [ .8, .5 ] = .13 .14
#I [ .8, .6 ] = .15 .16
#I [ .9, .1 ] = .11
#I [ .9, .2 ] = .13 .14
#I [ .9, .3 ] = .13 .16
#I [ .9, .4 ] = .13 .15
#I [ .10, .1 ] = .12
#I [ .10, .2 ] = .14
#I [ .10, .3 ] = .14
#I [ .10, .4 ] = .13
#I [ .11, .1 ] = .13
#I [ .11, .2 ] = .13
#I [ .11, .3 ] = .15
#I [ .11, .4 ] = .15
#I [ .12, .1 ] = .13 .15
#I [ .12, .2 ] = .14
#I [ .12, .3 ] = .16
#I [ .12, .4 ] = .15
#I [ .13, .1 ] = .15
#I [ .14, .1 ] = .16
#I Subset of automorphism group to check has order bound 512
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 9 2-quotient is
#I Group: G #1;3 to lower exponent-2 central class 9 has order 2^19
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9 .12 .14 .15 .16
#I .7^2 = .9 .12 .15 .16
#I .8^2 = .11 .13 .17 .18
#I .9^2 = .13 .15
#I .10^2 = .13 .19
#I .11^2 = .15 .17
#I .12^2 = .15
#I .13^2 = .17
#I .14^2 = .17
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9 .11 .12 .14 .16 .18
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10 .12 .13 .14 .15 .16 .18 .19
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10 .14 .19
#I [ .6, .3 ] = .10 .13
#I [ .6, .4 ] = .9 .11 .13 .17 .18
#I [ .6, .5 ] = .13 .14
#I [ .7, .1 ] = .8 .9 .10 .11 .12 .14 .16 .17 .18 .19
#I [ .7, .2 ] = .10 .13 .14 .17 .18
#I [ .7, .3 ] = .10 .18 .19
#I [ .7, .4 ] = .9 .12 .13 .15 .16 .17
#I [ .7, .5 ] = .13 .14
#I [ .7, .6 ] = .13 .14
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I [ .8, .3 ] = .12 .16
#I [ .8, .4 ] = .11 .13 .15
#I [ .8, .5 ] = .13 .14 .17 .19
#I [ .8, .6 ] = .15 .16 .18 .19
#I [ .8, .7 ] = .17 .18
#I [ .9, .1 ] = .11
#I [ .9, .2 ] = .13 .14 .17 .18
#I [ .9, .3 ] = .13 .16 .18
#I [ .9, .4 ] = .13 .15 .17
#I [ .9, .5 ] = .17 .19
#I [ .9, .6 ] = .17 .18
#I [ .9, .7 ] = .17 .18
#I [ .10, .1 ] = .12
#I [ .10, .2 ] = .14 .17
#I [ .10, .3 ] = .14 .19
#I [ .10, .4 ] = .13 .18 .19
#I [ .10, .5 ] = .17 .19
#I [ .10, .6 ] = .18 .19
#I [ .10, .7 ] = .17 .18
#I [ .10, .8 ] = .17 .18
#I [ .11, .1 ] = .13
#I [ .11, .2 ] = .13 .18 .19
#I [ .11, .3 ] = .15 .17
#I [ .11, .4 ] = .15 .17
#I [ .12, .1 ] = .13 .15 .18 .19
#I [ .12, .2 ] = .14
#I [ .12, .3 ] = .16 .17 .19
#I [ .12, .4 ] = .15
#I [ .12, .5 ] = .17 .19
#I [ .12, .6 ] = .17 .18
#I [ .12, .7 ] = .17 .18
#I [ .13, .1 ] = .15
#I [ .13, .2 ] = .17
#I [ .13, .3 ] = .17
#I [ .13, .4 ] = .17
#I [ .14, .1 ] = .16
#I [ .14, .2 ] = .19
#I [ .14, .3 ] = .19
#I [ .14, .4 ] = .18
#I [ .15, .1 ] = .17
#I [ .15, .2 ] = .17
#I [ .16, .1 ] = .18
#I [ .16, .2 ] = .19
#I Subset of automorphism group to check has order bound 8192
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 1
#I Rank of characteristic subgroup is 1
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 2
#I Rank of characteristic subgroup is 2
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 3
#I The non-standard subgroup 1 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 5
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 5 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Non-standard label is 4
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 4 has orbit representative 1
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Non-standard label is 1
#I Required step size is 3
#I Relative step size is 3
#I Rank of characteristic subgroup is 4
#I The non-standard subgroup 1 has orbit representative 1
#I The standard presentation for the class 10 2-quotient is
#I Group: G #1;3 to lower exponent-2 central class 10 has order 2^22
#I Non-trivial powers:
#I .1^2 = .4
#I .2^2 = .5
#I .3^2 = .6 .7
#I .6^2 = .9 .12 .14 .15 .16 .20 .21
#I .7^2 = .9 .12 .15 .16 .20 .21
#I .8^2 = .11 .13 .17 .18
#I .9^2 = .13 .15
#I .10^2 = .13 .19 .20 .22
#I .11^2 = .15 .17
#I .12^2 = .15 .22
#I .13^2 = .17 .20
#I .14^2 = .17 .20
#I .15^2 = .20
#I .16^2 = .20
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .9 .11 .12 .14 .16 .18 .21 .22
#I [ .5, .1 ] = .6 .7
#I [ .5, .4 ] = .9 .10 .12 .13 .14 .15 .16 .18 .19 .20 .21 .22
#I [ .6, .1 ] = .8
#I [ .6, .2 ] = .10 .14 .19
#I [ .6, .3 ] = .10 .13 .20 .22
#I [ .6, .4 ] = .9 .11 .13 .17 .18
#I [ .6, .5 ] = .13 .14 .20 .22
#I [ .7, .1 ] = .8 .9 .10 .11 .12 .14 .16 .17 .18 .19 .20 .21 .22
#I [ .7, .2 ] = .10 .13 .14 .17 .18 .20 .22
#I [ .7, .3 ] = .10 .18 .19 .20
#I [ .7, .4 ] = .9 .12 .13 .15 .16 .17 .20 .21 .22
#I [ .7, .5 ] = .13 .14 .20 .22
#I [ .7, .6 ] = .13 .14 .20 .22
#I [ .8, .1 ] = .9
#I [ .8, .2 ] = .10
#I [ .8, .3 ] = .12 .16 .22
#I [ .8, .4 ] = .11 .13 .15
#I [ .8, .5 ] = .13 .14 .17 .19 .22
#I [ .8, .6 ] = .15 .16 .18 .19 .20
#I [ .8, .7 ] = .17 .18
#I [ .9, .1 ] = .11
#I [ .9, .2 ] = .13 .14 .17 .18 .20 .22
#I [ .9, .3 ] = .13 .16 .18 .20
#I [ .9, .4 ] = .13 .15 .17
#I [ .9, .5 ] = .17 .19 .20
#I [ .9, .6 ] = .17 .18 .20 .22
#I [ .9, .7 ] = .17 .18
#I [ .9, .8 ] = .20 .21
#I [ .10, .1 ] = .12
#I [ .10, .2 ] = .14 .17 .20
#I [ .10, .3 ] = .14 .19
#I [ .10, .4 ] = .13 .18 .19 .22
#I [ .10, .5 ] = .17 .19 .20
#I [ .10, .6 ] = .18 .19 .20
#I [ .10, .7 ] = .17 .18
#I [ .10, .8 ] = .17 .18
#I [ .11, .1 ] = .13
#I [ .11, .2 ] = .13 .18 .19 .22
#I [ .11, .3 ] = .15 .17 .20 .21 .22
#I [ .11, .4 ] = .15 .17 .20
#I [ .12, .1 ] = .13 .15 .18 .19 .20
#I [ .12, .2 ] = .14
#I [ .12, .3 ] = .16 .17 .19
#I [ .12, .4 ] = .15 .21 .22
#I [ .12, .5 ] = .17 .19 .20
#I [ .12, .6 ] = .17 .18 .20 .22
#I [ .12, .7 ] = .17 .18
#I [ .12, .8 ] = .20 .21
#I [ .13, .1 ] = .15
#I [ .13, .2 ] = .17 .20
#I [ .13, .3 ] = .17 .20
#I [ .13, .4 ] = .17 .20
#I [ .14, .1 ] = .16
#I [ .14, .2 ] = .19
#I [ .14, .3 ] = .19
#I [ .14, .4 ] = .18 .20
#I [ .15, .1 ] = .17
#I [ .15, .2 ] = .17 .20
#I [ .15, .3 ] = .20
#I [ .15, .4 ] = .20
#I [ .16, .1 ] = .18
#I [ .16, .2 ] = .19
#I [ .16, .3 ] = .22
#I [ .16, .4 ] = .21
#I [ .17, .1 ] = .20
#I [ .18, .1 ] = .21
#I [ .19, .1 ] = .22
#I Subset of automorphism group to check has order bound 8192
#I The standard automorphism is:
#I 1 ---> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 0
#I 2 ---> 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#I 0
gap> PqQuitAll();
gap> ##Example: "2gp-SP-d-Rel-i" . . . based on: isom/red1.com
gap> F := FreeGroup("a", "b", "c", "d");
gap> rels := ["b^4", "b^2 * [b, a, a]^-1", "d^16", "a^16 * (c * d)^-1",
> "b^8 * (d * c^4)^-1", "b * (a^2 * b^-1 * a^2)^-1"];
[ "b^4", "b^2 * [b, a, a]^-1", "d^16", "a^16 * (c * d)^-1",
"b^8 * (d * c^4)^-1", "b * (a^2 * b^-1 * a^2)^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "2gp-a-Rel-i" . . . based on: examples/keyword_2gp
gap> F := FreeGroup(3, "x");
gap> rels := ["x1^x2 * x3", "[x2, x1, x1]",
> "[x2 * [x2, x1] * x1^2, x1 * x2 ]"];
[ "x1^x2 * x3", "[x2, x1, x1]", "[x2 * [x2, x1] * x1^2, x1 * x2 ]" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 3,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group: [grp] to lower exponent-2 central class 2 has order 2^4
#I Group: [grp] to lower exponent-2 central class 3 has order 2^6
gap> ##Example: "3gp-PG-4-i" . . . based on: examples/pga_4-3.com
gap> ##All descendants of C3 x C3 x C3 x C3
gap> F := FreeGroup("a", "b", "c", "d");
gap> procId := PqStart(F : Prime := 3);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^4
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-3 central class 2 has order 3^14
gap> PqPGSupplyAutomorphisms(procId, [ [[2,0,0,0],
> [0,1,0,0],
> [0,0,1,0],
> [0,0,0,1]],
>
> [[2,0,0,1],
> [2,0,0,0],
> [0,2,0,0],
> [0,0,2,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 2,
> OrderBound := 5);
#I **************************************************
#I Starting group: [grp]
#I Order: 3^4
#I Nuclear rank: 10
#I 3-multiplicator rank: 10
#I # of immediate descendants of order 3^5 is 6
#I # of capable immediate descendants is 2
#I **************************************************
6
gap> PqQuitAll();
gap> ##Example: "3gp-PG-i" . . . based on: examples/pga_3gp
gap> ##All groups with lower exponent-3 series of shape 2-2-3-1
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 3);
1
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-3 central class 2 has order 3^5
gap> PqPGSupplyAutomorphisms(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 4,
> CapableDescendants,
> StepSize := [2, 3, 1],
> PcgsAutomorphisms,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 3^2
#I Nuclear rank: 3
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^4 is 3
#I # of capable immediate descendants is 3
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;2
#I Order: 3^4
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I Group [grp] #1;2 is an invalid starting group
#I **************************************************
#I Starting group: [grp] #2;2
#I Order: 3^4
#I Nuclear rank: 3
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^7 is 4
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #3;2
#I Order: 3^4
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I Group [grp] #3;2 is an invalid starting group
#I **************************************************
#I **************************************************
#I Starting group: [grp] #2;2 #1;3
#I Order: 3^7
#I Nuclear rank: 4
#I 3-multiplicator rank: 5
#I # of immediate descendants of order 3^8 is 16
#I # of capable immediate descendants is 11
#I **************************************************
#I Starting group: [grp] #2;2 #2;3
#I Order: 3^7
#I Nuclear rank: 3
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^8 is 13
#I # of capable immediate descendants is 9
#I **************************************************
#I Starting group: [grp] #2;2 #3;3
#I Order: 3^7
#I Nuclear rank: 3
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^8 is 13
#I # of capable immediate descendants is 9
#I **************************************************
#I Starting group: [grp] #2;2 #4;3
#I Order: 3^7
#I Nuclear rank: 3
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^8 is 7
#I # of capable immediate descendants is 5
#I **************************************************
41
gap> ##Example: "3gp-PG-x-i" . . . based on example from Werner
gap> ##A `by hand' descendants example
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 3);
2
gap> Pq(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
gap> PqPCover(procId);
#I Group: [grp] to lower exponent-3 central class 2 has order 3^5
gap> PqPGSupplyAutomorphisms(procId, [ [[1,1],
> [0,1]],
>
> [[0,1],
> [1,0]] ]);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 1 0 0 0
#I Generator 2 --> 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0
#I Generator 4 --> 0 0 0 1 1
#I Generator 5 --> 0 0 0 0 1
#I Automorphism 2:
#I Generator 1 --> 0 1 0 0 0
#I Generator 2 --> 1 0 0 0 0
#I Generator 3 --> 0 0 2 0 0
#I Generator 4 --> 0 0 0 0 1
#I Generator 5 --> 0 0 0 1 0
gap> PqPGConstructDescendants(procId : ClassBound := 3,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 3^2
#I Nuclear rank: 3
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^3 is 3
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 3^4 is 3
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 3^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 3^3
#I Nuclear rank: 1
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^4 is 2
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #2;1
#I Order: 3^3
#I Nuclear rank: 2
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^4 is 4
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 3^5 is 7
#I # of capable immediate descendants is 5
#I **************************************************
#I Starting group: [grp] #4;2
#I Order: 3^4
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^5 is 2
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 3^6 is 2
#I # of capable immediate descendants is 2
#I **************************************************
#I Starting group: [grp] #5;2
#I Order: 3^4
#I Nuclear rank: 3
#I 3-multiplicator rank: 4
#I # of immediate descendants of order 3^5 is 9
#I # of capable immediate descendants is 5
#I # of immediate descendants of order 3^6 is 18
#I # of capable immediate descendants is 16
#I # of immediate descendants of order 3^7 is 4
#I # of capable immediate descendants is 4
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 3^4
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^5 is 2
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 3^6 is 1
#I # of capable immediate descendants is 1
#I **************************************************
#I Starting group: [grp] #7;3
#I Order: 3^5
#I Nuclear rank: 5
#I 3-multiplicator rank: 5
#I # of immediate descendants of order 3^6 is 11
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 3^7 is 58
#I # of capable immediate descendants is 32
#I # of immediate descendants of order 3^8 is 58
#I # of capable immediate descendants is 58
#I # of immediate descendants of order 3^9 is 11
#I # of capable immediate descendants is 11
#I # of immediate descendants of order 3^10 is 1
#I # of capable immediate descendants is 1
#I **************************************************
148
gap> ##Example: "3gp-PG-x-i" . . . based on example from Werner
gap> ##Iterated descendants example
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 3);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-3 central class 2 has order 3^5
gap> PqPGSupplyAutomorphisms(procId, [ [[1,1],
> [0,1]],
>
> [[0,1],
> [1,0]] ]);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 1 0 0 0
#I Generator 2 --> 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0
#I Generator 4 --> 0 0 0 1 1
#I Generator 5 --> 0 0 0 0 1
#I Automorphism 2:
#I Generator 1 --> 0 1 0 0 0
#I Generator 2 --> 1 0 0 0 0
#I Generator 3 --> 0 0 2 0 0
#I Generator 4 --> 0 0 0 0 1
#I Generator 5 --> 0 0 0 1 0
gap> PqPGConstructDescendants(procId : ClassBound := 2,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp]
#I Order: 3^2
#I Nuclear rank: 3
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^3 is 3
#I # of capable immediate descendants is 2
#I # of immediate descendants of order 3^4 is 3
#I # of capable immediate descendants is 3
#I # of immediate descendants of order 3^5 is 1
#I # of capable immediate descendants is 1
#I **************************************************
6
gap> PqPGSetDescendantToPcp(procId, 2, 5);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 1 0 0
#I Generator 4 --> 0 0 0 1 0 1 0
#I Generator 5 --> 0 0 0 0 1 0 0
#I Generator 6 --> 0 0 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 2 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0
#I Generator 6 --> 0 0 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 0 1 1
#I Automorphism 3:
#I Generator 1 --> 1 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 1
#I Generator 5 --> 0 0 0 0 1 0 0
#I Generator 6 --> 0 0 0 0 1 1 0
#I Generator 7 --> 0 0 0 0 0 0 1
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0
#I Generator 6 --> 0 0 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 3,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2
#I Order: 3^4
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^5 is 2
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 3^6 is 1
#I # of capable immediate descendants is 1
#I **************************************************
2
gap> PqPGSetDescendantToPcp(procId, 3, 2);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 1 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 1 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0
#I Generator 9 --> 0 0 0 0 0 0 2 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0
#I Generator 9 --> 0 0 0 0 0 0 0 1 1
#I Automorphism 3:
#I Generator 1 --> 1 1 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 2 0 1
#I Generator 5 --> 0 0 0 0 1 0 0 0 0
#I Generator 6 --> 0 0 0 0 1 1 2 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0
#I Generator 8 --> 0 0 0 0 0 0 1 1 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 2 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 4,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2 #3;2
#I Order: 3^6
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^7 is 2
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 3^8 is 1
#I # of capable immediate descendants is 1
#I **************************************************
2
gap> PqPGSetDescendantToPcp(procId, 4, 2);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 1 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 1 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 2 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 1 1
#I Automorphism 3:
#I Generator 1 --> 1 1 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 2 0 0 0 1
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 1 1 2 0 1 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 1 1 2 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 1 1 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 2 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 2 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 5,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2 #3;2 #3;2
#I Order: 3^8
#I Nuclear rank: 2
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^9 is 2
#I # of capable immediate descendants is 1
#I # of immediate descendants of order 3^10 is 1
#I # of capable immediate descendants is 1
#I **************************************************
2
gap> PqPGSetDescendantToPcp(procId, 5, 1);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 1 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 1 0 1
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 1 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 1 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 1 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 2 1
#I Automorphism 4:
#I Generator 1 --> 1 1 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 2 0 0 0 0 1
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 1 1 2 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 1 1 0 0 2 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 1 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 2 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 2 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 6,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2 #3;2 #3;2 #1;1
#I Order: 3^9
#I Nuclear rank: 1
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^10 is 2
#I # of capable immediate descendants is 1
#I **************************************************
1
gap> PqPGSetDescendantToPcp(procId, 6, 1);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 1 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 1 0 1
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 1 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 1 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 1 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 1 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 1 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 1 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 2 1
#I Automorphism 5:
#I Generator 1 --> 1 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 2 0 0 0 0 0 1
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 1 1 2 0 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 1 1 0 0 0 2 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 1 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 6:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 2 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 2 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 7,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2 #3;2 #3;2 #1;1 #1;1
#I Order: 3^10
#I Nuclear rank: 1
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^11 is 2
#I # of capable immediate descendants is 1
#I **************************************************
1
gap> PqPGSetDescendantToPcp(procId, 7, 1);
gap> PqPGExtendAutomorphisms(procId);
#I Automorphism 1:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 1 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 2:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 1
#I Automorphism 3:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 1 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 1 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 4:
#I Generator 1 --> 1 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 1 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 1 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 1 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 5:
#I Generator 1 --> 1 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 1 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 1 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 1 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 1 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 1 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 2 1
#I Automorphism 6:
#I Generator 1 --> 1 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 1 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 1 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 1 1 2 0 2 0 0 0 0 0 0 1
#I Generator 5 --> 0 0 0 0 1 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 1 1 2 0 0 0 0 0 1 0
#I Generator 7 --> 0 0 0 0 0 0 1 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 1 1 0 0 0 0 2 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 1 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 1 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 0 1
#I Automorphism 7:
#I Generator 1 --> 1 0 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 2 --> 0 2 0 0 0 0 0 0 0 0 0 0 0 0
#I Generator 3 --> 0 0 2 0 0 0 0 0 0 0 0 0 0 0
#I Generator 4 --> 0 0 0 1 0 0 0 0 0 0 0 0 0 0
#I Generator 5 --> 0 0 0 0 2 0 0 0 0 0 0 0 0 0
#I Generator 6 --> 0 0 0 0 0 1 0 0 0 0 0 0 0 0
#I Generator 7 --> 0 0 0 0 0 0 2 0 0 0 0 0 0 0
#I Generator 8 --> 0 0 0 0 0 0 0 1 0 0 0 0 0 0
#I Generator 9 --> 0 0 0 0 0 0 0 0 1 0 0 0 0 0
#I Generator 10 --> 0 0 0 0 0 0 0 0 0 1 0 0 0 0
#I Generator 11 --> 0 0 0 0 0 0 0 0 0 0 1 0 0 0
#I Generator 12 --> 0 0 0 0 0 0 0 0 0 0 0 1 0 0
#I Generator 13 --> 0 0 0 0 0 0 0 0 0 0 0 0 2 0
#I Generator 14 --> 0 0 0 0 0 0 0 0 0 0 0 0 0 2
gap> PqPGConstructDescendants(procId : ClassBound := 8,
> CapableDescendants,
> BasicAlgorithm);
#I **************************************************
#I Starting group: [grp] #6;2 #3;2 #3;2 #1;1 #1;1 #1;1
#I Order: 3^11
#I Nuclear rank: 1
#I 3-multiplicator rank: 3
#I # of immediate descendants of order 3^12 is 2
#I # of capable immediate descendants is 1
#I **************************************************
1
gap> PqQuitAll();
gap> ##Example: "3gp-Rel-i" . . . based on: examples/3gp
gap> F := FreeGroup("a", "b", "c", "d");
gap> rels := ["(b * c^-1 * d)^-3", "(c * d^-1)^3",
> "[b, a] * c", "[c, a]", "[c, b] * d"];
[ "(b * c^-1 * d)^-3", "(c * d^-1)^3", "[b, a] * c", "[c, a]", "[c, b] * d" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 19,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
#I Group: [grp] to lower exponent-3 central class 2 has order 3^4
#I Group: [grp] to lower exponent-3 central class 3 has order 3^6
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Group: [grp] to lower exponent-3 central class 5 has order 3^8
#I Group: [grp] to lower exponent-3 central class 6 has order 3^9
#I Group: [grp] to lower exponent-3 central class 7 has order 3^10
#I Group: [grp] to lower exponent-3 central class 8 has order 3^11
#I Group: [grp] to lower exponent-3 central class 9 has order 3^12
#I Group: [grp] to lower exponent-3 central class 10 has order 3^13
#I Group: [grp] to lower exponent-3 central class 11 has order 3^14
#I Group: [grp] to lower exponent-3 central class 12 has order 3^15
#I Group: [grp] to lower exponent-3 central class 13 has order 3^16
#I Group: [grp] to lower exponent-3 central class 14 has order 3^17
#I Group: [grp] to lower exponent-3 central class 15 has order 3^18
#I Group: [grp] to lower exponent-3 central class 16 has order 3^19
#I Group: [grp] to lower exponent-3 central class 17 has order 3^20
#I Group: [grp] to lower exponent-3 central class 18 has order 3^21
#I Group: [grp] to lower exponent-3 central class 19 has order 3^22
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "3gp-SP-1-Rel-i" . . . based on: isom/3gp.ex1
gap> F := FreeGroup("x", "y");
gap> rels := ["(x * y * x)^3", "[x, y, y]"];
[ "(x * y * x)^3", "[x, y, y]" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "3gp-SP-2-Rel-i" . . . based on: isom/3gp.ex2
gap> F := FreeGroup("x", "y");
gap> rels := ["(x * y * x)^3", "[y, x, x]"];
[ "(x * y * x)^3", "[y, x, x]" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 9,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "3gp-SP-3-Rel-i" . . . based on: isom/3gp.exam
gap> F := FreeGroup("x", "y");
gap> rels := ["(x * y * x)^3", "[x, y, x]"];
[ "(x * y * x)^3", "[x, y, x]" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 6,
> PcgsAutomorphisms);
gap> ##Example: "3gp-SP-4-Rel-i" . . . based on: isom/3gp.test
gap> F := FreeGroup("a", "b");
gap> rels := ["(b * [b, a] * [b, a, b])^3", "([b, a] * [b, a, b]^2)^3",
> "[b, a, a]"];
[ "(b * [b, a] * [b, a, b])^3", "([b, a] * [b, a, b]^2)^3", "[b, a, a]" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 7,
> PcgsAutomorphisms);
gap> ##Example: "3gp-SP-Rel-i" . . . based on: isom/3gp
gap> F := FreeGroup("x", "y");
gap> rels := ["[x, y, y, y]", "[x, y, x]"];
[ "[x, y, y, y]", "[x, y, x]" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "3gp-a-Rel" . . . based on: examples/3gpA
gap> ##(exponent 9 group with 2 generators of order 3)
gap> F := FreeGroup("a", "b");
gap> rels := ["a^3", "b^3"];
[ "a^3", "b^3" ]
gap> Pq( F : Prime := 3, Exponent := 9, Relators := rels, ClassBound := 6,
> OutputLevel := 1 );
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
#I Group: [grp] to lower exponent-3 central class 2 has order 3^3
#I Group: [grp] to lower exponent-3 central class 3 has order 3^5
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Group: [grp] to lower exponent-3 central class 5 has order 3^9
#I Group: [grp] to lower exponent-3 central class 6 has order 3^11
gap> # Executing interactive variant of example: "3gp-a-Rel"
gap> ##Example: "3gp-a-Rel" . . . based on: examples/3gpA
gap> ##(exponent 9 group with 2 generators of order 3)
gap> F := FreeGroup("a", "b");
gap> rels := ["a^3", "b^3"];
[ "a^3", "b^3" ]
gap> procId := PqStart( F );
1
gap> Pq( procId : Prime := 3, Exponent := 9, Relators := rels, ClassBound := 6,
> OutputLevel := 1 );
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
#I Group: [grp] to lower exponent-3 central class 2 has order 3^3
#I Group: [grp] to lower exponent-3 central class 3 has order 3^5
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Group: [grp] to lower exponent-3 central class 5 has order 3^9
#I Group: [grp] to lower exponent-3 central class 6 has order 3^11
gap> ##Example: "3gp-a-Rel-i" . . . based on: examples/3gpA
gap> ##(exponent 9 group with 2 generators of order 3)
gap> F := FreeGroup("a", "b");
gap> rels := ["a^3", "b^3"];
[ "a^3", "b^3" ]
gap> procId := PqStart(F : Prime := 3, Exponent := 9, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 12,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
#I Group: [grp] to lower exponent-3 central class 2 has order 3^3
#I Group: [grp] to lower exponent-3 central class 3 has order 3^5
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Group: [grp] to lower exponent-3 central class 5 has order 3^9
#I Group: [grp] to lower exponent-3 central class 6 has order 3^11
#I Group: [grp] to lower exponent-3 central class 7 has order 3^15
#I Group: [grp] to lower exponent-3 central class 8 has order 3^20
#I Group: [grp] to lower exponent-3 central class 9 has order 3^28
#I Group: [grp] to lower exponent-3 central class 10 has order 3^38
#I Group: [grp] to lower exponent-3 central class 11 has order 3^52
#I Group: [grp] to lower exponent-3 central class 12 has order 3^73
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "3gp-a-x-Rel-i" . . . based on: examples/3gpA
gap> ##(exponent 9 group with 2 generators of order 3, extended)
gap> F := FreeGroup("a", "b");
gap> rels := ["a^3", "b^3"];
[ "a^3", "b^3" ]
gap> procId := PqStart(F : Prime := 3, Exponent := 9, Relators := rels);
3
gap> PqPcPresentation(procId : ClassBound := 4,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
#I Group: [grp] to lower exponent-3 central class 2 has order 3^3
#I Group: [grp] to lower exponent-3 central class 3 has order 3^5
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
gap> PqDisplayPcPresentation(procId : OutputLevel := 2);
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Non-trivial powers:
#I .3^3 = .6^2
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .5
#I [ .4, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .5, .1 ] = .7
#I [ .5, .2 ] = .6
gap> PqNextClass(procId);
#I Processing tails for generators of weight 4 and 1
#I Processing tails for generators of weight 3 and 2
#I The number of new generators introduced for weight 5 is 4
#I Processing tails for generators of weight 3 and 1
#I Processing tails for generators of weight 2 and 2
#I The number of new generators introduced for weight 4 is 2
#I Generator 12 is redundant
#I Jacobi was 3 2 1
#I Processing tails for generators of weight 2 and 1
#I The number of new generators introduced for weight 3 is 0
#I Generator 13 is redundant
#I Jacobi was 2 1 1
#I The number of new generators introduced for weight 2 is 2
#I Generator 14 is trivial
#I Defining relation was 1
#I Generator 15 is trivial
#I Defining relation was 2
#I 2 relations of class 1 collected
#I Generator 9 is redundant
#I Collected power 9 of the following word: 1^1 2^1
#I 2 relations of class 2 collected
#I Generator 8 is trivial
#I Collected power 9 of the following word: 1^1 2^2
#I 3 relations of class 3 collected
#I 2 relations of class 4 collected
#I 1 relation of class 5 collected
#I Group: [grp] to lower exponent-3 central class 5 has order 3^9
#I Non-trivial powers:
#I .3^3 = .6^2 .8^2
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .5
#I [ .4, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8
#I [ .5, .1 ] = .7 .8 .9^2
#I [ .5, .2 ] = .6 .8 .9^2
#I [ .5, .3 ] = .9^2
#I [ .7, .1 ] = .8
#I [ .7, .2 ] = .9
gap> PqSetOutputLevel(procId, 1);
gap> PqSetupTablesForNextClass(procId);
#I Setup performed for class 6
gap> PqTails(procId, 0);
gap> PqDoConsistencyChecks(procId, 0, 0);
gap> PqCollectDefiningRelations(procId);
gap> PqDoExponentChecks(procId);
gap> PqEliminateRedundantGenerators(procId);
gap> PqDisplayPcPresentation(procId : OutputLevel := 2);
#I Group: [grp] to lower exponent-3 central class 6 has order 3^11
#I Non-trivial powers:
#I .3^3 = .6^2 .8^2 .10 .11
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .3, .2 ] = .5
#I [ .4, .1 ] = .6
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .8 .10^2 .11^2
#I [ .5, .1 ] = .7 .8 .9^2 .10^2 .11^2
#I [ .5, .2 ] = .6 .8 .9^2 .10^2
#I [ .5, .3 ] = .9^2 .11
#I [ .5, .4 ] = .10 .11
#I [ .6, .2 ] = .10^2
#I [ .7, .1 ] = .8
#I [ .7, .2 ] = .9
#I [ .7, .3 ] = .10^2 .11
#I [ .8, .2 ] = .10
#I [ .9, .1 ] = .11
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "3gp-maxoccur-Rel-i" . . . based on: examples/maxoccur
gap> ##Demonstrates usage of `PqSetMaximalOccurrences'.
gap> F := FreeGroup("a", "b");
gap> rels := ["a^3", "b^3"];
[ "a^3", "b^3" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-3 central series for [grp]
#I Group: [grp] to lower exponent-3 central class 1 has order 3^2
gap> PqSetMaximalOccurrences(procId, [6, 4]);
gap> for class in [2 .. 9] do
> PqNextClass(procId);
> od;
#I Group: [grp] to lower exponent-3 central class 2 has order 3^3
#I Group: [grp] to lower exponent-3 central class 3 has order 3^5
#I Group: [grp] to lower exponent-3 central class 4 has order 3^7
#I Group: [grp] to lower exponent-3 central class 5 has order 3^11
#I Group: [grp] to lower exponent-3 central class 6 has order 3^15
#I Group: [grp] to lower exponent-3 central class 7 has order 3^23
#I Group: [grp] to lower exponent-3 central class 8 has order 3^29
#I Group: [grp] to lower exponent-3 central class 9 has order 3^35
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "5gp-PG-i" . . . based on: examples/pga_5gp
gap> ##Descendants of C5 x C5
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 5);
2
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
gap> PqPGSupplyAutomorphisms(procId, [ [[2,0],
> [0,1]],
>
> [[4,1],
> [4,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 2,
> StepSize := 2,
> RankInitialSegmentSubgroups := 4);
#I **************************************************
#I Starting group: [grp]
#I Order: 5^2
#I Nuclear rank: 3
#I 5-multiplicator rank: 3
#I # of immediate descendants of order 5^4 is 3
#I # of capable immediate descendants is 3
#I **************************************************
3
gap> ##Example: "5gp-Rel-i" . . . based on: examples/5gp
gap> F := FreeGroup("a", "b", "c");
gap> rels := ["a^25 * c", "[a, b] * c^-4", "[a, c]^25"];
[ "a^25 * c", "[a, b] * c^-4", "[a, c]^25" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
3
gap> PqPcPresentation(procId : ClassBound := 27,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^4
#I Group: [grp] to lower exponent-5 central class 3 has order 5^6
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
#I Group: [grp] to lower exponent-5 central class 5 has order 5^10
#I Group: [grp] to lower exponent-5 central class 6 has order 5^12
#I Group: [grp] to lower exponent-5 central class 7 has order 5^14
#I Group: [grp] to lower exponent-5 central class 8 has order 5^16
#I Group: [grp] to lower exponent-5 central class 9 has order 5^18
#I Group: [grp] to lower exponent-5 central class 10 has order 5^20
#I Group: [grp] to lower exponent-5 central class 11 has order 5^22
#I Group: [grp] to lower exponent-5 central class 12 has order 5^24
#I Group: [grp] to lower exponent-5 central class 13 has order 5^26
#I Group: [grp] to lower exponent-5 central class 14 has order 5^28
#I Group: [grp] to lower exponent-5 central class 15 has order 5^30
#I Group: [grp] to lower exponent-5 central class 16 has order 5^32
#I Group: [grp] to lower exponent-5 central class 17 has order 5^34
#I Group: [grp] to lower exponent-5 central class 18 has order 5^36
#I Group: [grp] to lower exponent-5 central class 19 has order 5^38
#I Group: [grp] to lower exponent-5 central class 20 has order 5^40
#I Group: [grp] to lower exponent-5 central class 21 has order 5^42
#I Group: [grp] to lower exponent-5 central class 22 has order 5^44
#I Group: [grp] to lower exponent-5 central class 23 has order 5^46
#I Group: [grp] to lower exponent-5 central class 24 has order 5^48
#I Group: [grp] to lower exponent-5 central class 25 has order 5^50
#I Group: [grp] to lower exponent-5 central class 26 has order 5^52
#I Group: [grp] to lower exponent-5 central class 27 has order 5^54
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "5gp-SP-Rel-i" . . . based on: isom/5gp
gap> F := FreeGroup("a", "b");
gap> rels := ["a^25", "[b, a, a, a]", "b^5*[b, a, a]^-1"];
[ "a^25", "[b, a, a, a]", "b^5*[b, a, a]^-1" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "5gp-SP-a-Rel-i" . . . based on: isom/5gp_a
gap> F := FreeGroup("a", "b");
gap> rels := ["a^25", "[b, a, a]", "[b, a, b, b, b, b]", "b^5"];
[ "a^25", "[b, a, a]", "[b, a, b, b, b, b]", "b^5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 27,
> PcgsAutomorphisms);
gap> ##Example: "5gp-SP-b-Rel-i" . . . based on: isom/5gp_b
gap> F := FreeGroup("a", "b");
gap> rels := ["a^25", "[b, a, a]", "[b, a, a, a, a, a, b]",
> "[b, a, b, b, b, b]", "b^5 * [b, a, a]^-1"];
[ "a^25", "[b, a, a]", "[b, a, a, a, a, a, b]", "[b, a, b, b, b, b]",
"b^5 * [b, a, a]^-1" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 27,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "5gp-SP-big-Rel-i" . . . based on: isom/large_5gp
gap> F := FreeGroup("a", "b", "c", "d");
gap> rels := ["a * b^d", "c * d^a", "[c, a, a]", "[c, b, b, a]"];
[ "a * b^d", "c * d^a", "[c, a, a]", "[c, b, b, a]" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[4,1],
> [4,0]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 5);
gap> ##Example: "5gp-SP-d-Rel-i" . . . based on: isom/5gp_d
gap> F := FreeGroup("a", "b");
gap> rels := ["a^25", "[b, a, a, a, b]", "[b, a, b, b, b]",
> "[b, a, b, a]", "b^5 * [a, b, a]^-1"];
[ "a^25", "[b, a, a, a, b]", "[b, a, b, b, b]", "[b, a, b, a]",
"b^5 * [a, b, a]^-1" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 20,
> PcgsAutomorphisms);
gap> ##Example: "5gp-a-Rel-i" . . . based on: examples/5gpA
gap> F := FreeGroup("a", "b");
gap> rels := ["a^5", "b^5", "(a * b)^5", "(a * b^2)^5", "(a * b^-2)^5",
> "(a * b^-1)^5", "(a^2 * b)^5", "(a^2 * b^2)^5", "(a^2 * b^-2)^5",
> "(a^2 * b^-1)^5", "(a * b * a^-1 * b^2)^5",
> "(a * b * a^2 * b^-1)^5", "(a * b * a^2 * b^2)^5",
> "(a * b * a * b^-1)^5", "(a * b * a^-1 * b)^5",
> "(a * b * a^-1 * b^-1)^5"];
[ "a^5", "b^5", "(a * b)^5", "(a * b^2)^5", "(a * b^-2)^5", "(a * b^-1)^5",
"(a^2 * b)^5", "(a^2 * b^2)^5", "(a^2 * b^-2)^5", "(a^2 * b^-1)^5",
"(a * b * a^-1 * b^2)^5", "(a * b * a^2 * b^-1)^5", "(a * b * a^2 * b^2)^5",
"(a * b * a * b^-1)^5", "(a * b * a^-1 * b)^5", "(a * b * a^-1 * b^-1)^5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
3
gap> PqPcPresentation(procId : ClassBound := 5,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^5
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
#I Group: [grp] to lower exponent-5 central class 5 has order 5^10
gap> PqNextClass(procId); #class 6
#I Group: [grp] to lower exponent-5 central class 6 has order 5^14
gap> PqNextClass(procId); #class 7
#I Group: [grp] to lower exponent-5 central class 7 has order 5^18
gap> PqNextClass(procId); #class 8
#I Group: [grp] to lower exponent-5 central class 8 has order 5^22
gap> PqNextClass(procId); #class 9
#I Group: [grp] to lower exponent-5 central class 9 has order 5^28
gap> PqNextClass(procId); #class 10
#I Group: [grp] to lower exponent-5 central class 10 has order 5^39
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "5gp-b-Rel-i" . . . based on: examples/5gpB
gap> F := FreeGroup("x", "y", "z", "w");
gap> rels := ["x^25 * (x^z)^-1", "[x, y] * z^-1", "[x, z]"];
[ "x^25 * (x^z)^-1", "[x, y] * z^-1", "[x, z]" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 5,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
#I Group: [grp] to lower exponent-5 central class 3 has order 5^10
#I Group: [grp] to lower exponent-5 central class 4 has order 5^18
#I Group: [grp] to lower exponent-5 central class 5 has order 5^32
gap> ##Example: "5gp-c-Rel-i" . . . based on: examples/keyword_5gp
gap> F := FreeGroup("a", "b", "c", "d");
gap> rels := ["[a, b, b, c]", "(a * b * c^d * a)^25",
> "(a * b)^25 * [a, c, c, d]^-2"];
[ "[a, b, b, c]", "(a * b * c^d * a)^25", "(a * b)^25 * [a, c, c, d]^-2" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 2,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^4
#I Group: [grp] to lower exponent-5 central class 2 has order 5^14
gap> ##Example: "5gp-maxoccur-Rel-i" . . . based on: GrpFP_2_pQuotient6
gap> ##Demonstrates usage of `PqSetMaximalOccurrences'.
gap> F := FreeGroup("a", "b");
gap> rels := ["a^5", "b^5"];
[ "a^5", "b^5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
gap> PqSetMaximalOccurrences(procId, [3, 2]);
gap> for class in [2 .. 6] do
> PqNextClass(procId);
> od;
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^5
#I Group: [grp] to lower exponent-5 central class 4 has order 5^7
#I Group: [grp] to lower exponent-5 central class 5 has order 5^9
#I Group completed. Lower exponent-5 central class = 5, Order = 5^9
#I Group: [grp] to lower exponent-5 central class 5 has order 5^9
gap> PqDisplayPcPresentation(procId);
#I Group: [grp] to lower exponent-5 central class 5 has order 5^9
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "5gp-metabelian-Rel" . . . based on: examples/metabelian
gap> ##Construction of a metabelian 5-quotient
gap> F := FreeGroup("a", "b");
gap> rels := [ "a^625", "b^625", "[b, a, b]",
> "[b, a, a, a, a] * [b, a]^-5" ];
[ "a^625", "b^625", "[b, a, b]", "[b, a, a, a, a] * [b, a]^-5" ]
gap> Pq( F : Prime := 5, ClassBound := 20, Metabelian, Relators := rels,
> OutputLevel := 1 );
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
#I Group: [grp] to lower exponent-5 central class 3 has order 5^8
#I Group: [grp] to lower exponent-5 central class 4 has order 5^11
#I Group: [grp] to lower exponent-5 central class 5 has order 5^12
#I Group: [grp] to lower exponent-5 central class 6 has order 5^13
#I Group: [grp] to lower exponent-5 central class 7 has order 5^14
#I Group: [grp] to lower exponent-5 central class 8 has order 5^15
#I Group: [grp] to lower exponent-5 central class 9 has order 5^16
#I Group: [grp] to lower exponent-5 central class 10 has order 5^17
#I Group: [grp] to lower exponent-5 central class 11 has order 5^18
#I Group: [grp] to lower exponent-5 central class 12 has order 5^19
#I Group: [grp] to lower exponent-5 central class 13 has order 5^20
#I Group completed. Lower exponent-5 central class = 13, Order = 5^20
gap> # Executing interactive variant of example: "5gp-metabelian-Rel"
gap> ##Example: "5gp-metabelian-Rel" . . . based on: examples/metabelian
gap> ##Construction of a metabelian 5-quotient
gap> F := FreeGroup("a", "b");
gap> rels := [ "a^625", "b^625", "[b, a, b]",
> "[b, a, a, a, a] * [b, a]^-5" ];
[ "a^625", "b^625", "[b, a, b]", "[b, a, a, a, a] * [b, a]^-5" ]
gap> procId := PqStart( F );
1
gap> Pq( procId : Prime := 5, ClassBound := 20, Metabelian, Relators := rels,
> OutputLevel := 1 );
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
#I Group: [grp] to lower exponent-5 central class 3 has order 5^8
#I Group: [grp] to lower exponent-5 central class 4 has order 5^11
#I Group: [grp] to lower exponent-5 central class 5 has order 5^12
#I Group: [grp] to lower exponent-5 central class 6 has order 5^13
#I Group: [grp] to lower exponent-5 central class 7 has order 5^14
#I Group: [grp] to lower exponent-5 central class 8 has order 5^15
#I Group: [grp] to lower exponent-5 central class 9 has order 5^16
#I Group: [grp] to lower exponent-5 central class 10 has order 5^17
#I Group: [grp] to lower exponent-5 central class 11 has order 5^18
#I Group: [grp] to lower exponent-5 central class 12 has order 5^19
#I Group: [grp] to lower exponent-5 central class 13 has order 5^20
#I Group completed. Lower exponent-5 central class = 13, Order = 5^20
gap> ##Example: "5gp-metabelian-Rel-i" . . . based on: examples/metabelian
gap> ##Demonstrates usage of `PqSetMetabelian'.
gap> F := FreeGroup("a", "b");
gap> rels := ["a^625", "b^625", "[b, a, b]", "[b, a, a, a, a] * [b, a]^-5"];
[ "a^625", "b^625", "[b, a, b]", "[b, a, a, a, a] * [b, a]^-5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
gap> PqSetMetabelian(procId);
gap> for class in [2 .. 14] do
> PqNextClass(procId);
> od;
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
#I Group: [grp] to lower exponent-5 central class 3 has order 5^8
#I Group: [grp] to lower exponent-5 central class 4 has order 5^11
#I Group: [grp] to lower exponent-5 central class 5 has order 5^12
#I Group: [grp] to lower exponent-5 central class 6 has order 5^13
#I Group: [grp] to lower exponent-5 central class 7 has order 5^14
#I Group: [grp] to lower exponent-5 central class 8 has order 5^15
#I Group: [grp] to lower exponent-5 central class 9 has order 5^16
#I Group: [grp] to lower exponent-5 central class 10 has order 5^17
#I Group: [grp] to lower exponent-5 central class 11 has order 5^18
#I Group: [grp] to lower exponent-5 central class 12 has order 5^19
#I Group: [grp] to lower exponent-5 central class 13 has order 5^20
#I Group completed. Lower exponent-5 central class = 13, Order = 5^20
#I Group: [grp] to lower exponent-5 central class 13 has order 5^20
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "7gp-PG-i" . . . based on: examples/pga_7gp
gap> ##Descendants of C7 x C7
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 7);
3
gap> PqPcPresentation(procId : ClassBound := 1,
> OutputLevel := 1);
#I Lower exponent-7 central series for [grp]
#I Group: [grp] to lower exponent-7 central class 1 has order 7^2
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-7 central class 2 has order 7^5
gap> PqPGSupplyAutomorphisms(procId, [ [[3,0],
> [0,1]],
>
> [[6,1],
> [6,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 2,
> CapableDescendants,
> StepSize := 1);
#I **************************************************
#I Starting group: [grp]
#I Order: 7^2
#I Nuclear rank: 3
#I 7-multiplicator rank: 3
#I # of immediate descendants of order 7^3 is 3
#I # of capable immediate descendants is 2
#I **************************************************
2
gap> PqQuitAll();
gap> ##Example: "7gp-Rel-i" . . . based on: examples/7gp
gap> F := FreeGroup("a", "b");
gap> rels := ["[b, a, a, b, b]^49", "(a * b * b * a * b * a)^49", "b^7"];
[ "[b, a, a, b, b]^49", "(a * b * b * a * b * a)^49", "b^7" ]
gap> procId := PqStart(F : Prime := 7, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 10,
> OutputLevel := 1);
#I Lower exponent-7 central series for [grp]
#I Group: [grp] to lower exponent-7 central class 1 has order 7^2
#I Group: [grp] to lower exponent-7 central class 2 has order 7^4
#I Group: [grp] to lower exponent-7 central class 3 has order 7^6
#I Group: [grp] to lower exponent-7 central class 4 has order 7^9
#I Group: [grp] to lower exponent-7 central class 5 has order 7^15
#I Group: [grp] to lower exponent-7 central class 6 has order 7^24
#I Group: [grp] to lower exponent-7 central class 7 has order 7^42
#I Group: [grp] to lower exponent-7 central class 8 has order 7^72
#I Group: [grp] to lower exponent-7 central class 9 has order 7^128
#I Group: [grp] to lower exponent-7 central class 10 has order 7^226
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "7gp-SP-Rel-i" . . . based on: isom/7gp.com
gap> F := FreeGroup("a", "b");
gap> rels := ["a^7", "b^7 * [b, a, a]^-1", "[b, a, b, b, b, b, b]"];
[ "a^7", "b^7 * [b, a, a]^-1", "[b, a, b, b, b, b, b]" ]
gap> procId := PqStart(F : Prime := 7, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0,1],
> [0,1,0,0,0]],
>
> [[1,0,0,0,0],
> [0,1,0,0,1]],
>
> [[1,0,0,0,0],
> [0,1,0,0,1]],
>
> [[1,0,0,0,0],
> [6,1,0,0,0]],
>
> [[6,0,0,0,0],
> [2,1,0,0,0]],
>
> [[6,0,0,0,0],
> [0,6,0,0,0]],
>
> [[6,0,0,0,0],
> [4,5,0,0,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "7gp-SP-a-Rel-i" . . . based on: isom/7gp_a
gap> F := FreeGroup("a", "b");
gap> rels := ["b^7", "a^7 * [b, a, b]^-1", "(a * b * [b, a, b] )^7",
> "[b, a, a, a, a, b, a]"];
[ "b^7", "a^7 * [b, a, b]^-1", "(a * b * [b, a, b] )^7",
"[b, a, a, a, a, b, a]" ]
gap> procId := PqStart(F : Prime := 7, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[6,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]],
>
> [[1,2,0,0],
> [0,1,0,0]],
>
> [[1,4,0,0],
> [0,4,0,0]] ]
>
> : # options
> ClassBound := 20,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "7gp-SP-b-Rel-i" . . . based on: isom/7gp_b
gap> F := FreeGroup("a", "b");
gap> rels := ["b^7 * [b, a, a]^-1", "[b, a, b]"];
[ "b^7 * [b, a, a]^-1", "[b, a, b]" ]
gap> procId := PqStart(F : Prime := 7, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[6,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]],
>
> [[1,2,0,0],
> [0,6,0,0]],
>
> [[1,4,0,0],
> [0,4,0,0]] ]
>
> : # options
> ClassBound := 40,
> PcgsAutomorphisms);
gap> ##Example: "B2-4" . . . the ``right'' way to generate B(2, 4)
gap> ##Generates B(2, 4) by using the `Exponent' option
gap> F := FreeGroup("a", "b");
gap> Pq( F : Prime := 2, Exponent := 4 );
gap> # Executing interactive variant of example: "B2-4"
gap> ##Example: "B2-4" . . . the ``right'' way to generate B(2, 4)
gap> ##Generates B(2, 4) by using the `Exponent' option
gap> F := FreeGroup("a", "b");
gap> procId := PqStart( F );
2
gap> Pq( procId : Prime := 2, Exponent := 4 );
gap> ##Example: "B2-4-Id" . . . alternative way to generate B(2, 4)
gap> ##Generates B(2, 4) by using the `Identities' option
gap> ##... this is not as efficient as using `Exponent' but
gap> ##demonstrates the usage of the `Identities' option.
gap> F := FreeGroup("a", "b");
gap> # All words w in the pc generators of B(2, 4) satisfy f(w) = 1
gap> f := w -> w^4;
function( w ) ... end
gap> Pq( F : Prime := 2, Identities := [ f ] );
#I Class 1 with 2 generators.
#I Class 2 with 5 generators.
#I Class 3 with 7 generators.
#I Class 4 with 10 generators.
#I Class 5 with 12 generators.
#I Class 5 with 12 generators.
gap> # Executing interactive variant of example: "B2-4-Id"
gap> ##Example: "B2-4-Id" . . . alternative way to generate B(2, 4)
gap> ##Generates B(2, 4) by using the `Identities' option
gap> ##... this is not as efficient as using `Exponent' but
gap> ##demonstrates the usage of the `Identities' option.
gap> F := FreeGroup("a", "b");
gap> # All words w in the pc generators of B(2, 4) satisfy f(w) = 1
gap> f := w -> w^4;
function( w ) ... end
gap> procId := PqStart( F );
3
gap> Pq( procId : Prime := 2, Identities := [ f ] );
#I Class 1 with 2 generators.
#I Class 2 with 5 generators.
#I Class 3 with 7 generators.
#I Class 4 with 10 generators.
#I Class 5 with 12 generators.
#I Class 5 with 12 generators.
gap> PqQuitAll();
gap> ##Example: "B2-4-SP-i" . . . based on: isom/B2-4.com
gap> ##Computes standard presentation for B(2,4)
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> procId := PqStart(F : Prime := 2, Exponent := 4);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]
>
> : # options
> ClassBound := 6,
> PcgsAutomorphisms);
gap> ##Example: "B2-5" . . . based on: examples/B2-5
gap> ##Construction of B(2,5)
gap> ##i.e. largest finite 2-generator group of exponent 5
gap> F := FreeGroup("a", "b");
gap> Pq( F : Prime := 5, ClassBound := 14, Exponent := 5,
> OutputLevel := 1 );
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^5
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
#I Group: [grp] to lower exponent-5 central class 5 has order 5^10
#I Group: [grp] to lower exponent-5 central class 6 has order 5^14
#I Group: [grp] to lower exponent-5 central class 7 has order 5^18
#I Group: [grp] to lower exponent-5 central class 8 has order 5^22
#I Group: [grp] to lower exponent-5 central class 9 has order 5^28
#I Group: [grp] to lower exponent-5 central class 10 has order 5^31
#I Group: [grp] to lower exponent-5 central class 11 has order 5^33
#I Group: [grp] to lower exponent-5 central class 12 has order 5^34
#I Group completed. Lower exponent-5 central class = 12, Order = 5^34
gap> # Executing interactive variant of example: "B2-5"
gap> ##Example: "B2-5" . . . based on: examples/B2-5
gap> ##Construction of B(2,5)
gap> ##i.e. largest finite 2-generator group of exponent 5
gap> F := FreeGroup("a", "b");
gap> procId := PqStart( F );
2
gap> Pq( procId : Prime := 5, ClassBound := 14, Exponent := 5,
> OutputLevel := 1 );
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^5
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
#I Group: [grp] to lower exponent-5 central class 5 has order 5^10
#I Group: [grp] to lower exponent-5 central class 6 has order 5^14
#I Group: [grp] to lower exponent-5 central class 7 has order 5^18
#I Group: [grp] to lower exponent-5 central class 8 has order 5^22
#I Group: [grp] to lower exponent-5 central class 9 has order 5^28
#I Group: [grp] to lower exponent-5 central class 10 has order 5^31
#I Group: [grp] to lower exponent-5 central class 11 has order 5^33
#I Group: [grp] to lower exponent-5 central class 12 has order 5^34
#I Group completed. Lower exponent-5 central class = 12, Order = 5^34
gap> ##Example: "B2-5-i" . . . based on: examples/B2-5
gap> ##Construction of B(2,5)
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 5, Exponent := 5);
3
gap> PqPcPresentation(procId : ClassBound := 15,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^5
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
#I Group: [grp] to lower exponent-5 central class 5 has order 5^10
#I Group: [grp] to lower exponent-5 central class 6 has order 5^14
#I Group: [grp] to lower exponent-5 central class 7 has order 5^18
#I Group: [grp] to lower exponent-5 central class 8 has order 5^22
#I Group: [grp] to lower exponent-5 central class 9 has order 5^28
#I Group: [grp] to lower exponent-5 central class 10 has order 5^31
#I Group: [grp] to lower exponent-5 central class 11 has order 5^33
#I Group: [grp] to lower exponent-5 central class 12 has order 5^34
#I Group completed. Lower exponent-5 central class = 12, Order = 5^34
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "B2-8-i" . . . based on: examples/B2-8
gap> ##Construction of B(2,8)
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 2, Exponent := 8);
1
gap> PqPcPresentation(procId : ClassBound := 10,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^2
#I Group: [grp] to lower exponent-2 central class 2 has order 2^5
#I Group: [grp] to lower exponent-2 central class 3 has order 2^10
#I Group: [grp] to lower exponent-2 central class 4 has order 2^15
#I Group: [grp] to lower exponent-2 central class 5 has order 2^24
#I Group: [grp] to lower exponent-2 central class 6 has order 2^35
#I Group: [grp] to lower exponent-2 central class 7 has order 2^53
#I Group: [grp] to lower exponent-2 central class 8 has order 2^83
#I Group: [grp] to lower exponent-2 central class 9 has order 2^139
#I Group: [grp] to lower exponent-2 central class 10 has order 2^238
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "B4-4-a-i" . . . based on: examples/B4-4A
gap> ##Construction of B(4,4)
gap> F := FreeGroup("a", "b", "c", "d");
gap> procId := PqStart(F : Prime := 2, Exponent := 4);
2
gap> PqPcPresentation(procId : ClassBound := 6,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^4
#I Group: [grp] to lower exponent-2 central class 2 has order 2^14
#I Group: [grp] to lower exponent-2 central class 3 has order 2^34
#I Group: [grp] to lower exponent-2 central class 4 has order 2^89
#I Group: [grp] to lower exponent-2 central class 5 has order 2^188
#I Group: [grp] to lower exponent-2 central class 6 has order 2^272
gap> PqSupplyAutomorphisms(procId, [ [[0,0,0,1],
> [1,0,0,0],
> [0,1,0,0],
> [0,0,1,0]],
>
> [[1,1,0,0],
> [0,1,0,0],
> [0,0,1,0],
> [0,0,0,1]] ]);
gap> for class in [7 .. 11] do
> PqNextClass(procId : QueueFactor := 20);
> od;
#I Group: [grp] to lower exponent-2 central class 7 has order 2^352
#I Group: [grp] to lower exponent-2 central class 8 has order 2^392
#I Group: [grp] to lower exponent-2 central class 9 has order 2^412
#I Group: [grp] to lower exponent-2 central class 10 has order 2^422
#I Group completed. Lower exponent-2 central class = 10, Order = 2^422
#I Group: [grp] to lower exponent-2 central class 10 has order 2^422
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> ##Example: "B4-4-i" . . . based on: examples/B4-4
gap> ##Construction of B(4,4)
gap> F := FreeGroup("a", "b", "c", "d");
gap> procId := PqStart(F : Prime := 2, Exponent := 4);
3
gap> PqPcPresentation(procId : ClassBound := 6,
> OutputLevel := 1);
#I Lower exponent-2 central series for [grp]
#I Group: [grp] to lower exponent-2 central class 1 has order 2^4
#I Group: [grp] to lower exponent-2 central class 2 has order 2^14
#I Group: [grp] to lower exponent-2 central class 3 has order 2^34
#I Group: [grp] to lower exponent-2 central class 4 has order 2^89
#I Group: [grp] to lower exponent-2 central class 5 has order 2^188
#I Group: [grp] to lower exponent-2 central class 6 has order 2^272
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqQuitAll();
gap> ##Example: "B5-4.g" . . . by Werner Nickel
gap> ##. . . . . . . . . . . . and based on a pq input file by M.F.Newman
gap> ##(constructs the Burnside group B(5,4), which is the largest group of
gap> ## exponent 4 generated by 5 elements; it has order 2^2728 and p-central
gap> ## class 13)
gap> ##Note: It is a construction only and makes use of specialised knowledge
gap> ##gained by Newman & O'Brien in their investigations of B(5,4).
gap> LoadPackage( "anupq" );
true
gap> #You might like to try setting: `SetInfoLevel( InfoANUPQ, 3 );'
gap>
gap> procId := PqStart( FreeGroup(5) : Exponent := 4, Prime := 2 );
1
gap> Pq( procId : ClassBound := 2 );
gap> PqSupplyAutomorphisms( procId,
> [
> [ [ 1, 1, 0, 0, 0], #1st automorphism
> [ 0, 1, 0, 0, 0],
> [ 0, 0, 1, 0, 0],
> [ 0, 0, 0, 1, 0],
> [ 0, 0, 0, 0, 1] ],
>
> [ [ 0, 0, 0, 0, 1], #2nd automorphism
> [ 1, 0, 0, 0, 0],
> [ 0, 1, 0, 0, 0],
> [ 0, 0, 1, 0, 0],
> [ 0, 0, 0, 1, 0] ]
> ] );
gap>
gap> Relations :=
> [ [], ## class 1
> [], ## class 2
> [], ## class 3
> [], ## class 4
> [], ## class 5
> [], ## class 6
> ## class 7
> [ [ "x2","x1","x1","x3","x4","x4","x4" ] ],
> ## class 8
> [ [ "x2","x1","x1","x3","x4","x5","x5","x5" ] ],
> ## class 9
> [ [ "x2","x1","x1","x3","x4","x4","x5","x5","x5" ],
> [ "x2","x1","x1","x2","x3","x4","x5","x5","x5" ],
> [ "x2","x1","x1","x3","x3","x4","x5","x5","x5" ] ],
> ## class 10
> [ [ "x2","x1","x1","x2","x3","x3","x4","x5","x5","x5" ],
> [ "x2","x1","x1","x3","x3","x4","x4","x5","x5","x5" ] ],
> ## class 11
> [ [ "x2","x1","x1","x2","x3","x3","x4","x4","x5","x5","x5" ],
> [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x4","x3" ] ],
> ## class 12
> [ [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x5","x5","x5" ],
> [ "x2","x1","x1","x3","x2","x4","x3","x5","x4","x5","x5","x5" ] ],
> ## class 13
> [ [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x4","x5","x5","x5"
> ] ]
> ];
[ [ ], [ ], [ ], [ ], [ ], [ ],
[ [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ] ],
[ [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ] ],
[ [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ],
[ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ],
[ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ] ],
[ [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x5", "x5", "x5" ],
[ "x2", "x1", "x1", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ] ],
[ [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ],
[ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4", "x3" ] ],
[ [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x5", "x5", "x5" ]
, [ "x2", "x1", "x1", "x3", "x2", "x4", "x3", "x5", "x4", "x5", "x5",
"x5" ] ],
[ [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4", "x5", "x5",
"x5" ] ] ]
gap>
gap> for class in [ 3 .. 13 ] do
> Print( "Computing class ", class, "\n" );
> PqSetupTablesForNextClass( procId );
>
> for w in [ class, class-1 .. 7 ] do
>
> PqAddTails( procId, w );
> PqDisplayPcPresentation( procId );
>
> if Relations[ w ] <> [] then
> # recalculate automorphisms
> PqExtendAutomorphisms( procId );
>
> for r in Relations[ w ] do
> Print( "Collecting ", r, "\n" );
> PqCommutator( procId, r, 1 );
> PqEchelonise( procId );
> PqApplyAutomorphisms( procId, 15 ); #queue factor = 15
> od;
>
> PqEliminateRedundantGenerators( procId );
> fi;
> PqComputeTails( procId, w );
> od;
> PqDisplayPcPresentation( procId );
>
> smallclass := Minimum( class, 6 );
> for w in [ smallclass, smallclass-1 .. 2 ] do
> PqTails( procId, w );
> od;
> # recalculate automorphisms
> PqExtendAutomorphisms( procId );
> PqCollect( procId, "x5^4" );
> PqEchelonise( procId );
> PqApplyAutomorphisms( procId, 15 ); #queue factor = 15
> PqEliminateRedundantGenerators( procId );
> PqDisplayPcPresentation( procId );
> od;
Computing class 3
Computing class 4
Computing class 5
Computing class 6
Computing class 7
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 8
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 9
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 10
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 11
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x4", "x5", "x5", "x5"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4", "x3"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 12
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x5",
"x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x2", "x4", "x3", "x5", "x4", "x5",
"x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x4", "x5", "x5", "x5"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4", "x3"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
Computing class 13
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4",
"x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x5",
"x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x2", "x4", "x3", "x5", "x4", "x5",
"x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x4", "x5", "x5", "x5"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x1", "x3", "x4", "x2", "x4", "x3"
]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x2", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x5", "x5", "x5" ]
Collecting [ "x2", "x1", "x1", "x3", "x4", "x4", "x4" ]
gap>
gap> PqWritePcPresentation( procId, "/tmp/B54" );
gap> PqQuit( procId );
gap> ##Example: "B5-5-Engel3-Id" . . . Burnside group satisfying 2 identities
gap> ##Generates largest Burnside group of exponent 5 that also satisfies
gap> ##a 3-Engel identity. Demonstrates the usage of the `Identities' option.
gap> F := FreeGroup(2);
gap> Burnside5 := x->x^5;
function( x ) ... end
gap> Engel3 := function( x,y ) return PqLeftNormComm( [x,y,y,y] ); end;
function( x, y ) ... end
gap> Pq( F : Prime := 5, Identities := [ Burnside5, Engel3 ] );
#I Class 1 with 2 generators.
#I Class 2 with 3 generators.
#I Class 3 with 5 generators.
#I Class 3 with 5 generators.
gap> # Executing interactive variant of example: "B5-5-Engel3-Id"
gap> ##Example: "B5-5-Engel3-Id" . . . Burnside group satisfying 2 identities
gap> ##Generates largest Burnside group of exponent 5 that also satisfies
gap> ##a 3-Engel identity. Demonstrates the usage of the `Identities' option.
gap> F := FreeGroup(2);
gap> Burnside5 := x->x^5;
function( x ) ... end
gap> Engel3 := function( x,y ) return PqLeftNormComm( [x,y,y,y] ); end;
function( x, y ) ... end
gap> procId := PqStart( F );
1
gap> Pq( procId : Prime := 5, Identities := [ Burnside5, Engel3 ] );
#I Class 1 with 2 generators.
#I Class 2 with 3 generators.
#I Class 3 with 5 generators.
#I Class 3 with 5 generators.
gap> ##Example: "EpimorphismStandardPresentation" . . . based on manual example
gap> ##(demonstrates `EpimorphismStandardPresentation' usage)
gap> F := FreeGroup(6, "F");
gap> # For printing GAP uses the symbols F1, ... for the generators of F
gap> x := F.1; y := F.2; z := F.3; w := F.4; a := F.5; b := F.6;
F1
F2
F3
F4
F5
F6
gap> R := [x^3 / w, y^3 / w * a^2 * b^2, w^3 / b,
> Comm (y, x) / z, Comm (z, x), Comm (z, y) / a, z^3 ];
[ F1^3*F4^-1, F2^3*F4^-1*F5^2*F6^2, F4^3*F6^-1, F2^-1*F1^-1*F2*F1*F3^-1,
F3^-1*F1^-1*F3*F1, F3^-1*F2^-1*F3*F2*F5^-1, F3^3 ]
gap> Q := F / R;
gap> # For printing GAP also uses the symbols F1, ... for the generators of Q
gap> # (the same as used for F) ... but the gen'rs of Q and F are different:
gap> GeneratorsOfGroup(F) = GeneratorsOfGroup(Q);
false
gap> G := Pq( Q : Prime := 3, ClassBound := 3 );
gap> phi := EpimorphismStandardPresentation( Q : Prime := 3,
> ClassBound := 3 );
[ F1, F2, F3, F4, F5, F6 ] -> [ f1*f2^2*f3*f4^2*f5^2, f1*f2*f3*f5, f3^2,
f4*f6^2, f5, f6 ]
gap> Source(phi); # This is the group Q (GAP uses F1, ... for gen'r symbols)
gap> Range(phi); # This is the group G (GAP uses f1, ... for gen'r symbols)
gap> AssignGeneratorVariables(G); # so f1, ... are now variables
#I Assigned the global variables [ f1, f2, f3, f4, f5, f6 ]
gap> # Just to see that the images of [F1, ..., F6] do generate G
gap> Group([ f1*f2^2*f3, f1*f2*f3*f4*f5^2*f6^2, f3^2, f4, f5, f6 ]) = G;
true
gap> Size( Image(phi) );
729
gap> # Executing interactive variant of example: "EpimorphismStandardPresentation"
gap> ##Example: "EpimorphismStandardPresentation" . . . based on manual example
gap> ##(demonstrates `EpimorphismStandardPresentation' usage)
gap> F := FreeGroup(6, "F");
gap> # For printing GAP uses the symbols F1, ... for the generators of F
gap> x := F.1; y := F.2; z := F.3; w := F.4; a := F.5; b := F.6;
F1
F2
F3
F4
F5
F6
gap> R := [x^3 / w, y^3 / w * a^2 * b^2, w^3 / b,
> Comm (y, x) / z, Comm (z, x), Comm (z, y) / a, z^3 ];
[ F1^3*F4^-1, F2^3*F4^-1*F5^2*F6^2, F4^3*F6^-1, F2^-1*F1^-1*F2*F1*F3^-1,
F3^-1*F1^-1*F3*F1, F3^-1*F2^-1*F3*F2*F5^-1, F3^3 ]
gap> Q := F / R;
gap> # For printing GAP also uses the symbols F1, ... for the generators of Q
gap> # (the same as used for F) ... but the gen'rs of Q and F are different:
gap> GeneratorsOfGroup(F) = GeneratorsOfGroup(Q);
false
gap> procId := PqStart( Q );
2
gap> G := Pq( procId : Prime := 3, ClassBound := 3 );
gap> phi := EpimorphismStandardPresentation( procId : Prime := 3,
> ClassBound := 3 );
[ F1, F2, F3, F4, F5, F6 ] -> [ f1*f2^2*f3*f4^2*f5^2, f1*f2*f3*f5, f3^2,
f4*f6^2, f5, f6 ]
gap> Source(phi); # This is the group Q (GAP uses F1, ... for gen'r symbols)
gap> Range(phi); # This is the group G (GAP uses f1, ... for gen'r symbols)
gap> AssignGeneratorVariables(G); # so f1, ... are now variables
#I Global variable `f1' is already defined and will be overwritten
#I Global variable `f2' is already defined and will be overwritten
#I Global variable `f3' is already defined and will be overwritten
#I Global variable `f4' is already defined and will be overwritten
#I Global variable `f5' is already defined and will be overwritten
#I Global variable `f6' is already defined and will be overwritten
#I Assigned the global variables [ f1, f2, f3, f4, f5, f6 ]
gap> # Just to see that the images of [F1, ..., F6] do generate G
gap> Group([ f1*f2^2*f3, f1*f2*f3*f4*f5^2*f6^2, f3^2, f4, f5, f6 ]) = G;
true
gap> Size( Image(phi) );
729
gap> PqQuitAll();
gap> ##Example: "F2-5-i" . . . based on: examples/F2-5
gap> ##Construction of 5-quotient of a 2-generator free group
gap> F := FreeGroup("a", "b");
gap> procId := PqStart(F : Prime := 5);
1
gap> PqPcPresentation(procId : ClassBound := 6,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^5
#I Group: [grp] to lower exponent-5 central class 3 has order 5^10
#I Group: [grp] to lower exponent-5 central class 4 has order 5^18
#I Group: [grp] to lower exponent-5 central class 5 has order 5^32
#I Group: [grp] to lower exponent-5 central class 6 has order 5^55
gap> PqNextClass(procId); #class 7
#I Group: [grp] to lower exponent-5 central class 7 has order 5^96
gap> PqNextClass(procId); #class 8
#I Group: [grp] to lower exponent-5 central class 8 has order 5^167
gap> PqNextClass(procId); #class 9
#I Group: [grp] to lower exponent-5 central class 9 has order 5^294
gap> ##Example: "G2-SP-Rel-i" . . . based on: isom/G_2.com
gap> F := FreeGroup("a", "b");
gap> rels := ["b^4", "b^2 * [b, a, a]^-1", "b * (a^2 * b^-1 * a^2)^-1" ];
[ "b^4", "b^2 * [b, a, a]^-1", "b * (a^2 * b^-1 * a^2)^-1" ]
gap> procId := PqStart(F : Prime := 2, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[0,1],
> [1,1]],
>
> [[0,1],
> [1,0]] ]
>
> : # options
> ClassBound := 12,
> PcgsAutomorphisms);
gap> ##Example: "G3-SP-Rel-i" . . . based on: isom/G_3.com
gap> F := FreeGroup("x", "y");
gap> rels := ["(x * y * x)^3"];
[ "(x * y * x)^3" ]
gap> procId := PqStart(F : Prime := 3, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 1);
gap> PqSPStandardPresentation(procId, [ [[2,0],
> [0,2]],
>
> [[0,2],
> [1,0]],
>
> [[1,2],
> [2,2]],
>
> [[1,0],
> [2,1]],
>
> [[2,0],
> [0,1]] ]
>
> : # options
> ClassBound := 5,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "G5-SP-Rel-i" . . . based on: isom/G_5.com
gap> F := FreeGroup("a", "b");
gap> rels := ["[a, b, b, b]", "[b, a, b, b, b]", "[a, b, a]", "b^5"];
[ "[a, b, b, b]", "[b, a, b, b, b]", "[a, b, a]", "b^5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
1
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "G5-SP-a-Rel-i" . . . based on: isom/G_5A.com
gap> F := FreeGroup("a", "b");
gap> rels := ["[a, b, b, a]", "[a, b, a]", "b^5"];
[ "[a, b, b, a]", "[a, b, a]", "b^5" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqSPComputePcpAndPCover(procId : ClassBound := 2);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,1],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,3,0,0],
> [0,1,0,0]],
>
> [[1,3,0,0],
> [0,4,0,0]],
>
> [[1,2,0,0],
> [0,3,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[3,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> ##Example: "IsIsomorphicPGroup-ni" . . . based on manual example
gap> ##(demonstrates `IsIsomorphicPGroup' usage)
gap> G := Group( (1,2,3,4), (1,3) );
Group([ (1,2,3,4), (1,3) ])
gap> P1 := Image( IsomorphismPcGroup( G ) );
Group([ f1, f2, f3 ])
gap> P2 := SmallGroup( 8, 5 );
gap> IsIsomorphicPGroup( P1, P2 );
false
gap> P3 := SmallGroup( 8, 4 );
gap> IsIsomorphicPGroup( P1, P3 );
false
gap> P4 := SmallGroup( 8, 3 );
gap> IsIsomorphicPGroup( P1, P4 );
true
gap> PqQuitAll();
gap> ##Example: "Nott-APG-Rel-i" . . . based on: examples/pga_interactive
gap> ##Start point for Nottingham group
gap> ##Interactive construction of 40 5-groups of order 5^7
gap> F := FreeGroup("a", "b");
gap> rels := ["a^5", "b^5", "[b, a, b]"];
[ "a^5", "b^5", "[b, a, b]" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
1
gap> PqPcPresentation(procId : ClassBound := 3,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^4
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqPGSupplyAutomorphisms(procId, [ [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,0,0],
> [0,1,0,1]],
>
> [[1,0,0,0],
> [0,4,0,0]],
>
> [[1,0,0,0],
> [0,2,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[2,0,0,0],
> [0,1,0,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 4,
> CapableDescendants,
> StepSize := 1,
> PcgsAutomorphisms,
> RankInitialSegmentSubgroups := 4);
#I **************************************************
#I Starting group: [grp]
#I Order: 5^4
#I Nuclear rank: 1
#I 5-multiplicator rank: 4
#I # of immediate descendants of order 5^5 is 9
#I # of capable immediate descendants is 2
#I **************************************************
2
gap> PqPGSetDescendantToPcp(procId, 4, 1);
gap> PqAPGDegree(procId, 2, 3);
#I Degree of permutation group is 25
25
gap> PqAPGPermutations(procId);
gap> PqAPGOrbits(procId : CustomiseOutput := rec(orbit := [1]));
#I Orbit Length Representative
#I 1 5 1
#I 2 20 2
#I Number of orbits is 2
2
gap> PqAPGOrbitRepresentatives(procId);
gap> PqPGSetDescendantToPcp(procId);
gap> PqDisplayPcPresentation(procId);
#I Group: [grp] #1;1 to lower exponent-5 central class 5 has order 5^9
#I Class 1
#I 1 is defined on image of defining generator 1
#I 2 is defined on image of defining generator 2
#I Class 2
#I 3 is defined on [2, 1] = 2 1
#I Class 3
#I 4 is defined on [3, 1] = 2 1 1
#I Class 4
#I 5 is defined on [4, 1] = 2 1 1 1
#I Class 5
#I 6 is defined on [5, 1] = 2 1 1 1 1
#I 7 is defined on [5, 2] = 2 1 1 1 2
#I 8 is defined on 1^5 = 1 1
#I 9 is defined on 2^5 = 2 2
#I Non-trivial powers:
#I .1^5 = .8
#I .2^5 = .9
#I Non-trivial commutators:
#I [ .2, .1 ] = .3
#I [ .3, .1 ] = .4
#I [ .4, .1 ] = .5
#I [ .4, .2 ] = .7
#I [ .4, .3 ] = .7^4
#I [ .5, .1 ] = .6
#I [ .5, .2 ] = .7
gap> PqAPGSingleStage(procId : StepSize:=2, BasicAlgorithm,
> CustomiseOutput := rec());
#I **************************************************
#I Starting group: [grp] #1;1
#I Order: 5^5
#I Nuclear rank: 2
#I 5-multiplicator rank: 4
#I # of immediate descendants of order 5^7 is 40
#I # of capable immediate descendants is 5
gap> ##Example: "Nott-PG-Rel-i" . . . based on: examples/pga_nott
gap> ##Start point for Nottingham group
gap> F := FreeGroup("a", "b");
gap> rels := ["a^5", "b^5", "[b, a, b]"];
[ "a^5", "b^5", "[b, a, b]" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
2
gap> PqPcPresentation(procId : ClassBound := 3,
> OutputLevel := 1);
#I Lower exponent-5 central series for [grp]
#I Group: [grp] to lower exponent-5 central class 1 has order 5^2
#I Group: [grp] to lower exponent-5 central class 2 has order 5^3
#I Group: [grp] to lower exponent-5 central class 3 has order 5^4
gap> PqComputePCover(procId);
#I Group: [grp] to lower exponent-5 central class 4 has order 5^8
gap> PqSavePcPresentation(procId, ANUPQData.outfile);
gap> PqPGSupplyAutomorphisms(procId, [ [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,0,0],
> [0,1,0,1]],
>
> [[1,0,0,0],
> [0,4,0,0]],
>
> [[1,0,0,0],
> [0,2,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[2,0,0,0],
> [0,1,0,0]] ]);
gap> PqPGConstructDescendants(procId : ClassBound := 4,
> CapableDescendants,
> StepSize := 1,
> PcgsAutomorphisms,
> RankInitialSegmentSubgroups := 4);
#I **************************************************
#I Starting group: [grp]
#I Order: 5^4
#I Nuclear rank: 1
#I 5-multiplicator rank: 4
#I # of immediate descendants of order 5^5 is 9
#I # of capable immediate descendants is 2
#I **************************************************
2
gap> ##Example: "Nott-SP-Rel-i" . . . based on: isom/nott.com
gap> F := FreeGroup("a", "b");
gap> rels := ["a^5", "b^5", "[b, a, b]"];
[ "a^5", "b^5", "[b, a, b]" ]
gap> procId := PqStart(F : Prime := 5, Relators := rels);
3
gap> PqSPComputePcpAndPCover(procId : ClassBound := 3);
gap> PqSPStandardPresentation(procId, [ [[1,0,0,0],
> [0,1,0,1]],
>
> [[1,1,0,0],
> [0,1,0,0]],
>
> [[1,0,0,0],
> [0,4,0,0]],
>
> [[1,0,0,0],
> [0,2,0,0]],
>
> [[4,0,0,0],
> [0,1,0,0]],
>
> [[2,0,0,0],
> [0,1,0,0]] ]
>
> : # options
> ClassBound := 10,
> PcgsAutomorphisms);
gap> PqQuitAll();
gap> ##Example: "Pq" . . . based on manual example illustrating `Pq' usage
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> Pq( F : Prime := 2, ClassBound := 3 );
gap>
gap> # Now let us get a p-quotient of an fp group
gap> G := F / [a^4, b^4];
gap> Pq( G : Prime := 2, ClassBound := 3 );
gap>
gap> # Now let's get a different p-quotient of the same group
gap> Pq( G : Prime := 2, ClassBound := 3,
> Exponent := 4 );
gap>
gap> # Now we'll get a p-quotient of another fp group
gap> # which we will redo using the `Relators' option
gap> R := [ a^25, Comm(Comm(b, a), a), b^5 ];
[ a^25, a^-1*b^-1*a*b*a^-1*b^-1*a^-1*b*a^2, b^5 ]
gap> H := F / R;
gap> Pq( H : Prime := 5, ClassBound := 5, Metabelian );
gap>
gap> # Now we redo the previous example using the `Relators' option
gap> F := FreeGroup("a", "b");
gap> # `F' was defined for `Relators'. We use the same strings that GAP uses
gap> # for printing the free group generators. It is *not* necessary to
gap> # predefine: a := F.1; etc. (as it was above).
gap> rels := [ "a^25", "[b, a, a]", "b^5" ];
[ "a^25", "[b, a, a]", "b^5" ]
gap> R := PqGAPRelators(F, rels);
[ a^25, a^-1*b^-1*a*b*a^-1*b^-1*a^-1*b*a^2, b^5 ]
gap> H := F / R;
gap> Pq( H : Prime := 5, ClassBound := 5, Metabelian,
> Relators := rels );
gap>
gap> # Above we could have just passed `F' (rather than `H'):
gap> F := FreeGroup("a", "b");
gap> rels := [ "a^25", "[b, a, a]", "b^5" ];
[ "a^25", "[b, a, a]", "b^5" ]
gap> Pq( F : Prime := 5, ClassBound := 5, Metabelian,
> Relators := rels );
gap> # Executing interactive variant of example: "Pq"
gap> ##Example: "Pq" . . . based on manual example illustrating `Pq' usage
gap> F := FreeGroup("a", "b"); a := F.1; b := F.2;
a
b
gap> procId1 := PqStart( F );
1
gap> Pq( procId1 : Prime := 2, ClassBound := 3 );
gap>
gap> # Now let us get a p-quotient of an fp group
gap> G := F / [a^4, b^4];
gap> procId2 := PqStart( G );
2
gap> Pq( procId2 : Prime := 2, ClassBound := 3 );