# SageMathCell online --> https://sagecell.sagemath.org/?q=gdqigr # # ''' Main properties of the graph Z9x16Z117 | Ord.: 1053 / Size: 7371 / Diam.: 3 / Avg.dist: 2.80038 / 14-reg.? True / Girth: 5 Z3x337Z344 | Ord.: 1032 / Size: 7224 / Diam.: 3 / Avg.dist: 2.79825 / 14-reg.? True / Girth: 3 Symmetry properties of the graph Z9x16Z117 | Aut.group.ord.: 1053 / Cayley ? True --- vtx.trans. ? True -- edge.trans. ? False Z3x337Z344 | Aut.group.ord.: 1032 / Cayley ? True --- vtx.trans. ? True -- edge.trans. ? False Degree histogram Z9x16Z117 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053] Degree histogram Z3x337Z344 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1032] Automorphism group structure C_n is the cyclic group of order n; x means direct product; : means semidirect product. Z9x16Z117 : C13 : (C9 : C9) | center order: 9 Z3x337Z344 : C8 x (C43 : C3) | center order: 8 Z9x16Z117 distance distrib from vtx. 0: [1, 14, 182, 856] Z3x337Z344 distance distrib from vtx. 0: [1, 14, 180, 837] ''' import networkx as nx Z9x16Z117 = Graph(r":~?O\`t@S@[@p`T@\@q`U@]@r`V@^@s_?@W@__@@X@`_A@Y@a_B@Z@b_C@[@c_D@\@d_E@]@e_F@^@f_G@_@g_H@`@h_I@a@i_J@b@j_K@c@k_L@d@l_M@e@m_N@f@n_O@g@o_P@h@p_Q@i@q_R@j@r_S@k@s_??T@l_@?U@m_A?V@n_B?W@o_C?X@p_D?Y@q_E?Z@r_F?[@s_??G?\_@?H?]_A?I?^_B?J?__C?K?`_D?L?a_E?M?b_F?N?c_G?O?d_H?P?e_I?Q?f_J?R?g_K?S?h_L?T?i_M?U?j_N?V?k_O?W?l_P?X?m_Q?Y?n_R?Z?o_S?[?p_T?\?q_U?]?r_V?^?s_W?_?t_X?`?u_Y?a?v_Z?b?w_[?c?x_\?d?y_]?e?z_^?f?{__?g?|_`?h?}_a?i?~_b?j@?_c?k@@_d?l@A_e?m@B_f?n@C_g?o@D_h?p@E_i?q@F_j?r@G_k?s@H_l?t@I_m?u@J_n?v@K_o?w@L_p?x@M_q?y@N_r?z@O_s?{@P_t?|@Q_u?}@R_v?~@S_w@?@T_x@@@U_y@A@V_z@B@W_{@C@X_|@D@Y_}@E@Z_~@F@[`?@G@\`@@H@]`A@I@^`B@J@_`C@K@``D@L@a`E@M@b`F@N@c`G@O@d`H@P@e`I@Q@f`J@R@g`K@S@h`L@T@i`M@U@j`N@V@k`O@W@l`P@X@m`Q@Y@n`R@Z@o_T?kAiAmAx_U?lAjAnAy_V?mAkAoAz_W?nAlApA{_X?oAmAqA|_Y?pAnArA}_Z?qAoAsA~_[?rApAtB?_\?sAqAuB@_]?tArAvBA_^?uAsAwBB__?vAtAxBC_`?wAuAyBD_a?xAvAzBE_b?yAwA{BF_c?zAxA|BG_d?{AyA}BH_e?|AzA~BI_f?}A{B?BJ_g?~A|B@BK_h@?A}BABL_i@@A~BBBM_j@AB?BCBN_k@BB@BDBO_l@CBABEBP_m@DBBBFBQ_n@EBCBGBR_o@FBDBHBS_p@GBEBIBT_q@HBFBJBU_r@IBGBKBV_s@JBHBLBW_t@KBIBMBX_u@LBJBNBY_v@MBKBOBZ_w@NBLBPB[_x@OBMBQB\_y@PBNBRB]_z@QBOBSB^_{@RBPBTB__|@SBQBUB`_}@TBRBVBa_~@UBSBWBb`?@VBTBXBc`@@WBUBYBd`A@XBVBZBe`B@YBWB[Bf`C@ZBXB\Bg`D@[BYB]Bh`E@\@tBZB^`F@]@uB[B_`G@^@vB\B``H@_@wB]Ba`I@`@xB^Bb`J@a@yB_Bc`K@b@zB`Bd`L@c@{BaBe`M@d@|BbBf`N@e@}BcBg`O@f@~BdBh`P@g@tA?Be`Q@h@uA@Bf`R@i@vAABg`S@j@wABBh`T@k@t@xAC`U@l@u@yAD`V@m@v@zAE`W@n@w@{AF`X@o@x@|AG`Y@p@y@}AH`Z@q@z@~AI`[@r@{A?AJ`\@s@|A@AK_?@]@}AAAL_@@^@~ABAM_A@_A?ACAN_B@`A@ADAO_C@aAAAEAP_D@bABAFAQ_E@cACAGAR_F@dADAHAS_G@eAEAIAT_H@fAFAJAU_I@gAGAKAV_J@hAHALAW_K@iAIAMAX_L@jAJANAY_M@kAKAOAZ_N@lALAPA[_O@mAMAQA\_P@nANARA]_Q@oAOASA^_R@pAPATA__S@qAQAUA`_T@rARAVAa_U@sASAWAb_??VATAXAc_@?WAUAYAd_A?XAVAZAe_B?YAWA[Af_C?ZAXA\Ag_D?[AYA]Ah_E?\AZA^Ai_F?]A[A_Aj_G?^A\A`Ak_H?_A]AaAl_I?`A^AbAm_J?aA_AcAn_K?bA`AdAo_L?cAaAeAp_M?dAbAfAq_N?eAcAgAr_O?fAdAhAs_P?gAeAiAt_Q?hAfAjAu_R?iAgAkAv_S?jAhAlAw`vBZCFCLDF`wB[CGCMDG`xB\CHCNDH`yB]CICODI`zB^CJCPDJ`{B_CKCQDK`|B`CLCRDL`}BaCMCSDM`~BbCNCTDNa?BcCOCUDOa@BdCPCVDPaABeCQCWDQaBBfCRCXDRaCBgCSCYDSaDBhCTCZDT`tAECUC[DU`uAFCVC\DV`vAGCWC]DW`wAHCXC^DX`xAICYC_DY`yAJCZC`DZ`zAKC[CaD[`{ALC\CbD\`|AMC]CcD]`}ANBiC^Cd`~AOBjC_Cea?APBkC`Cfa@AQBlCaCgaAARBmCbChaBASBnCcCiaCATBoCdCjaDAUBpCeCkaEAVBqCfClaFAWBrCgCmaGAXBsChCnaHAYBtCiCoaIAZBuCjCpaJA[BvCkCqaKA\BwClCraLA]BxCmCsaMA^ByCnCtaNA_BzCoCuaOA`B{CpCvaPAaB|CqCwaQAbB}CrCxaRAcB~CsCyaSAdC?CtCzaTAeC@CuC{aUAfCACvC|aVAgCBCwC}aWAhCCCxC~aXAiCDCyD?aYAjCECzD@aZAkCFC{DAa[AlCGC|DBa\AmCHC}DCa]AnCIC~DDa^AoCJD?DEa_ApCKD@DFa`AqCLDADGaaArCMDBDHabAsCNDCDIacAtCODDDJadAuCPDEDKaeAvCQDFDLafAwCRDGDMagAxCSDHDNahAyCTDIDOaiAzCUDJDPajA{CVDKDQakA|CWDLDRalA}CXDMDSamA~CYDNDTanB?CZDODUaoB@C[DPDVapBAC\DQDWaqBBC]DRDXarBCC^DSDYasBDC_DTDZatBEC`DUD[auBFCaDVD\avBGCbDWD]awBHBiCcDXaxBIBjCdDYayBJBkCeDZazBKBlCfD[a{BLBmCgD\a|BMBnChD]a}BNBiBoCia~BOBjBpCjb?BPBkBqCkb@BQBlBrClbABRBmBsCmbBBSBnBtCnbCBTBoBuCobDBUBpBvCpbEBVBqBwCqbFBWBrBxCrbGBXBsByCsbHBYBtBzCtbIBZBuB{CubJB[BvB|CvbKB\BwB}CwbLB]BxB~CxbMB^ByC?CybNB_BzC@CzbOB`B{CAC{bPBaB|CBC|bQBbB}CCC}bRBcB~CDC~bSBdC?CED?bTBeC@CFD@bUBfCACGDAbVBgCBCHDBbWBhCCCIDC`tBXCDCJDD`uBYCECKDE`f@sCIDXErEzFO_?@gCJDYEsE{FP_@@hCKDZEtE|FQ_A@iCLD[EuE}FR_B@jCMD\D^EvE~_C@kCND]D_EwF?_D@lBiCOD`ExF@_E@mBjCPDaEyFA_F@nBkCQDbEzFB_G@oBlCRDcE{FC_H@pBmCSDdE|FD_I@qBnCTDeE}FE_J@rBoCUDfE~FF_K@sBpCVDgF?FG_??LBqCWDhF@FH_@?MBrCXDiFAFI_A?NBsCYDjFBFJ_B?OBtCZDkFCFK_C?PBuC[DlFDFL_D?QBvC\DmFEFM_E?RBwC]DnFFFN_F?SBxC^DoFGFO_G?TByC_DpFHFP_H?UBzC`DqFIFQ_I?VB{CaDrFJFR_J?WB|CbD^DsFK_K?XB}CcD_DtFL_L?YB~CdD`DuFM_M?ZC?CeDaDvFN_N?[C@CfDbDwFO_O?\CACgDcDxFP_P?]CBChDdDyFQ_Q?^CCCiDeDzFR_R?_CDCjD^DfD{_S?`CECkD_DgD|_T?aCFClD`DhD}_U?bCGCmDaDiD~_V?cCHCnDbDjE?_W?dCICoDcDkE@_X?eCJCpDdDlEA_Y?fCKCqDeDmEB_Z?gCLCrDfDnEC_[?hCMCsDgDoED_\?iCNCtDhDpEE_]?jCOCuDiDqEF_^?kCPCvDjDrEG__?lCQCwDkDsEH_`?mCRCxDlDtEI_a?nCSCyDmDuEJ_b?oCTCzDnDvEK_c?pCUC{DoDwEL_d?qCVC|DpDxEM_e?rCWC}DqDyEN_f?sCXC~DrDzEO_g?tCYD?DsD{EP_h?uCZD@DtD|EQ_i?vC[DADuD}ER_j?wC\DBDvD~ES_k?xC]DCDwE?ET_l?yC^DDDxE@EU_m?zC_DEDyEAEV_n?{C`DFDzEBEW_o?|CaDGD{ECEX_p?}CbDHD|EDEY_q?~CcDID}EEEZ_r@?CdDJD~EFE[_s@@CeDKE?EGE\_t@ACfDLE@EHE]_u@BCgDMEAEIE^_v@CChDNEBEJE__w@DCiDOECEKE`_x@ECjDPEDELEa_y@FCkDQEEEMEb_z@GClDREFENEc_{@HCmDSEGEOEd_|@ICnDTEHEPEe_}@JCoDUEIEQEf_~@KCpDVEJEREg`?@LCqDWEKESEh`@@MCrDXELETEi`A@NCsDYEMEUEj`B@OCtDZENEVEk`C@PCuD[EOEWEl`D@QCvD\EPEXEm`E@RCwD]EQEYEn`F@SBiCxEREZEo`G@TBjCyESE[Ep`H@UBkCzETE\Eq`I@VBlC{EUE]Er`J@WBmC|EVE^Es`K@XBnC}EWE_Et`L@YBoC~EXE`Eu`M@ZBpD?EYEaEv`N@[BqD@EZEbEw`O@\BrDAE[EcEx`P@]BsDBE\EdEy`Q@^BtDCE]EeEz`R@_BuDDE^EfE{`S@`BvDEE_EgE|`T@aBwDFE`EhE}`U@bBxDGEaEiE~`V@cByDHEbEjF?`W@dBzDIEcEkF@`X@eB{DJEdElFA`Y@fB|DKEeEmFB`Z@gB}DLEfEnFC`[@hB~DMEgEoFD`\@iC?DNEhEpFE`]@jC@DOEiEqFF`^@kCADPEjErFG`_@lCBDQEkEsFH``@mCCDRElEtFI`a@nCDDSEmEuFJ`b@oCEDTEnEvFK`c@pCFDUEoEwFL`d@qCGDVEpExFM`e@rCHDWEqEyFN_U@I@~BYDsEJGHGLGW_V@JA?BZDtEKGIGMGX_W@KA@B[DuELGJGNGY_X@LAAB\DvEMGKGOGZ_Y@MABB]DwENGLGPG[_Z@NACB^DxEOGMGQG\_[@OADB_DyEPGNGRG]_\@PAEB`DzEQGOGSG^_]@QAFBaD{ERGPGTG__^@RAGBbD|ESGQGUG`__@SAHBcD}ETGRGVGa_`@TAIBdD~EUGSGWGb_a@UAJBeE?EVGTGXGc_b@VAKBfE@EWGUGYGd_c@WALBgEAEXGVGZGe_d@XAMBhEBEYGWG[Gf_e@Y@tANECEZGXG\Gg_f@Z@uAOEDE[GYG]Gh_g@[@vAPEEE\GZG^Gi_h@\@wAQEFE]G[G_Gj_i@]@xAREGE^G\G`Gk_j@^@yASEHE_G]GaGl_k@_@zATEIE`G^GbGm_l@`@{AUEJEaG_GcGn_m@a@|AVEKEbG`GdGo_n@b@}AWELEcGaGeGp_o@c@~AXEMEdGbGfGq_p@dA?AYENEeGcGgGr_q@eA@AZEOEfGdGhGs_r@fAAA[EPEgGeGiGt_s@gABA\EQEhGfGjGu_t@hACA]EREiGgGkGv_u@iADA^ESEjGhGlGw_v@jAEA_ETEkGiGmGx_w@kAFA`EUElGjGnGy_x@lAGAaEVEmGkGoGz_y@mAHAbEWEnGlGpG{_z@nAIAcEXEoGmGqG|_{@oAJAdEYEpGnGrG}_|@pAKAeEZEqGoGsG~_}@qALAfE[ErGpGtH?_~@rAMAgE\EsGqGuH@`?@sANAhE]EtGrGvHA_?@@AOAiE^EuGsGwHB_@@AAPAjE_EvGtGxHC_A@BAQAkE`EwGuGyHD_B@CARAlEaExGvGzHE_C@DASAmEbEyGwG{HF_D@EATAnEcEzGxG|HG_E@FAUAoEdE{FSGyG}_F@GAVApEeE|FTGzG~_G@HAWAqEfE}FUG{H?_H@IAXArEgE~FVG|H@_I@JAYAsEhF?FWG}HA_J@KAZAtEiF@FXG~HB_K@LA[AuEjFAFYH?HC_L@MA\AvEkFBFZH@HD_M@NA]AwElFCF[HAHE_N@OA^AxEmFDF\HBHF_O@PA_AyEnFEF]HCHG_P@QA`AzEoFFFSF^HD_Q@RAaA{EpFGFTF_HE_R@SAbA|EqFHFUF`HF_S@TAcA}ErFIFVFaHG_T@UAdA~EsFJFSFWFb_U@VAeB?EtFKFTFXFc_V@WAfB@EuFLFUFYFd_W@XAgBAEvFMFVFZFe_X@YAhBBEwFNFWF[Ff_Y@ZAiBCExFOFXF\Fg_Z@[AjBDEyFPFYF]Fh_[@\AkBEEzFQFZF^Fi_\@]AlBFE{FRF[F_Fj_]@^AmBGD^E|F\F`Fk_^@_AnBHD_E}F]FaFl__@`AoBID`E~F^FbFm_`@aApBJDaF?F_FcFn_a@bAqBKDbF@F`FdFo_b@cArBLDcFAFaFeFp_c@dAsBMDdFBFbFfFq_d@eAtBNDeFCFcFgFr_e@fAuBODfFDFdFhFs_f@gAvBPDgFEFeFiFt_g@hAwBQDhFFFfFjFu_h@iAxBRDiFGFgFkFv_i@jAyBSDjFHFhFlFw_j@kAzBTDkFIFiFmFx_k@lA{BUDlFJFjFnFy_l@mA|BVDmFKFkFoFz_m@nA}BWDnFLFlFpF{_n@oA~BXDoFMFmFqF|_o@pB?BYDpFNFnFrF}_p@qB@BZDqFOFoFsF~_q@rBAB[DrFPFpFtG?_r@sBBB\DsFQFqFuG@_??sBCB]DtFRFrFvGA_@?tBDB^D^DuFsFwGB_A?uBEB_D_DvFtFxGC_B?vBFB`D`DwFuFyGD_C?wBGBaDaDxFvFzGE_D?xBHBbDbDyFwF{GF_E?yBIBcDcDzFxF|GG_F?zBJBdDdD{FyF}GH_G?{BKBeDeD|FzF~GI_H?|BLBfDfD}F{G?GJ_I?}BMBgDgD~F|G@GK_J?~BNBhDhE?F}GAGL_K@?@tBODiE@F~GBGM_L@@@uBPDjEAG?GCGN_M@A@vBQDkEBG@GDGO_N@B@wBRDlECGAGEGP_O@C@xBSDmEDGBGFGQ_P@D@yBTDnEEGCGGGR_Q@E@zBUDoEFGDGHGS_R@F@{BVDpEGGEGIGT_S@G@|BWDqEHGFGJGU_T@H@}BXDrEIGGGKGV`uABCTDHFUGyHeHkIe`vACCUDIFVGzHfHlIf`wADCVDJFWG{HgHmIg`xAECWDKFXG|HhHnIh`yAFCXDLFYG}HiHoIi`zAGCYDMFZG~HjHpIj`{AHCZDNF[H?HkHqIk`|AIC[DOF\H@HlHrIl`}AJC\DPF]HAHmHsIm`~AKC]DQF^HBHnHtIna?ALC^DRF_HCHoHuIoa@AMC_DSF`HDHpHvIpaAANC`DTFaHEHqHwIqaBAOCaDUFbHFHrHxIraCAPCbDVFcHGHsHyIsaDAQCcDWFSFdHtHzItaEARCdDXFTFeHuH{IuaFASCeDYFUFfHvH|IvaGATCfDZFVFgHwH}IwaHAUCgD[FWFhHxH~IxaIAVChD\FXFiHyI?IyaJAWCiD]FYFjHzI@IzaKAXBiCjFZFkH{IAI{aLAYBjCkF[FlH|IBI|aMAZBkClF\FmHHH}ICaNA[BlCmF]FnHIH~IDaOA\BmCnF^FoHJI?IEaPA]BnCoF_FpHKI@IFaQA^BoCpF`FqHLIAIGaRA_BpCqFaFrHMIBIHaSA`BqCrFbFsHNICIIaTAaBrCsFcFtHOIDIJaUAbBsCtFdFuHPIEIKaVAcBtCuFeFvHQIFILaWAdBuCvFfFwHRIGIMaXAeBvCwFgFxHSIHINaYAfBwCxFhFyHTIIIOaZAgBxCyFiFzHUIJIPa[AhByCzFjF{HVIKIQa\AiBzC{FkF|HWILIRa]AjB{C|FlF}HXIMISa^AkB|C}FmF~HYINITa_AlB}C~FnG?HZIOIUa`AmB~D?FoG@H[IPIVaaAnC?D@FpGAH\IQIWabAoC@DAFqGBH]IRIXacApCADBFrGCH^ISIYadAqCBDCFsGDH_ITIZaeArCCDDFtGEH`IUI[afAsCDDEFuGFHaIVI\agAtCEDFFvGGHbIWI]ahAuCFDGFwGHHcIXI^aiAvCGDHFxGIHdIYI_ajAwCHDIFyGJHeIZI`akAxCIDJFzGKHfI[IaalAyCJDKF{GLHgI\IbamAzCKDLF|GMHhI]IcanA{CLDMF}GNHiI^IdaoA|CMDNF~GOHjI_IeapA}CNDOG?GPHkI`IfaqA~CODPG@GQHlIaIgarB?CPDQGAGRHmIbIhasB@CQDRGBGSHnIcIiatBACRDSGCGTHoIdIjauBBCSDTGDGUHpIeIkavBCCTDUGEGVHqIfIlawBDCUDVGFGWHrIgImaxBECVDWGGGXHsIhInayBFCWDXGHGYHtIiIoazBGCXDYGIGZHuIjIpa{BHCYDZGJG[HvIkIqa|BICZD[GKG\HwIlIra}BJC[D\GLG]HxImIsa~BKC\D]GMG^HyInItb?BLBiC]GNG_HzIoIub@BMBjC^GOG`H{IpIvbABNBkC_GPGaH|IqIwbBBOBlC`GQGbH}IrIxbCBPBmCaGRGcH~IsIybDBQBnCbGSGdI?ItIzbEBRBoCcGTGeI@IuI{bFBSBpCdGUGfIAIvI|bGBTBqCeGVGgHHIBIwbHBUBrCfGWGhHIICIxbIBVBsCgGXGiHJIDIybJBWBtChGYGjHKIEIzbKBXBuCiGZGkHLIFI{bLBYBvCjG[GlHMIGI|bMBZBwCkG\GmHHHNIHbNB[BxClG]GnHIHOIIbOB\ByCmG^GoHJHPIJbPB]BzCnG_GpHKHQIKbQB^B{CoG`GqHLHRILbRB_B|CpGaGrHMHSIMbSB`B}CqGbGsHNHTINbTBaB~CrGcGtHOHUIObUBbC?CsGdGuHPHVIPbVBcC@CtGeGvHQHWIQbWBdCACuGfGwHRHXIRbXBeCBCvGgGxHSHYISbYBfCCCwGhGyHTHZITbZBgCDCxGiGzHUH[IUb[BhCECyGjG{HVH\IV`tB\CFCzGkG|HWH]IW`uB]CGC{GlG}HXH^IX`vB^CHC|GmG~HYH_IY`wB_CIC}GnH?HZH`IZ`xB`CJC~GoH@H[HaI[`yBaCKD?GpHAH\HbI\`zBbCLD@GqHBH]HcI]`{BcCMDAGrHCH^HdI^`|BdCNDBGsHDH_HeI_`}BeCODCGtHEH`HfI``~BfCPDDGuHFHaHgIaa?BgCQDEGvHGHbHhIba@BhCRDFFSGwHcHiIc`tAACSDGFTGxHdHjId_N@rByDTFEFRHhIwKQKYKn_O@sBzDUD^FFHiIxKRKZKo_??PB{DVD_FGHjIyKSK[Kp_@?QB|DWD`FHHkIzKTK\Kq_A?RB}DXDaFIHlI{I}KUK]_B?SB~DYDbFJHmI|I~KVK^_C?TC?DZDcFKHHHnJ?KWK__D?UC@D[DdFLHIHoJ@KXK`_E?VCAD\DeFMHJHpJAKYKa_F?WCBD]DfFNHKHqJBKZKb_G?XBiCCDgFOHLHrJCK[Kc_H?YBjCDDhFPHMHsJDK\Kd_I?ZBkCEDiFQHNHtJEK]Ke_J?[BlCFDjFRHOHuJFK^Kf_K?\BmCGD^DkHPHvJGK_Kg_L?]BnCHD_DlHQHwJHK`Kh_M?^BoCID`DmHRHxJIKaKi_N?_BpCJDaDnHSHyJJKbKj_O?`BqCKDbDoHTHzJKKcKk_P?aBrCLDcDpHUH{JLKdKl_Q?bBsCMDdDqHVH|JMKeKm_R?cBtCNDeDrHWH}JNKfKn_S?dBuCODfDsHXH~JOKgKo_T?eBvCPDgDtHYI?JPKhKp_U?fBwCQDhDuHZI@JQKiKq_V?gBxCRDiDvH[IAI}JRKj_W?hByCSDjDwH\IBI~JSKk_X?iBzCTDkDxH]ICJ?JTKl_Y?jB{CUDlDyH^IDJ@JUKm_Z?kB|CVDmDzH_IEJAJVKn_[?lB}CWDnD{H`IFJBJWKo_\?mB~CXDoD|HaIGJCJXKp_]?nC?CYDpD}HbIHJDJYKq_^?oC@CZDqD~HcIII}JEJZ__?pCAC[DrE?HdIJI~JFJ[_`?qCBC\DsE@HeIKJ?JGJ\_a?rCCC]DtEAHfILJ@JHJ]_b?sCDC^DuEBHgIMJAJIJ^_c?tCEC_DvECHhINJBJJJ__d?uCFC`DwEDHiIOJCJKJ`_e?vCGCaDxEEHjIPJDJLJa_f?wCHCbDyEFHkIQJEJMJb_g?xCICcDzEGHlIRJFJNJc_h?yCJCdD{EHHmISJGJOJd_i?zCKCeD|EIHnITJHJPJe_j?{CLCfD}EJHoIUJIJQJf_k?|CMCgD~EKHpIVJJJRJg_l?}CNChE?ELHqIWJKJSJh_m?~COCiE@EMHrIXJLJTJi_n@?CPCjEAENHsIYJMJUJj_o@@CQCkEBEOHtIZJNJVJk_p@ACRClECEPHuI[JOJWJl_q@BCSCmEDEQHvI\JPJXJm_r@CCTCnEEERHwI]JQJYJn_s@DCUCoEFESHxI^JRJZJo_t@ECVCpEGETHyI_JSJ[Jp_u@FCWCqEHEUHzI`JTJ\Jq_v@GCXCrEIEVH{IaJUJ]Jr_w@HCYCsEJEWH|IbJVJ^Js_x@ICZCtEKEXH}IcJWJ_Jt_y@JC[CuELEYH~IdJXJ`Ju_z@KC\CvEMEZI?IeJYJaJv_{@LC]CwENE[I@IfJZJbJw_|@MC^CxEOE\IAIgJ[JcJx_}@NC_CyEPE]IBIhJ\JdJy_~@OC`CzEQE^ICIiJ]JeJz`?@PCaC{ERE_IDIjJ^JfJ{`@@QCbC|ESE`IEIkJ_JgJ|`A@RCcC}ETEaIFIlJ`JhJ}`B@SCdC~EUEbIGImJaJiJ~`C@TCeD?EVEcIHInJbJjK?`D@UCfD@EWEdIIIoJcJkK@`E@VCgDAEXEeIJIpJdJlKA`F@WChDBEYEfIKIqJeJmKB`G@XCiDCEZEgILIrJfJnKC`H@YCjDDE[EhIMIsJgJoKD`I@ZCkDEE\EiINItJhJpKE`J@[ClDFE]EjIOIuJiJqKF`K@\CmDGE^EkIPIvJjJrKG`L@]CnDHE_ElIQIwJkJsKH`M@^CoDIE`EmIRIxJlJtKI`N@_CpDJEaEnISIyJmJuKJ`O@`CqDKEbEoITIzJnJvKK`P@aCrDLEcEpIUI{JoJwKL`Q@bCsDMEdEqIVI|JpJxKM`R@cCtDNEeErHHIWJqJyKN`S@dCuDOEfEsHIIXJrJzKO`T@eCvDPEgEtHJIYJsJ{KP`U@fCwDQEhEuHKIZJtJ|KQ`V@gCxDREiEvHLI[JuJ}KR`W@hCyDSEjEwHMI\JvJ~KS`X@iCzDTEkExHNI]JwK?KT`Y@jC{DUElEyHOI^JxK@KU`Z@kC|DVEmEzHPI_JyKAKV`[@lC}DWEnE{HQI`JzKBKW`\@mC~DXEoE|HRIaJ{KCKX`]@nD?DYEpE}HSIbJ|KDKY`^@oD@DZEqE~HTIcJ}KEKZ`_@pDAD[ErF?HUIdJ~KFK[``@qDBD\EsF@HVIeK?KGK\`a@rDCD]EtFAHWIfK@KHK]`b@sBiDDEuFBHXIgKAKIK^_?@cBjDEEvFCHYIhKBKJK__@@dBkDFEwFDHZIiKCKKK`_A@eBlDGExFEH[IjKDKLKa_B@fBmDHEyFFH\IkKEKMKb_C@gBnDIEzFGH]IlKFKNKc_D@hBoDJE{FHH^ImKGKOKd_E@iBpDKE|FIH_InKHKPKe_F@jBqDLE}FJH`IoKIKQKf_G@kBrDME~FKHaIpKJKRKg_H@lBsDNF?FLHbIqKKKSKh_I@mBtDOF@FMHcIrKLKTKi_J@nBuDPFAFNHdIsKMKUKj_K@oBvDQFBFOHeItKNKVKk_L@pBwDRFCFPHfIuKOKWKl_M@qBxDSFDFQHgIvKPKXKm_W@Q@W@zBIDtEhF]GxJRJiLgLkLv_X@R@X@{BJDuEiF^GyJSJjLhLlLw_Y@S@Y@|BKDvEjF_GzJTJkLiLmLx_Z@T@Z@}BLDwEkF`G{JUJlLjLnLy_[@U@[@~BMDxElFaG|JVJmLkLoLz_\@V@\A?BNDyEmFbG}JWJnLlLpL{_]@W@]A@BODzEnFcG~JXJoLmLqL|_^@X@^AABPD{EoFdH?JYJpLnLrL}__@Y@_ABBQD|EpFeH@JZJqLoLsL~_`@Z@`ACBRD}EqFfHAJ[JrLpLtM?_a@[@aADBSD~ErFgHBJ\JsLqLuM@_b@\@bAEBTE?EsFhHCJ]JtLrLvMA_c@]@cAFBUE@EtFiHDJ^JuLsLwMB_d@^@dAGBVEAEuFjHEJ_JvLtLxMC_e@_@eAHBWEBEvFkHFJ`JwLuLyMD_f@`@fAIBXECEwFlHGJaJxLvLzME_g@a@gAJBYEDExFSFmJbJyLwL{MF_h@b@hAKBZEEEyFTFnJcJzLxL|MG_i@c@iALB[EFEzFUFoJdJ{LyL}MH_j@d@jAMB\EGE{FVFpJeJ|LzL~MI_k@e@kANB]EHE|FWFqJfJ}L{M?MJ_l@f@lAOB^EIE}FXFrJgJ~L|M@MK_m@g@mAPB_EJE~FYFsJhK?L}MAML_n@h@nAQB`EKF?FZFtJiK@L~MBMM_o@i@oARBaELF@F[FuJjKAM?MCMN_p@j@pASBbEMFAF\FvJkKBM@MDMO_q@k@qATBcENFBF]FwJlKCMAMEMP_r@l@rAUBdEOFCF^FxJmKDMBMFMQ_s@m@sAVBeEPFDF_FyJnKEMCMGMR_??t@nAWBfEQFEF`FzJoKFMDMHMS_@?u@oAXBgERFFFaF{JpKGMEMIMT_A?v@pAYBhESFGFbF|JqKHMFMJMU_B?w@q@tAZETFHFcF}JrKIMGMKMV_C?x@r@uA[EUFIFdF~JsKJMHMLMW_D?y@s@vA\EVFJFeG?JtKKMIMMMX_??E?z@wA]EWFKFfG@JuKLMJMNMY_@?F?{@xA^EXFLFgGAJvKMMKMOMZ_A?G?|@yA_EYFMFhGBJwKNMLMPM[_B?H?}@zA`EZFNFiGCJxKOMMMQM\_C?I?~@{AaE[FOFjGDJyKPMNMRM]_D?J@?@|AbE\FPFkGEJzKQMOMSM^_E?K@@@}AcE]FQFlGFJ{KRMPMTM__F?L@A@~AdE^FRFmGGJ|KSMQMUM`_G?M@BA?AeD^E_FnGHJ}KTMRMVMa_H?N@CA@AfD_E`FoGIJ~KUMSMWMb_I?O@DAAAgD`EaFpGJK?KVMTMXMc_J?P@EABAhDaEbFqGKK@KWMUMYMd_K?Q@FACAiDbEcFrGLKAKXMVMZMe_L?R@GADAjDcEdFsGMKBKYMWM[Mf_M?S@HAEAkDdEeFtGNKCKZKrMXM\_N?T@IAFAlDeEfFuGOKDK[KsMYM]_O?U@JAGAmDfEgFvGPKEK\KtMZM^_P?V@KAHAnDgEhFwGQKFK]KuM[M__Q?W@LAIAoDhEiFxGRKGK^KvM\M`_R?X@MAJApDiEjFyGSKHK_KwM]Ma_S?Y@NAKAqDjEkFzGTKIK`KxM^Mb_T?Z@OALArDkElF{GUKJKaKyM_Mc_U?[@PAMAsDlEmF|GVKKKbKzM`Md_V?\@QANAtDmEnF}GWKLKcK{MaMe_W?]@RAOAuDnEoF~GXKMKdK|MbMf_X?^@SAPAvDoEpG?GYKNKeKrK}Mc_Y?_@TAQAwDpEqG@GZKOKfKsK~Md_Z?`@UARAxDqErGAG[KPKgKtL?Me_[?a@VASAyDrEsGBG\KQKhKuL@Mf_\?b@WATAzDsEtGCG]KRKiKrKvLA_]?c@XAUA{DtEuGDG^KSKjKsKwLB_^?d@YAVA|DuEvGEG_KTKkKtKxLC__?e@ZAWA}DvEwGFG`KUKlKuKyLD_`?f@[AXA~DwExGGGaKVKmKvKzLE_a?g@\AYB?DxEyGHGbKWKnKwK{LF_b?h@]AZB@DyEzGIGcKXKoKxK|LG_c?i@^A[BADzE{GJGdKYKpKyK}LH_d?j@_A\BBD{E|GKGeKZKqKzK~LI_e?k@`A]BCD|E}GLGfI}K[K{L?LJ_f?l@aA^BDD}E~GMGgI~K\K|L@LK_g?m@bA_BED~F?GNGhJ?K]K}LALL_h?n@cA`BFE?F@GOGiJ@K^K~LBLM_i?o@dAaBGE@FAGPGjJAK_L?LCLN_j?p@eAbBHEAFBGQGkJBK`L@LDLO_k?q@fAcBIEBFCGRGlJCKaLALELP_l?r@gAdBJECFDGSGmJDKbLBLFLQ_m?s@hAeBKEDFEGTGnJEKcLCLGLR_n?t@iAfBLEEFFGUGoJFKdLDLHLS_o?u@jAgBMEFFGGVGpJGKeLELILT_p?v@kAhBNEGFHGWGqJHKfLFLJLU_q?w@lAiBOEHFIGXGrJIKgLGLKLV_r?x@mAjBPEIFJGYGsJJKhLHLLLW_s?y@nAkBQEJFKGZGtJKKiLILMLX_t?z@oAlBREKFLG[GuJLKjLJLNLY_u?{@pAmBSELFMG\GvJMKkLKLOLZ_v?|@qAnBTEMFNG]GwJNKlLLLPL[_w?}@rAoBUENFOG^GxJOKmLMLQL\_x?~@sApBVEOFPG_GyJPKnLNLRL]_??y@?AqBWEPFQG`GzJQKoLOLSL^_@?z@@ArBXEQFRGaG{JRKpLPLTL__A?{@AAsBYD^ERGbG|JSKqLQLUL`_B?|@BAtBZD_ESGcG}I}JTLRLVLa_C?}@CAuB[D`ETGdG~I~JULSLWLb_D?~@DAvB\DaEUGeH?J?JVLTLXLc_E@?@EAwB]DbEVGfH@J@JWLULYLd_F@@@FAxB^DcEWGgHAJAJXLVLZLe_G@A@GAyB_DdEXGhHBJBJYLWL[Lf_H@B@HAzB`DeEYGiHCJCJZLXL\Lg_I@C@IA{BaDfEZGjHDJDJ[LYL]Lh_J@D@JA|BbDgE[GkHEJEJ\LZL^Li_K@E@KA}BcDhE\GlHFJFJ]L[L_Lj_L@F@LA~BdDiE]GmHGJGJ^L\L`Lk_M@G@MB?BeDjE^FSGnJHJ_L]LaLl_N@H@NB@BfDkE_FTGoJIJ`L^LbLm_O@I@OBABgDlE`FUGpJJJaL_LcLn_P@J@PBBBhDmEaFVGqJKJbL`LdLo_Q@K@Q@tBCDnEbFWGrJLJcLaLeLp_R@L@R@uBDDoEcFXGsJMJdLbLfLq_S@M@S@vBEDpEdFYGtJNJeLcLgLr_T@N@T@wBFDqEeFZGuJOJfLdLhLs_U@O@U@xBGDrEfF[GvJPJgLeLiLt_V@P@V@yBHDsEgF\GwJQJhLfLjLu") Z3x337Z344 =Graph(r":~?OGdW@{@|AWAZBnC@Cl`|@}AXA[BoCACm`}@~AYA\BpCBCn`~A?AZA]BqCCCoa?A@A[A^BrCDCpa@AAA\A_BsCECqaAABA]A`BtCFCraBACA^AaBuCGCsaCADA_AbBvCHCtaDAEA`AcBwCICuaEAFAaAdBxCJCvaFAGAbAeByCKCwaGAHAcAfBzCLCxaHAIAdAgB{CMCyaIAJAeAhB|CNCzaJAKAfAiB}COC{aKALAgAjB~CPC|aLAMAhAkC?CQC}aMANAiAlC@CRC~aNAOAjAmCACSD?aOAPAkAnCBCTD@aPAQAlAoCCCUDAaQARAmApCDCVDBaRASAnAqCECWDCaSATAoArCFCXDDaTAUApAsCGCYDEaUAVAqAtCHCZDFaVAWArAuCIC[DGaWAXAsAvCJC\DHaXAYAtAwCKC]DIaYAZAuAxCLC^DJaZA[AvAyCMC_DKa[A\AwAzCNC`DLa\A]AxA{COCaDMa]A^AyA|CPCbDNa^A_AzA}CQCcDOa_A`A{A~CRCdDPa`AaA|B?CSCeDQaaAbA}B@CTCfDRabAcA~BACUCgDSacAdB?BBCVChDTadAeB@BCCWCiDUaeAfBABDCXCjDV_?AfAgBBBECYCk_@AgAhBCBFCZCl_AAhAiBDBGC[Cm_BAiAjBEBHC\Cn_CAjAkBFBIC]Co_DAkAlBGBJC^Cp_EAlAmBHBKC_Cq_FAmAnBIBLC`Cr_GAnAoBJBMCaCs_HAoApBKBNCbCt_IApAqBLBOCcCu_JAqArBMBPCdCv_KArAsBNBQCeCw_LAsAtBOBRCfCx_MAtAuBPBSCgCy_NAuAvBQBTChCz_OAvAwBRBUCiC{_PAwAxBSBVCjC|_QAxAyBTBWCkC}_RAyAzBUBXClC~_SAzA{BVBYCmD?_TA{A|BWBZCnD@_UA|A}BXB[CoDA_VA}A~BYB\CpDB_WA~B?BZB]CqDC_XB?B@B[B^CrDD_YB@BAB\B_CsDE_ZBABBB]B`CtDF_[BBBCB^BaCuDG_\BCBDB_BbCvDH_]BDBEB`BcCwDI_^BEBFBaBdCxDJ__BFBGBbBeCyDK_`BGBHBcBfCzDL_aBHBIBdBgC{DM_bBIBJBeBhC|DN_cBJBKBfBiC}DO_dBKBLBgBjC~DP_eBLBMBhBkD?DQ_fBMBNBiBlD@DR_gBNBOBjBmDADS_hBOBPBkBnDBDT_iBPBQBlBoDCDU_jBQBRBmBpDDDV_??kBRBSBnBqDE_@?lBSBTBoBrDF_A?mBTBUBpBsDG_B?nBUBVBqBtDH_C?oBVBWBrBuDI_D?pBWBXBsBvDJ_E?qBXBYBtBwDK_F?rBYBZBuBxDL_G?sBZB[BvByDM_H?tB[B\BwBzDN_I?uB\B]BxB{DO_J?vB]B^ByB|DP_K?wB^B_BzB}DQ_L?xB_B`B{B~DR_M?yB`BaB|C?DS_N?zBaBbB}C@DT_O?{BbBcB~CADU_P?|BcBdC?CBDV_??Q?}BdBeC@CC_@?R?~BeBfCACD_A?S@?BfBgCBCE_B?T@@BgBhCCCF_C?U@ABhBiCDCG_D?V@BBiBjCECH_E?W@CBjBkCFCI_F?X@DBkBlCGCJ_G?Y@EBlBmCHCK_H?Z@FBmBnCICL_I?[@GBnBoCJCM_J?\@HBoBpCKCN_K?]@IBpBqCLCO_L?^@JBqBrCMCP_M?_@KBrBsCNCQ_N?`@LBsBtCOCR_O?a@MBtBuCPCS_P?b@NBuBvCQCT_Q?c@OBvBwCRCU_R?d@PBwBxCSCV_S?e@QBxByCTCW_T?f@RByBzCUCX_U?g@SBzB{CVCY_V?h@TB{B|CWCZ_W?i@UB|B}CXC[_X?j@VB}B~CYC\_Y?k@WB~C?CZC]_Z?l@XC?C@C[C^_[?m@YC@CAC\C__\?n@ZCACBC]C`_]?o@[CBCCC^Ca_^?p@\CCCDC_Cb__?q@]CDCEC`Cc_`?r@^CECFCaCd_a?s@_CFCGCbCe_b?t@`CGCHCcCf_c?u@aCHCICdCg_d?v@bCICJCeCh_e?w@cCJCKCfCi_f?x@dCKCLCgCj_g?y@eCLCMChCk_h?z@fCMCNCiCl_i?{@gCNCOCjCm_j?|@hCOCPCkCn_k?}@iCPCQClCo_l?~@jCQCRCmCp_m@?@kCRCSCnCq_n@@@lCSCTCoCr_o@A@mCTCUCpCs_p@B@nCUCVCqCt_q@C@oCVCWCrCu_r@D@pCWCXCsCv_s@E@qCXCYCtCw_t@F@rCYCZCuCx_u@G@sCZC[CvCy_v@H@tC[C\CwCz_w@I@uC\C]CxC{_x@J@vC]C^CyC|_y@K@wC^C_CzC}_z@L@xC_C`C{C~_{@M@yC`CaC|D?_|@N@zCaCbC}D@_}@O@{CbCcC~DA_~@P@|CcCdD?DB`?@Q@}CdCeD@DC`@@R@~CeCfDADD`A@SA?CfCgDBDE`B@TA@CgChDCDF`C@UAAChCiDDDG`D@VABCiCjDEDH`E@WACCjCkDFDI`F@XADCkClDGDJ`G@YAEClCmDHDK`H@ZAFCmCnDIDL`I@[AGCnCoDJDM`J@\AHCoCpDKDN`K@]AICpCqDLDO`L@^AJCqCrDMDP`M@_AKCrCsDNDQ`N@`ALCsCtDODR`O@aAMCtCuDPDS`P@bANCuCvDQDT`Q@cAOCvCwDRDU`R@dAPCwCxDSDV_?@S@eAQCxCyDT_@@T@fARCyCzDU_A@U@gASCzC{DV_??B@V@hATC{C|_@?C@W@iAUC|C}_A?D@X@jAVC}C~_B?E@Y@kAWC~D?_C?F@Z@lAXD?D@_D?G@[@mAYD@DA_E?H@\@nAZDADB_F?I@]@oA[DBDC_G?J@^@pA\DCDD_H?K@_@qA]DDDE_I?L@`@rA^DEDF_J?M@a@sA_DFDG_K?N@b@tA`DGDH_L?O@c@uAaDHDI_M?P@d@vAbDIDJ_N?Q@e@wAcDJDK_O?R@f@xAdDKDL_P?S@g@yAeDLDM_Q?T@h@zAfDMDN_R?U@i@{AgDNDO_S?V@j@|AhDODP_T?W@k@}AiDPDQ_U?X@l@~AjDQDR_V?Y@mA?AkDRDS_W?Z@nA@AlDSDT_X?[@oAAAmDTDU_Y?\@pABAnDUDV_??Z?]@qACAoDV_??@?[?^@rADAp_@?A?\?_@sAEAq_A?B?]?`@tAFAr_B?C?^?a@uAGAs_C?D?_?b@vAHAt_D?E?`?c@wAIAu_E?F?a?d@xAJAv_F?G?b?e@yAKAw_G?H?c?f@zALAx_H?I?d?g@{AMAy_I?J?e?h@|ANAz_J?K?f?i@}AOA{_K?L?g?j@~APA|_L?M?h?kA?AQA}_M?N?i?lA@ARA~_N?O?j?mAAASB?_O?P?k?nABATB@_P?Q?l?oACAUBA_Q?R?m?pADAVBB_R?S?n?qAEAWBC_S?T?o?rAFAXBD_T?U?p?sAGAYBE_U?V?q?tAHAZBF_V?W?r?uAIA[BG_W?X?s?vAJA\BH_X?Y?t?wAKA]BI_Y?Z?u?xALA^BJ_Z?[?v?yAMA_BK_[?\?w?zANA`BL_\?]?x?{AOAaBM_]?^?y?|APAbBN_^?_?z?}AQAcBO__?`?{?~ARAdBP_`?a?|@?ASAeBQ_a?b?}@@ATAfBR_b?c?~@AAUAgBS_c?d@?@BAVAhBT_d?e@@@CAWAiBU_e?f@A@DAXAjBV_f?g@B@EAYAkBW_g?h@C@FAZAlBX_h?i@D@GA[AmBY_i?j@E@HA\AnBZ_j?k@F@IA]AoB[_k?l@G@JA^ApB\_l?m@H@KA_AqB]_m?n@I@LA`ArB^_n?o@J@MAaAsB__o?p@K@NAbAtB`_p?q@L@OAcAuBa_q?r@M@PAdAvBb_r?s@N@QAeAwBc_s?t@O@RAfAxBd_t?u@P@SAgAyBe_u?v@Q@TAhAzBf_v?w@R@UAiA{Bg_w?x@S@VAjA|Bh_x?y@T@WAkA}Bi_y?z@U@XAlA~Bj_z?{@V@YAmB?Bk_{?|@W@ZAnB@Bl_|?}@X@[AoBABm_}?~@Y@\ApBBBn_~@?@Z@]AqBCBo`?@@@[@^ArBDBp`@@A@\@_AsBEBq`A@B@]@`AtBFBr`B@C@^@aAuBGBs`C@D@_@bAvBHBt`D@E@`@cAwBIBu`E@F@a@dAxBJBv`F@G@b@eAyBKBw`G@H@c@fAzBLBx`H@I@d@gA{BMBy`I@J@e@hA|BNBz`J@K@f@iA}BOB{`K@L@g@jA~BPB|`L@M@h@kB?BQB}`M@N@i@lB@BRB~`N@O@j@mBABSC?`O@P@k@nBBBTC@`P@Q@l@oBCBUCA`Q@R@m@pBDBVCB`R@S@n@qBEBWCC`S@T@o@rBFBXCD`T@U@p@sBGBYCE`U@V@q@tBHBZCF`V@W@r@uBIB[CG`W@X@s@vBJB\CH`X@Y@t@wBKB]CI`Y@Z@u@xBLB^CJ`Z@[@v@yBMB_CK`[@\@w@zBNB`CL`\@]@x@{BOBaCM`]@^@y@|BPBbCN`^@_@z@}BQBcCO`_@`@{@~BRBdCP``@a@|A?BSBeCQ`a@b@}A@BTBfCR`b@c@~AABUBgCS`c@dA?ABBVBhCT`d@eA@ACBWBiCU`e@fAAADBXBjCV`f@gABAEBYBkCW`g@hACAFBZBlCX`h@iADAGB[BmCY`i@jAEAHB\BnCZ`j@kAFAIB]BoC[`k@lAGAJB^BpC\`l@mAHAKB_BqC]`m@nAIALB`BrC^`n@oAJAMBaBsC_`o@pAKANBbBtC``p@qALAOBcBuCa`q@rAMAPBdBvCb`r@sANAQBeBwCc`s@tAOARBfBxCd`t@uAPASBgByCe`u@vAQATBhBzCf`v@wARAUBiB{Cg`w@xASAVBjB|Ch`x@yATAWBkB}Ci`y@zAUAXBlB~Cj`z@{AVAYBmC?Ck_j@B@s@wAFC|DHEFFtF{H`HzIDIO_k@C@t@xAGC}DIEGFuF|HaH{IEIP_l@D@u@yAHC~DJEHFvF}HbH|IFIQ_m@E@v@zAID?DKEIFwF~HcH}IGIR_n@F@w@{AJD@DLEJFxG?HdH~IHIS_o@G@x@|AKDADMEKFyG@HeI?IIIT_p@H@y@}ALDBDNELFzGAHfI@IJIU_q@I@z@~AMDCDOEMF{GBHgIAIKIV_r@J@{A?ANDDDPENF|GCHhIBILIW_s@K@|A@AODEDQEOF}GDHiICIMIX_t@L@}AAAPDFDREPF~GEHjIDINIY_u@M@~ABAQDGDSEQG?GFHkIEIOIZ_v@NA?ACARDHDTERG@GGHlIFIPI[_w@OA@ADASDIDUESGAGHHmIGIQI\_x@PAAAEATDJDVETGBGIHnIHIRI]_??y@QABAFAUDKEUGCGJHoIIISI^_@?z@RACAGAVDLEVGDGKHpIJITI__A?{@SADAHAWDMEWGEGLHqIKIUI`_B?|@TAEAIAXDNEXGFGMHrILIVIa_C?}@UAFAJAYDOEYGGGNHsIMIWIb_D?~@VAGAKAZDPEZGHGOHtINIXIc_E@?@WAHALA[DQE[GIGPHuIOIYId_F@@@XAIAMA\DRE\GJGQHvIPIZIe_G@A@YAJANA]DSE]GKGRHwIQI[If_H@B@ZAKAOA^DTE^GLGSHxIRI\Ig_I@C@[ALAPA_DUE_GMGTHyISI]Ih_J@D@\AMAQA`DVE`GNGUHzITI^Ii_??K@E@]ANARAaEaGOGVH{IUI_Ij_@?L@F@^AOASAbEbGPGWH|IVI`Ik_A?M@G@_APATAcEcGQGXH}IWIaIl_B?N@H@`AQAUAdEdGRGYH~IXIbIm_C?O@I@aARAVAeEeGSGZI?IYIcIn_D?P@J@bASAWAfDWEfGTG[I@IZId_E?Q@K@cATAXAgDXEgGUG\IAI[Ie_F?R@L@dAUAYAhDYEhGVG]IBI\If_G?S@M@eAVAZAiDZEiGWG^ICI]Ig_H?T@N@fAWA[AjD[EjGXG_IDI^Ih_I?U@O@gAXA\AkD\EkGYG`IEI_Ii_J?V@P@hAYA]AlD]ElGZGaIFI`Ij_K?W@Q@iAZA^AmD^EmG[GbIGIaIk_L?X@R@jA[A_AnD_EnG\GcIHIbIl_M?Y@S@kA\A`AoD`EoG]GdIIIcIm_N?Z@T@lA]AaApDaEpG^GeIJIdIn_O?[@U@mA^AbAqDWDbEqG_GfIKIe_P?\@V@nA_AcArDXDcErG`GgILIf_Q?]@W@oA`AdAsDYDdEsGaGhIMIg_R?^@X@pAaAeAtDZDeEtGbGiINIh_S?_@Y@qAbAfAuD[DfEuGcGjIOIi_T?`@Z@rAcAgAvD\DgEvGdGkIPIj_U?a@[@sAdAhAwD]DhEwGeGlIQIk_V?b@\@tAeAiAxD^DiExGfGmIRIl_W?c@]@uAfAjAyD_DjEyGgGnISIm_X?d@^@vAgAkAzD`DkEzGhGoITIn_Y?e@_@wAhAlA{DWDaDlE{GiGpIU_Z?f@`@xAiAmA|DXDbDmE|GjGqIV_[?g@a@yAjAnA}DYDcDnE}GkGrIW_\?h@b@zAkAoA~DZDdDoE~GlGsIX_]?i@c@{AlApB?D[DeDpF?GmGtIY_^?j@d@|AmAqB@D\DfDqF@GnGuIZ__?k@e@}AnArBAD]DgDrFAGoGvI[_`?l@f@~AoAsBBD^DhDsFBGpGwI\_a?m@gA?ApAtBCD_DiDtFCGqGxI]_b?n@hA@AqAuBDD`DjDuFDGrGyI^_c?o@iAAArAvBEDaDkDvFEGsGzI__d?p@jABAsAwBFDbDlDwFFGtG{I`_e?q@kACAtAxBGDcDmDxFGGuG|Ia_f?r@lADAuAyBHDdDnDyFHGvG}Ib_g?s@mAEAvAzBIDeDoDzFIGwG~Ic_h?t@nAFAwA{BJDfDpD{FJGxH?Id_i?u@oAGAxA|BKDgDqD|FKGyH@Ie_j?v@pAHAyA}BLDhDrD}FLGzHAIf_k?w@qAIAzA~BMDiDsD~FMG{HBIg_l?x@rAJA{B?BNDjDtE?FNG|HCIh_m?y@sAKA|B@BODkDuE@FOG}HDIi_n?z@tALA}BABPDlDvEAFPG~HEIj_o?{@uAMA~BBBQDmDwEBFQH?HFIk_p?|@vANB?BCBRDnDxECFRH@HGIl_q?}@wAOB@BDBSDoDyEDFSHAHHIm_r?~@xAPBABEBTDpDzEEFTHBHIIn_s@?@yAQBBBFBUDWDqD{EFFUHCHJ_t@@@zARBCBGBVDXDrD|EGFVHDHK_u@A@{ASBDBHBWDYDsD}EHFWHEHL_v@B@|ATBEBIBXDZDtD~EIFXHFHM_w@C@}AUBFBJBYD[DuE?EJFYHGHN_x@D@~AVBGBKBZD\DvE@EKFZHHHO_y@EA?AWBHBLB[D]DwEAELF[HIHP_z@FA@AXBIBMB\D^DxEBEMF\HJHQ_{@GAAAYBJBNB]D_DyECENF]HKHR_|@HABAZBKBOB^D`DzEDEOF^HLHS_}@IACA[BLBPB_DaD{EEEPF_HMHT_~@JADA\BMBQB`DbD|EFEQF`HNHU`?@KAEA]BNBRBaDcD}EGERFaHOHV`@@LAFA^BOBSBbDdD~EHESFbHPHW`A@MAGA_BPBTBcDeE?EIETFcHQHX`B@NAHA`BQBUBdDfE@EJEUFdHRHY`C@OAIAaBRBVBeDgEAEKEVFeHSHZ`D@PAJAbBSBWBfDhEBELEWFfHTH[`E@QAKAcBTBXBgDiECEMEXFgHUH\`F@RALAdBUBYBhDjEDENEYFhHVH]`G@SAMAeBVBZBiDkEEEOEZFiHWH^`H@TANAfBWB[BjDlEFEPE[FjHXH_`I@UAOAgBXB\BkDmEGEQE\FkHYH``J@VAPAhBYB]BlDnEHERE]FlHZHa`K@WAQAiBZB^BmDoEIESE^FmH[Hb`L@XARAjB[B_BnDpEJETE_FnH\Hc`M@YASAkB\B`BoDqEKEUE`FoH]Hd`N@ZATAlB]BaBpDrELEVEaFpH^He`O@[AUAmB^BbBqDsEMEWEbFqH_Hf`P@\AVAnB_BcBrDtENEXEcFrH`Hg`Q@]AWAoB`BdBsDuEOEYEdFsHaHh`R@^AXApBaBeBtDvEPEZEeFtHbHi`S@_AYAqBbBfBuDwEQE[EfFuHcHj`T@`AZArBcBgBvDxERE\EgFvHdHk`U@aA[AsBdBhBwDyESE]EhFwHeHl`V@bA\AtBeBiBxDzETE^EiFxHfHm`W@cA]AuBfBjByD{EUE_EjFyHgHn`X@dA^AvBgBkBzD|EVE`EkFzHhHo`Y@eA_AwBhBlB{D}EWEaElF{HiHp`Z@fA`AxBiBmB|D~EXEbEmF|HjHq`[@gAaAyBjBnB}E?EYEcEnF}HkHr`\@hAbAzBkBoB~E@EZEdEoF~HlHs`]@iAcA{BlBpC?EAE[EeEpG?HmHt`^@jAdA|BmBqC@EBE\EfEqG@HnHu`_@kAeA}BnBrCAECE]EgErGAHoHv``@lAfA~BoBsCBEDE^EhEsGBHpHw`a@mAgB?BpBtCCEEE_EiEtGCHqHx`b@nAhB@BqBuCDEFE`EjEuGDHrHy`c@oAiBABrBvCEEGEaEkEvGEHsHz`d@pAjBBBsBwCFEHEbElEwGFHtH{`e@qAkBCBtBxCGEIEcEmExGGHuH|`f@rAlBDBuByCHEJEdEnEyGHHvH}`g@sAmBEBvBzCIEKEeEoEzGIHwH~`h@tAnBFBwB{CJELEfEpE{GJHxI?`i@uAoBGBxB|CKEMEgEqE|GKHyI@`j@vApBHByB}CLENEhErE}GLHzIA`k@wAqBIBzB~CMEOEiEsE~GMH{IB`l@xArBJB{C?CNEPEjEtF?GNH|IC`m@yAsBKB|C@COEQEkEuF@GOH}ID`n@zAtBLB}CACPERElEvFAGPH~IE`o@{AuBMB~CBCQESEmEwFBGQI?IF`p@|AvBNC?CCCRETEnExFCGRI@IG`q@}AwBOC@CDCSEUEoEyFDGSIAIH`r@~AxBPCACECTEVEpEzFEGTIBII`sA?AyBQCBCFCUEWEqE{FFGUICIJ`tA@AzBRCCCGCVEXErE|FGGVIDIK`uAAA{BSCDCHCWEYEsE}FHGWIEIL`vABA|BTCECICXEZEtE~FIGXIFIM`wACA}BUCFCJCYE[EuF?FJGYIGIN`xADA~BVCGCKCZE\EvF@FKGZIHIO`yAEB?BWCHCLC[E]EwFAFLG[IIIP`zAFB@BXCICMC\E^ExFBFMG\IJIQ`{AGBABYCJCNC]E_EyFCFNG]IKIR`|AHBBBZCKCOC^E`EzFDFOG^ILIS`}AIBCB[CLCPC_EaE{FEFPG_IMIT`~AJBDB\CMCQC`EbE|FFFQG`INIUa?AKBEB]CNCRCaEcE}FGFRGaIOIVa@ALBFB^COCSCbEdE~FHFSGbIPIWaAAMBGB_CPCTCcEeF?FIFTGcIQIXaBANBHB`CQCUCdEfF@FJFUGdIRIYaCAOBIBaCRCVCeEgFAFKFVGeISIZaDAPBJBbCSCWCfEhFBFLFWGfITI[aEAQBKBcCTCXCgEiFCFMFXGgIUI\aFARBLBdCUCYChEjFDFNFYGhIVI]aGASBMBeCVCZCiEkFEFOFZGiIWI^aHATBNBfCWC[CjElFFFPF[GjIXI_aIAUBOBgCXC\CkEmFGFQF\GkIYI`aJAVBPBhCYC]ClEnFHFRF]GlIZIaaKAWBQBiCZC^CmEoFIFSF^GmI[IbaLAXBRBjC[C_CnEpFJFTF_GnI\IcaMAYBSBkC\C`CoEqFKFUF`GoI]IdaNAZBTBlC]CaCpErFLFVFaGpI^IeaOA[BUBmC^CbCqEsFMFWFbGqI_IfaPA\BVBnC_CcCrEtFNFXFcGrI`IgaQA]BWBoC`CdCsEuFOFYFdGsIaIhaRA^BXBpCaCeCtEvFPFZFeGtIbIiaSA_BYBqCbCfCuEwFQF[FfGuIcIjaTA`BZBrCcCgCvExFRF\FgGvIdIkaUAaB[BsCdChCwEyFSF]FhGwIeIlaVAbB\BtCeCiCxEzFTF^FiGxIfImaWAcB]BuCfCjCyE{FUF_FjGyIgInaXAdB^BvCgCkCzDWE|FVF`FkGzIhaYAeB_BwChClC{DXE}FWFaFlG{IiaZAfB`BxCiCmC|DYE~FXFbFmG|Ija[AgBaByCjCnC}DZF?FYFcFnG}Ika\AhBbBzCkCoC~D[F@FZFdFoG~Ila]AiBcB{ClCpD?D\FAF[FeFpH?Ima^AjBdB|CmCqD@D]FBF\FfFqH@Ina_AkBeB}CnCrDADWD^FCF]FgFrHAa`AlBfB~CoCsDBDXD_FDF^FhFsHBaaAmBgC?CpCtDCDYD`FEF_FiFtHCabAnBhC@CqCuDDDZDaFFF`FjFuHDacAoBiCACrCvDED[DbFGFaFkFvHEadApBjCBCsCwDFD\DcFHFbFlFwHFaeAqBkCCCtCxDGD]DdFIFcFmFxHGafArBlCDCuCyDHD^DeFJFdFnFyHHagAsBmCECvCzDID_DfFKFeFoFzHIahAtBnCFCwC{DJD`DgFLFfFpF{HJaiAuBoCGCxC|DKDaDhFMFgFqF|HKajAvBpCHCyC}DLDbDiFNFhFrF}HLakAwBqCICzC~DMDcDjFOFiFsF~HMalAxBrCJC{D?DNDdDkFPFjFtG?HNamAyBsCKC|D@DODeDlFQFkFuG@HOanAzBtCLC}DADPDfDmFRFlFvGAHPaoA{BuCMC~DBDQDgDnFSFmFwGBHQapA|BvCND?DCDRDhDoFTFnFxGCHRaqA}BwCOD@DDDSDiDpFUFoFyGDHSarA~BxCPDADEDTDjDqFVFpFzGEHTasB?ByCQDBDFDUDkDrFWFqF{GFHUatB@BzCRDCDGDVDlDsFXFrF|GGHV_?AuBAB{CSDDDHDmDtFYFsF}GHHW_@AvBBB|CTDEDIDnDuFZFtF~GIHX_AAwBCB}CUDFDJDoDvF[FuG?GJHY_BAxBDB~CVDGDKDpDwF\FvG@GKHZ_CAyBEC?CWDHDLDqDxF]FwGAGLH[_DAzBFC@CXDIDMDrDyF^FxGBGMH\_EA{BGCACYDJDNDsDzF_FyGCGNH]_FA|BHCBCZDKDODtD{F`FzGDGOH^_GA}BICCC[DLDPDuD|FaF{GEGPH__HA~BJCDC\DMDQDvD}FbF|GFGQH`_IB?BKCEC]DNDRDwD~FcF}GGGRHa_JB@BLCFC^DODSDxE?FdF~GHGSHb_KBABMCGC_DPDTDyE@FeG?GIGTHc_LBBBNCHC`DQDUDzEAFfG@GJGUHd_MBCBOCICaDRDVD{EBFgGAGKGVHe_??NBDBPCJCbDSD|ECFhGBGLGWHf_@?OBEBQCKCcDTD}EDFiGCGMGXHg_A?PBFBRCLCdDUD~EEFjGDGNGYHh_B?QBGBSCMCeDVE?EFFkGEGOGZHi_??C?RBHBTCNCfE@EGFlGFGPG[Hj_@?D?SBIBUCOCgEAEHFmGGGQG\Hk_A?E?TBJBVCPChEBEIFnGHGRG]Hl_B?F?UBKBWCQCiECEJFoGIGSG^Hm_C?G?VBLBXCRCjEDEKFpGJGTG_Hn_D?H?WBMBYCSCkEEELFqGKGUG`Ho_E?I?XBNBZCTClEFEMFrGLGVGaHp_F?J?YBOB[CUCmEGENFsGMGWGbHq_G?K?ZBPB\CVCnEHEOFtGNGXGcHr_H?L?[BQB]CWCoEIEPFuGOGYGdHs_I?M?\BRB^CXCpEJEQFvGPGZGeHt_J?N?]BSB_CYCqEKERFwGQG[GfHu_K?O?^BTB`CZCrELESFxGRG\GgHv_L?P?_BUBaC[CsEMETFyGSG]GhHw_M?Q?`BVBbC\CtENEUFzGTG^GiHx_N?R?aBWBcC]CuEOEVF{GUG_GjHy_O?S?bBXBdC^CvEPEWF|GVG`GkHz_P?T?cBYBeC_CwEQEXF}GWGaGlH{_Q?U?dBZBfC`CxEREYF~GXGbGmH|_R?V?eB[BgCaCyESEZG?GYGcGnH}_S?W?fB\BhCbCzETE[G@GZGdGoH~_T?X?gB]BiCcC{EUE\GAG[GeGpI?_U?Y?hB^BjCdC|EVE]GBG\GfGqI@_V?Z?iB_BkCeC}EWE^GCG]GgGrIA_W?[?jB`BlCfC~EXE_GDG^GhGsIB_X?\?kBaBmCgD?EYE`GEG_GiGtIC_Y?]?lBbBnChD@EZEaGFG`GjGuID_Z?^?mBcBoCiDAE[EbGGGaGkGvIE_[?_?nBdBpCjDBE\EcGHGbGlGwIF_\?`?oBeBqCkDCE]EdGIGcGmGxIG_]?a?pBfBrClDDE^EeGJGdGnGyIH_^?b?qBgBsCmDEE_EfGKGeGoGzII__?c?rBhBtCnDFE`EgGLGfGpG{IJ_`?d?sBiBuCoDGEaEhGMGgGqG|IK_a?e?tBjBvCpDHEbEiGNGhGrG}IL_b?f?uBkBwCqDIEcEjGOGiGsG~IM_c?g?vBlBxCrDJEdEkGPGjGtH?IN_d?h?wBmByCsDKEeElGQGkGuH@IO_e?i?xBnBzCtDLEfEmGRGlGvHAIP_f?j?yBoB{CuDMEgEnGSGmGwHBIQ_g?k?zBpB|CvDNEhEoGTGnGxHCIR_h?l?{BqB}CwDOEiEpGUGoGyHDIS_i?m?|BrB~CxDPEjEqGVGpGzHEIT_j?n?}BsC?CyDQEkErGWGqG{HFIU_k?o?~BtC@CzDRElEsGXGrG|HGIV_l?p@?BuCAC{DSEmEtGYGsG}HHIW_m?q@@BvCBC|DTEnEuGZGtG~HIIX_n?r@ABwCCC}DUEoEvG[GuH?HJIY_o?s@BBxCDC~DVEpEwG\GvH@HKIZ_??p?t@CByCED?EqExG]GwHAHLI[_@?q?u@DBzCFD@ErEyG^GxHBHMI\_A?r?v@EB{CGDAEsEzG_GyHCHNI]_B?s?w@FB|CHDBEtE{G`GzHDHOI^_C?t?x@GB}CIDCEuE|GaG{HEHPI__D?u?y@HB~CJDDEvE}GbG|HFHQI`_E?v?z@IC?CKDEEwE~GcG}HGHRIa_F?w?{@JC@CLDFExF?GdG~HHHSIb_G?x?|@KCACMDGEyF@GeH?HIHTIc_H?y?}@LCBCNDHEzFAGfH@HJHUId_I?z?~@MCCCODIE{FBGgHAHKHVIe_J?{@?@NCDCPDJE|FCGhHBHLHWIf_K?|@@@OCECQDKE}FDGiHCHMHXIg_L?}@A@PCFCRDLE~FEGjHDHNHYIh_M?~@B@QCGCSDMF?FFGkHEHOHZIi_N@?@C@RCHCTDNF@FGGlHFHPH[Ij_O@@@D@SCICUDOFAFHGmHGHQH\Ik_P@A@E@TCJCVDPFBFIGnHHHRH]Il_Q@B@F@UCKCWDQFCFJGoHIHSH^Im_R@C@G@VCLCXDRFDFKGpHJHTH_In_S@D@H@WCMCYDSDWFEFLGqHKHUH`_T@E@I@XCNCZDTDXFFFMGrHLHVHa_U@F@J@YCOC[DUDYFGFNGsHMHWHb_V@G@K@ZCPC\DVDZFHFOGtHNHXHc_??W@H@L@[CQC]D[FIFPGuHOHYHd_@?X@I@M@\CRC^D\FJFQGvHPHZHe_A?Y@J@N@]CSC_D]FKFRGwHQH[Hf_B?Z@K@O@^CTC`D^FLFSGxHRH\Hg_C?[@L@P@_CUCaD_FMFTGyHSH]Hh_D?\@M@Q@`CVCbD`FNFUGzHTH^Hi_E?]@N@R@aCWCcDaFOFVG{HUH_Hj_F?^@O@S@bCXCdDbFPFWG|HVH`Hk_G?_@P@T@cCYCeDcFQFXG}HWHaHl_H?`@Q@U@dCZCfDdFRFYG~HXHbHm_I?a@R@V@eC[CgDeFSFZH?HYHcHn_J?b@S@W@fC\ChDfFTF[H@HZHdHo_K?c@T@X@gC]CiDgFUF\HAH[HeHp_L?d@U@Y@hC^CjDhFVF]HBH\HfHq_M?e@V@Z@iC_CkDiFWF^HCH]HgHr_N?f@W@[@jC`ClDjFXF_HDH^HhHs_O?g@X@\@kCaCmDkFYF`HEH_HiHt_P?h@Y@]@lCbCnDlFZFaHFH`HjHu_Q?i@Z@^@mCcCoDmF[FbHGHaHkHv_R?j@[@_@nCdCpDnF\FcHHHbHlHw_S?k@\@`@oCeCqDoF]FdHIHcHmHx_T?l@]@a@pCfCrDpF^FeHJHdHnHy_U?m@^@b@qCgCsDqF_FfHKHeHoHz_V?n@_@c@rChCtDrF`FgHLHfHpH{_W?o@`@d@sCiCuDsFaFhHMHgHqH|_X?p@a@e@tCjCvDtFbFiHNHhHrH}_Y?q@b@f@uCkCwDuFcFjHOHiHsH~_Z?r@c@g@vClCxDvFdFkHPHjHtI?_[?s@d@h@wCmCyDwFeFlHQHkHuI@_\?t@e@i@xCnCzDxFfFmHRHlHvIA_]?u@f@j@yCoC{DyFgFnHSHmHwIB_^?v@g@k@zCpC|DzFhFoHTHnHxIC__?w@h@l@{CqC}D{FiFpHUHoHyID_`?x@i@m@|CrC~D|FjFqHVHpHzIE_a?y@j@n@}CsD?D}FkFrHWHqH{IF_b?z@k@o@~CtD@D~FlFsHXHrH|IG_c?{@l@pA?CuDAE?FmFtHYHsH}IH_d?|@m@qA@CvDBE@FnFuHZHtH~II_e?}@n@rAACwDCEAFoFvH[HuI?IJ_f?~@o@sABCxDDEBFpFwH\HvI@IK_g@?@p@tACCyDEECFqFxH]HwIAIL_h@@@q@uADCzDFEDFrFyH^HxIBIM_i@A@r@vAEC{DGEEFsFzH_HyICIN") graphs = [('Z9x16Z117 ', Z9x16Z117 ), ('Z3x337Z344 ', Z3x337Z344 )] Z9x16Z117nx =Z9x16Z117.networkx_graph() Z3x337Z344nx =Z3x337Z344.networkx_graph() def count_k_cycles(G, k): count = 0 visited = set() def dfs(path, start, depth): nonlocal count current = path[-1] # Early exit if we?re going too deep if depth == k: if start in G.neighbors(current): # Normalize to avoid duplicates cycle = tuple(sorted(path)) if cycle not in visited: visited.add(cycle) count += 1 return for neighbor in G.neighbors(current): if neighbor not in path and neighbor >= start: dfs(path + [neighbor], start, depth + 1) for v in G.vertices(): dfs([v], v, 1) return count # each cycle counted twice (once forward, once reverse) def algebraic_connectivity(G): """ Compute the algebraic connectivity (Fiedler value) of a graph G. INPUT: - G: a SageMath Graph OUTPUT: - The second-smallest eigenvalue of the Laplacian matrix of G """ L = G.laplacian_matrix() eigenvalues = L.eigenvalues() eigenvalues.sort() if len(eigenvalues) < 2: return 0 # Trivial case: empty or isolated vertex graph return eigenvalues[1] def check_all_isomorphisms(graph_list): n = len(graph_list) print("\n Isomorphism check of all pairs (a dot means the pair ARE isomorphic):") for i in range(n): label_i, G_i = graph_list[i] for j in range(i + 1, n): label_j, G_j = graph_list[j] if G_i.is_isomorphic(G_j): # print(".", end="") print(f"{label_i} IS isomorphic to {label_j}") else: print(f"{label_i} NOT isomorphic to {label_j}") def non_isomorphic(graph_list): reps = [] labels = [] for label, G in graph_list: if not any(G.is_isomorphic(H) for _, H in reps): reps.append((label, G)) labels.append(label.strip()) # remove extra spaces if you want return labels def isomorphic(graph_list): labels = [] for i, (label, G) in enumerate(graph_list): if any(i != j and G.is_isomorphic(H) for j, (_, H) in enumerate(graph_list)): labels.append(label.strip()) return labels def compare_graphs_list(graphs): canon = {} count =1 for label, G in graphs: s6 = G.canonical_label().sparse6_string() # print(f"{label.strip():15} : {s6[:40]}...") canon.setdefault(s6, []).append(label.strip()) print("\n noniso ->",len(canon)) print("\nGroups:") for group in canon.values(): if len(group) > 1: print(count,"Isomorphic :", ", ".join(group)) count=count+1 else: print(count,"Unique :", group[0]) count=count+1 print("\n START \n") #noniso = non_isomorphic(graphs) #print(len(noniso), " non-isomorphic -> ",noniso) #iso=isomorphic(graphs) #print(len(iso), " isomorphic -> ",iso,"\n") compare_graphs_list(graphs) nonisographs = graphs # Print properties for each graph in the list print("\n Main properties of the graph\n") for label, graph in nonisographs: print(f"{label} | Ord.: {graph.order()} / Size: {graph.size()} / Diam.: {graph.diameter()} / Avg.dist: {graph.average_distance().n(digits=6)} / 14-reg.? {graph.is_regular(k=14)} / Girth: {graph.girth()} ")#/ Alg.conn. {algebraic_connectivity(graph).n(digits=6)} ")# / Domin. number: {graph.dominating_set(value_only=True)} ") print("\n Symmetry properties of the graph\n") for label, graph in nonisographs: print(f"{label} | Aut.group.ord.: {graph.automorphism_group().order()} / Cayley ? {graph.is_cayley()} --- vtx.trans. ? {graph.is_vertex_transitive()} -- edge.trans. ? {graph.is_edge_transitive()}" ) print("Degree histogram Z9x16Z117 :", nx.degree_histogram(Z9x16Z117nx) ) print("Degree histogram Z3x337Z344 :", nx.degree_histogram(Z3x337Z344nx) ) ''' print("\n Properties of the graphs as at arXiv\n") for label, graph in nonisographs: print(f"{label} & {graph.average_distance().n(digits=6)} & {graph.girth()} & {algebraic_connectivity(graph).n(digits=6)} & {graph.automorphism_group().order()} \\\\ ") ''' # Check isomorphisms # print(f"Are isomorphic G5 and G6? {G5.is_isomorphic(G6)}") #check_all_isomorphisms(nonisographs) print("\n") # automorphism group structure print(" Automorphism group structure") print(' C_n is the cyclic group of order n; x means direct product; : means semidirect product.\n') AZ9x16Z117 = Z9x16Z117.automorphism_group() AZ3x337Z344 =Z3x337Z344.automorphism_group() print('Z9x16Z117 :', AZ9x16Z117.structure_description(), ' | center order:',AZ9x16Z117.center().order()) print('Z3x337Z344 :', AZ3x337Z344.structure_description(), ' | center order:',AZ3x337Z344.center().order()) print("\n") # Compute the distance distribution from a given vertex v in graph G # Returns a list where the i-th element is the number of vertices at distance i from v def distance_distribution(G, v): from collections import Counter distances = G.shortest_path_lengths(v) distribution = Counter(distances.values()) result = [distribution[d] for d in sorted(distribution)] return result print("\n") for label, graph in nonisographs: print(f"{label} distance distrib from vtx. 0: {distance_distribution(graph, 0)}") # Counting k-cycles for each graph print("\nNumber of k-cycles for k=3 up to 4") for label, graph in nonisographs: print(f"{label} "," & ".join(str(count_k_cycles(graph, k)) for k in range(3, 5))) ''' # from 0 versio Molodtsov† for name, G in nonisographs: fname = name.strip() + "_adjlst.txt" s = "; ".join( "{}-{}".format(v, ",".join(map(str, G.neighbors(v)))) if G.neighbors(v) else str(v) for v in G.vertices(sort=True) ) with open(fname, "w") as f: f.write(s) ''' # from 0 for label, _ in nonisographs: base = label.strip() G = globals()[base + "nx"] with open(f"{base}_edges.txt", "w") as f: f.write(",".join( f"{{{u},{v}}}" for u, v in sorted((min(u, v), max(u, v)) for u, v in G.edges()) )) ''' # from 1 for label, _ in nonisographs: base = label.strip() G = globals()[base + "nx"] with open(f"{base}_Zedges.txt", "w") as f: f.write(",".join( f"{{{u+1},{v+1}}}" for u, v in sorted((min(u, v), max(u, v)) for u, v in G.edges()) )) ''' print("\n DONE \n") ## ##