# SageMathCell online https://sagecell.sagemath.org/?q=exevrk # ''' Main properties of the graph H4K3p2 | Ord.: 2783 / Size: 6955 / Diam.: 6 / Avg.dist: 5.19761 / 5-reg.? False / Girth: 3 H4K3p1 | Ord.: 2782 / Size: 6953 / Diam.: 6 / Avg.dist: 5.19702 / 5-reg.? False / Girth: 3 H4K3p | Ord.: 2778 / Size: 6945 / Diam.: 6 / Avg.dist: 5.19476 / 5-reg.? True / Girth: 3 Symmetry properties of the graph H4K3p2 | Aut.group.ord.: 1 / Cayley ? False --- vtx.trans. ? False -- edge.trans. ? False H4K3p1 | Aut.group.ord.: 1 / Cayley ? False --- vtx.trans. ? False -- edge.trans. ? False H4K3p | Aut.group.ord.: 1 / Cayley ? False --- vtx.trans. ? False -- edge.trans. ? False Degree histogram H4K3p2 : [0, 0, 0, 0, 5, 2778] Degree histogram H4K3p1 : [0, 0, 0, 0, 4, 2778] Degree histogram H4K3p : [0, 0, 0, 0, 0, 2778] H4K3p2 distance distrib from vtx. 0: [1, 5, 20, 80, 320, 1140, 1217] H4K3p1 distance distrib from vtx. 0: [1, 5, 20, 80, 320, 1139, 1217] H4K3p distance distrib from vtx. 0: [1, 5, 20, 80, 320, 1136, 1216] Number of k-cycles for k=3 up to 6 H4K3p2 24 | 0 | 12 | 29 H4K3p1 24 | 0 | 12 | 27 H4K3p 24 | 0 | 12 | 28 ''' import networkx as nx H4K3p2 = Graph(r":~?j^ii_???G?G?ETS_??@?@??oi`???A_A_@xTE???E?D_BQiS???M?H?FDSw?GPGP?KrGHo?OaWaGX_OQ_@@K`AOqG``?AAXaC@cHBE?ECaCWbCACK?KHEGrEHcGG?_DGD?BrIHo@?IWIGF_SQ_A`S`S?~Kaf?DAhag`}@DI?KFqCgBgq][?WNeHQFOC{g?wY?VeLQHOo@osGnCYaQ__B`g`]?tKdF?FBPa{`i@II?O@q@H?waeC?_BeAO@odKW@GX?VALrHHOAOqGmKZ_QR_C`c`[OvGc`?HBHaw@mHHE?SDqDHBwaMC?gJeIOFoc[W@W]GRcMQHoOAo{Wf?[aR`_E?W_UGL?hB?K?p_koYXQA?YFQCobkAYK?sMeHbFXcsG@oZ?UcL`HXoB_uGl?ZCQq_F@k`YGu?db?MBXaspkXJA?]DaDWbsAKK?{JEIrFhcWGA?DSCkBVI?oC?ag`WWmO@_G@TPQo|[aB?OBJAtpihGI?_FVCibdaW[@CAAA}@tdDWAGPOOmKUG?oCOgGjw^UPT_G`n`\WsCdT?PBtaOPvpN}?c@|@T?oqdK@GGmGSEIc?WAOVsTSNBGsoC_tOkKZyQ}_H@opNgygen?R?s___^xRu?eCUCIbDA?K@KJQIAF~c^WAWWGV}LhHJOCo~wec[CRj_I?T?QwLWgB?SA?aN`dX@U?gD@D]byQIc@OKCJ{EtcdwA_[KR{MgHjODOGGJsFQSS_I`?PFgqc_h?TAiAdpypCE?iEgD`b^aVk@SNwHjF@CyWAoFwDOBBIToD__Gb{XOOV_J@YpOO~ob|?UB]ayPgHIa?kFUCiBdqW[@[BUAA@}DNgAwOCPwKiGJODonoi_]EPj_J`dpYotOcD?VBsaOPvhNq?o@V@I?tQ_K@_HyGiE@cIWB?VoTQNBGtOE?vwm_YAQh_K@~`LOwGfP?X?__no\@P]?qC}CSB?qD[@cJSIAF~C^GBGXOUiLVH@OEOwWfo\QRT_L?^?TGKKhT?YA]AIP_XAi?sDVDIBtQGK@gKCJ}EtCdGBO]_QAM~H~OEoLOGGF{S{_L`NpDWoK`P?ZA_anp|@D]?uEhD`b^AV{@kMiHVFICowB_DWCiBSI?oF?dG_GX}O|_M@Y@OO~sb~?[BTaopnxJq?wFiC_bnA^k@sAAA{@tDDgBgQkOCK{G^OFOnwik]EPg_M`_`^gu_cj?\BiAT`qhKM?{@~@T_oqdC@wHSGAE^CNGBoSCTwNiGjOF_qglOYkQA_N@~PL?wGfT?^?s?__^hR}?}CgC@BNQF{@{IkITFiCOWBwZoVSL@HToFowWf{\URS_O?ZoTgMwgF?_AVaJPdp?M@?DnDUbzaG[A?LYJmEvc_WC?]wR]MlH`OGOJWJSECSv_O`J`D_q{_F?`AlalPwPF]@AEtD`BUqRKACMCHZFYczgCOF[CABYILoG_dga{XWOB_P@\pOG|gav?aB?au`mxIu@CFYCzb_Q]sAKAEAX@zDJwCWQoP[KlG@oGogWhc^kPn_P`eP]osKdj?bBzAOprHLi@G@m@U?zq_[AOGuGtE@CLwC_T_TmNAGyoH?rOnOYEQv_Q@uPMgwCfh?d?k?loWPRU@ICWCZb?aEkASJ[IkFvcOwCgWCUqLtHUOHO}_cK[sRX_R?\OOGLcgp?eALAL`_PBQ@KDBDLB|ALsAWLmJAEkCegCo]{R[MkH`OHoGWHgFgSm_R`EPE_oG`l?fAya_PzHDa@MEkDvbZaOKA[MCHWFZczwD?EsD]BkI@oI?ew_CWsOZ_S@\@OG|kat?gBZAo`jPHa@OFtC`beAZ[AcAsAu@`DLGDGRSOAKXGKOIOgWh_^iPl_S`jp\_uscB?hBla\@oHNU@S@s@?_uqbSAgHgG@ELcEgDOUsT]NkG`oI_r?nSYEQu_T@o`JOzWfX?j?`_e?]hQu@UCuC?bEABKAkIsIuF`C\GDWWCUuLsHVoIo|_es\]RA_U?Z?ToMsgF?kA@aEPepA}@WDBDLb|qLcAoKAJWEzCjgD_[GQqMsHuoJOJGJOECSu_U`?pBOrO`\?lAzA_Pz@De@YEZDzbOqUcAsNYHkFVCogDoFWCABWIKoJ__W`_XiOl_V@UPU_{Gbl?mBVAzPl`GE@[FvC`beqZCA{AEAZ@zdJGDwOKOuKvGUOJol_iw^YPB_V`l@WOtccv?nBkA\`oHN]@_@y@\_}Q_SB?HsGzE[c?gE?VgTuNxG`OK?vWncZsQB_W@}PNOzkeB?p?n?_o[hQY@aCzC\BMA?SBCI{IBFqcXgEGWKVIL]H\oKO{gdw[ER\_X?O_SwLsht?qA[AMPfX?I@cDADRbvQNSBGLMJ\E`CfwEO\sQCMfHqoKoKoH{EAS]_X`MPF?rg_D?rArAfpwHDy@eE^D_bXaS{BKMAHeFNc}WE_FkDsBwI@OL?boqS`L?sAmA_p{pEU@gE\D_bXQScBOM}HAFQCxgEgDoCEBeIQoLOb__KXKOd_Y`]pVO~_aD?tBQAvpgPHu@iF@CqbfQ^CBWACAc@ndMwEoPsOEKcGRoL_kghs]AP[_Z@_p[otodt?uB{A]pvPKE@m@d@M_oQbcB[G}GBERcHGEwSGTGN^G|oLovOn_ZuQB_Z`x`J_wKe~?w?{?mO^XOI@oCACRbFQFSB_ICIeFnC]GF?WKVGL\H[oM?wGe[[wRz_[_VOOWMOhN?xA@AH@bxBm@qDfDMBoQJkBcLqJzE{C_wFG\wQCMeHqOM_GOIWE{Sw_\@?`Copw`p?yA{AmP~XCI@sE[D_bXqSsBgNGH\F@cvgFWE[CwB@IMoMo_OaSWwOx_\`VPOW}ObN?zBRAv`gPHq@uHwF[coWF_FcDoByI@ON?co`{WAO]_]@X@Ro{Ca~?{BQav@gPHy@wFfCnb_qZcBsA}AB@rdHGFgQSOyK@GMONOgOiS]wPx_]`f`WGuOdJ?|B|A]Pv@KE@{@A@Q_vAfKBwHMG[E?cFWFoT{SENfGqON_v?ngZqQB_^@oPK_xwft?~?q?f_WHP}@}CcCNB?QB{B{JqIwF|COgFwWKVML^H[ONoz_cG\IRf__?OOGOCKi`@??a?Q?H`SEA?@D?d?RqgkC?AK@J?edQWG?C[AQ@MIeoP?iGewZuOT_a@TPKov[_`@CAkaW`nx@}AGD\CtB[qBSCSG_JlF[cTGGgPSVMMuGgoPObOmG\wP]_a`Fp\?zKav@EBgajpfPH]AKFVDQBLQQKCWMsIaE^cfGGo\oTQKoHLOPoqGa{^sRU_b`d`Cg~Oeb@FBKAG@~hL}AME^CTB{qZCC_JcHVEucMgH?VWQ}L`G^oQ?nOdkZQOo_c@^`IWuS`j@HBXADP|xNmAQEtCNbwQ^cCcLuGYFsC{gHGZoO_NeHyoQ_e?lW\[Pw_d@LPZ_yCbz@IA\AuPtXFIASC~DhbhAM{CkNcITEVcmWHW^OS{K_H^oQo~Gh_XSQq_d`~pQWqSdh@KApa]PipA}AWDfCwbUaDSCoJUHtEhCHWH_U{RyL]GOORO{WjgWiQm_e`xPUGpgdP@LBsAlpa@IUAYFmD]BFqS[CwLEGyFiczWHoYOP_NZHtOR_tObS]cRc_f@jPFw|ofF@NAOA}pqxEqA]CdDwbeALKC{HSJsFHCXgHwQ{V{M\GpoS?_gng\]PT_g@T@J?to_J@OBRaA`~pN]A_FuDTbBqSsDCGgJZFNCPWIGSORuLmGIOSOu_a_][Rd_g`x@PWrodj@QARaq`vpFQAcDtCtbRAC{DGKMGxFuctWIO\OSqK]HBOSoeomk[]Pc_h`XPH?vw`l@RBIAEpzhK]AeFED[bJQQkDOGaJ]FLcPWI_T?QwLWGAoT?qW`w]sRF_i@s`RwpkcL@TAAa|PshDAAiDCCzbXaAKDSKMGuFqCsgIg[WTgKfHHoT_fGmC[]Pm_j@]PKWso`Z@UB\AG`xpMqAkFzDOBBqTkD[HYJIFWc]wIwUsQOLqG[oToto_g^_Rx_j`zpPWrKdp@WASAq`vXFEAoD[CgBTA?kD_LeGfFfCywJ?[WT}KaHNOUOeWmO[]Pj_k`P@NwuG_|@XBSaA`~HNAAqF^DHBDAOsDgGIJ~FOCVwJOVCRMLKGSOU_rg`C]gRF_l@yPPWrcdf@ZANAsPq`CUAuDhCcB]aE[DkKMG{FpcvGJW^?TKKNHToV?f_mw[]P`_m@U@I_t?_J@[BBaKp|PLmAwFaDDbLaVsDsHCJIFYC^gJgSOReLiGLoVOrO`O]eRF_m`~PTgo{d@@]ALat@qHCUA{D|CvbRACSDwL?GIFzc~gJo[WTcKgHKOVo_gn?\SPY_n`WPH?vW`x@^B]aJPxpMIA}FXDIBCQOsE?G]JTF\CZwK?UoRGLgGFoW?vo|ce|@_Bmal``PJuBAC}DabeQJcECI}HuEcCNgKGWwOmNzHvoWO|_i[XQQL_p@FP]owgbx@aA~aP@jH@uBCEkCRByqXsEGMYIVE\cjwKWQoVKMhGfoWoh_dWZqOk_p`f@E_{cf~@bB}A``b@H}BGCsDabdaI[EOJOH_EuCBwK_XGP{NHHzOX?xghgXaQh_q`BpZOz?bT@dAha^`h@BQBIEjCPbzAXsESNmIEEJccgKoQcVEMkGfoX_mwcOYiOQ_r@b`B?~GfP@eBgAnP`PJYBMCQD}BaaMsE[IWHYEwcIWKwZ[OINVHgOXo|OiCXWQL_s@E@^Gwgbf@gAqAZ@k@?}BOEMCHB|Q[sE_NaIEEMceWLGQWVWMbGfoYOjWfgYOOp_s`k@?g|wer@hBeacPe`IQBSCNDgBlQKkEgJeHCEmcEGLOXkPuNHHwoY_{wioXEQL_t`KPWgxoar@jAeAS`mhAYBUEdCUBwaXsEkMuIzEDCkGL_QKVQMeGfoZ?k?e_ZGON_u@g`DG}Se\@kBoai`cpGuBYCVDxbaaNKEsImHqEcCMwLgXSPaNHH{OZOyoj?WSQz_v@MpWgxKal@mA|aP@iH@]B[ExCAbsAY{EwNsIEEHCdGLwO{U}M~GoOZoh_dwZyOb_v`b`Bg~ofB@nBeaf@fpIIB_CIDvbdQNSF?JoH{EyCAgM?XcO]NfHso[?|WhsWIQZ_w`IpZgwSap@pAlAR@kxAmBaEwC]b|aXKFCMUImEJCmgMOR_VyMvGdO[_h?esYmOw_x@i@B_{[et@qBkAbPc`IiBeCXDfbhqLCFKJSH\EaCEWMWWcP[NUH|O[o~?jwXmQJ_y@H@YwwSad@sA}A]@m@?iBgEHCObvq^kFOMeILETchwMgOgV?M^G~o\OiOcoZUOc_y`h`Ao{[ef@tB~Am@ePGmBkCRDfbiAK{FWIOH`EncNWMoZ{PoNpHco\_{ohWWIQO_z`NP^?zGaT@vArATPg`@MBmEOCFbyQ[{F[MUIbEMCnGN?RGVmM|GdO]?m?fOZwOI_{@kPEw~{eR@wBxalPfhGmBqCUDfbgaLkFcIkHKEpcJgNGX[O]N_HvO]OyggsXAQk_|@A`\Oxgb`@yAcAYPjXBIBsEHCTbuA][FgMUIgEKckWNWQwUcMDGjo]olodCYGOU_|`jpAW{[eh@zBuac@_hHYBwC[DfbjQKSFoJgHoE{CAgN_YCOqNFHmo^?xWiSWeQv_}`Lp]Oz_aT@|AnAR@lxAEByEHCQBsQ]cFsN?IZEAcfWNoQCUoMDGmo^_h?eSYeOv_~@f`@w}wf@@}Byakpf@GmB}CIDqbcAMkF{JCHXEaCFGNwZWPcNwHco^ozogsX[Q``??_OOOGKi`A?@A?a?P`SMC?AD@D?bqg{G?CKAJ@EdQwO?G[CQAMIfo`?sWjs[sOf`A@hpUgxW`@ACBTakPrpAyCGEnD[bcaDKGSH?H}FkChgOgQ[RgNVHPo`OdGfC]yQk`A`J`NW|GdRAEApa~@bHMUCKDdDzbDq[[GWJOJpENCzgOoUwVsKOHsO`o{WbwYuPc`B`x@EwtSbFAFBtAK@j`EuCMFlC[bSaLSG_KaIeF^cEWP?XST[MrGNOa?rGig\uOO`C@fPSOz[_nAHBgaHpnhDaCQFUCVB[qJ{GcMoGhE|CSWPG\{P?LsGjOa_a?e[^wQZ`D@DpLg~Kc|AIAKaY@~HHECSC]CpB|aQcGkIaJcE^CugPWT[V]KoHmOaojOmcXqRP`D`V@[Or[enAKBXAepshByCWEuDHbiQFKGoLsIVFOcLwP_ZwS}MlGWObOmOl_XMR~`E`\@YWqcfrALA{atPc@NQCYD~DnBJa]SGwNcGXErC^GPo^SO_LgG|ob_~W`[ZAPt`F@~@Bou{bdANAWAUP{`JuC]CvChbyqVCG{HqHUFoclwPwRwQwNmHXOc?`Gf{^IQY`G@]p\go[fVAOBKAf@q`?eC_FhCFB\qNKHCGsH]FiCagQGUcUYKtH{OcOp?j{\KOY`G`}`Dws[bVAQASARp}`JmCcDXDnbDAX[HGLqInFACIGQO[cPwLcGlocofWew]IQj`H`Qp^wqWepARBSab@upBmCeFYCMbTAHKHOGyHZFgcagQ_T{UqKRHdod?r_h_[_OH`I@vPBOtKaRATACa[@|xH}CiDJDxBJqZsHSKOIrFVCFWQg[cPcLlGmOd_egeO]IQ``J@\`[oo[f@AUBYahpo`AECkFsCRBPqKSH[HAHNF|clGQwUGUYKzHyodosGgo\sOt`J`w@@ovcbnAWARARp}HJyCoDJD{bIAY[H_K_ISFMCAWR?^sPALFGqoeOf_eC]IQc`K`S`Y_pseVAXBCAmptP@MCqFfCFB[ANsHgGQHyFtCcGROUOUYKqH~Oe_vgiK[GOe`L@spA_tsaRAZAHaT@zpGiCuD|DoB@q[sHkLIIKFXCNGRW[cPuLiGhOf?eOek]IQm`M@ZpXgroffA[BIAc@r@?eCwFHCYbWqIkHsH]HNF~CkWRgV?VUKFHuofOp?j[\COS`M`t@AWtgaRA]AIASPzXGiC{DJDyBGQYkHwLaIjFACJwRo]wO[L}GwOfo`GfS^?QT`N`T@YOpgeVA^BUab@vpBIC}FrCSBPqLcI?GMHYF~chWS?TWVuKMHzOg?s_i_\WOF`O@|p@GtwanA`AYAQ`z`HYDADfDtBJAWsICKmIyFECLGSG[[OoL{GrOg_aofc]]Qu`P@P`ZOrsfHAaBZaa@rh@YDCFdCTbZAG{IKHIHhFuC`WSWV[UUK^HiOgoo_hg\yOd`P`tPFOswblAcA]aQ`yXHeDGDEDjbLA[SIOL?IkFSC@wS_\kPeLMG~ohO_wdS^iQ_`Q`^@XWpCerAdBLak`p`BuDIFaCUBYqG{IWHCHkFsc`WSoTkV_KMH}oh_vwg_[aOW`R@ppAovSbBAfAKA[pxxJqDMD`DuBIqWsI[KGIUFYcGgSw^wOQLOGkoi?aGfW]]Qx`S@]`XWp_edAgBUAg@s`?]DOFFCNb[aL{IcHWHbFrC`WTGSWUwKrHvoiOqWjW[WOy`S`}P@Gtca`AiABaVp}@I}DSDkDobHQWsIgLuIGFKcCWTO\GPgLMG{OiofOcg]qQR`T`S@]oowfvAjBAAf`uHAqDUFkCPBXQG{IoHUHeFpc`WT_UgVMKaHbOj?t?iO\?OF`U@ypCguGaNAlANa^@xxJMDYD\D}bBa]CIsK}I}FECKwTg\oPyLMGwoj_eWcg]kQ[`V@[PXWpWe~AmBXaa@qh@}D[FoCCbTqJsI{GMHOF|CigTwSWUaKyHsojoo_hG\qOj`V`ppAGvkbPAoAFAXPzPJ}D_DlDjBAQZkJ?LwIsF[CBgU?\wOMLhGvOkOdgd[]SQ\`W`RP[gpkfxApBNA`@tXAuDaF~CZB]AHsJGH}HvF{CbwUOTwUKKiHuOk_p_iS[uO~`X@zpAgscazArAMAPP|@IuDeD}DybMAXkJKL[ITFCCFGUW[wPGLWG}ol?cWds]SQV`Y@TPWoqOfBAsB[Ak@v`?yDgFMCTBSQNSJSG[HiFgCmgUgV_VeK~HeolOqogO\MOb`Y`wPB_scahAuAIaPP{xIIDkD_DmbAQYsJWKWIhFHcMGUo^_PaL~GfOlof?fG^yQN`Z`RP\?pGftAvBPAfPp@@UDmFVCBbXqKCJ_HkH|FxCbwV?VSV{KpHeom?u_jo\_OM`[@|`FwvCa\AxAHAPP|hIaDqDRDbBJQ\SJcKcICFVcIgVG\?OMLmGsom_`oe?]iQt`\@RP[WpSfnAyBEAgPqxBYDsFMCPbTaMcJkHSHWFdCcgVWUkUuKHHgOmotOhc[OOQ`\`y@BWscafA{ALaPP{PI]DwDLDvBFA]KJoL_IwFYCBgV_]WOcLHGlOnOeGf_^mQN`]`X`Y?ocevA|BLA`@sXAQDyFMCUbVqM[JwHGHQFdCeGVoVKVoKuHeon_p_is[}Op`^@uP?wu?bNA~AFAZpzxJAD}DWDbBGq[{J{LKIPFCCEwVw^CPoLuGfOo?WGKGEETO`_?p?X?KoiDB?@a_rqgsK?EKBJ@edQgW?K[EQBMIfOp?}Ol{^QOu`a@|`Yw}S``BCB|Asp|hBuEGF}DlbwQF[KSH_I[Etc|wWgRWSkLcHxOpOfWhKZ[R|`a`NPRGuCfpBEBXAV`dXFQEKEsCibHaMSKWLqHREUc^wWoZ{QoK_G{opomO`s\OQt`b`\PAoyWddBFA|aC@txJqEMD{CLbgQV[K_NEJtFnCIwX?][VyNQGUoq?|Wnc]sO_`c@zp]G|W`LBHApaL`r`IiEQDcC]bcaTkKcJSGzFLcgwXGUsP_MTHQOq_c?jOYyRh`d@H`VotGfXBIATampj@MMESClDWbTq[sKkLEHvEMcYGXWYSRwKOGvOqot?fgWuPb`d`j`MGpWbJBKBgay`}x@uEWFTDpB}qB[KoMqJeFxcDgX_\sV[N~GGOrOqGecXkP[`e`dpKOrkatBLBLAX@e@D]EYE[CvbNQIKKwIaGjFYCfwXoTWP?MyHKOr_j?aW\eQU`f@VpDgzscbBNAGAi@mpLyE]CUDPB]QZ[K{GuIfExctGXwPsTYL{Hgos?`gjSZSR^`g@Z`?ozcd|BOB]aX``XEuE_F[DiBuA@kLCG}ISElcrwYGVsPIMHHUOsOtwcWXsP}`g`r@]w}g_~BQAVA`PnXNyEcDMCZbiaRcLGK}HSEKcRWYO^sVMNGGVOsof_iOYSRm`h`VPA_xgc\BRBEa\@d@DyEeFlDaB}aFcLOGqIPEnCrwY_TgOcM\HFOt?rGdGW}PL`i@u@Y?|o_ZBTAEam`k@LiEiDMC\BgqR[LSKYHxEPcUGYg[oVuNaGKot_eGiwYSRc`j@[pDowcdJBUBWAZP`XEYEkFpDvbqACkL[HIIDEyC{WYwU[OKMvHWOtos_cWXmPr`j`xPW_~W`bBWAPa`PnpNmEoDyCSBaQSSL_KYHqEQcTWZ?\OUwNOGEouOfOikYSR``k`W@?ozwdrBXBIAVpaPCuEqFKDxbxaAcLgGYIoEqctWZOTOO}MRHFOu_sOcWXwPw`l@}P\W{_`FBZAIAf`iHK}EuDMCWbhAQkLkLuHjEDcWGZW]CUGN}G\Ov?ewiCYSRj`m@R`F_yscdB[BSaP`eHFUEwFODkBtA@kLsHOIDEwc|GZgTKOqMSHFOvOuoe?WUPj`m`r@^w}w_dB]AHAepi`K}E{DhCBBkAU{LwKYH~EVCSwZo^SVENGGSOvo`gj{Z]RO`n`\@CWwcdVB^BHAUPa`CuE}FhDaB{aE{M?GUI^Eycyg[?VcOYMVHKow?rWfsWKPz`o@y@\_}O_VB`A[abpipLeFADHCNBlQTCMCLSHkERcQw[G\kV{NCG[ow_b?joYIRx`p@YpD_yScRBaBDaV@e`EeFCFzDeBtQBCMKHSIkErCqg[WTkP}MFH[OwovOcsWiPX`p`q@Zo~S`TBcAXAbpjHLYFGDTCYB`qUKMOKUHPE^cZw[_]oVON_GDoxO`Wh?Z}Rn`q`Z@DOyGcRBdBWaRPb@DQFIFVDzBpAESMWHWIhEpcqg[oScOeM{HVox_qofWWKPo`r@{pX_|c_jBfAIal`ghNMFMDoCEbeQQ{M[LWHiEOcQw[w[_UcN|GUOy?bojKYIRu`s@QPB?zkdBBgBZaRPaXD}FOF_DqBzA@[McHAIeEuCqg\GV[OYMOHNOyOpWdgXqPa`s`vp]O{O`hBiADae`nPMAFSD[CXB`qUsMgLAHfEUCQw\O^[UWNPGNOyoe_g{YeR[`t`W`CwyocRBjBMa[@_pFYFUFGDlB}QCKMoHMIbEscqg\_USPAMjHCoz?sweCXSPJ`u@x@[?}__VBlAHamPghNqFYDQC[b`qV{MsK_HzEBC^W\g\KVsNCG^oz_fwg{YwRR`v@^`@gxwc`BmB]ARPbpDIF[F~DeBvQA[M{GUITEwCxW\wScOiMqHROzopWd[XcPc`v`q@Yo~C`NBoABAi`jxNUF_DVCDbjaS{N?LKHZEEcTg]?^OVoN{GBO{Oc_h_Y]RV`w`\`F?z{cNBpBBAY@b`F]FaFUDcBzqCcNGHiIwE}cpW]OUWOsMMHIO{_qgckX]Pf`x@p@\G|{`jBrAJaa`lhM]FeDFCSbfqUcNKLiHwE^CPg]W]WUqNKGJo|?dGhGY]R\`y@PpC_xWdfBsBNAQpcPEiFgFoD}B}A?sNSGKIdEic{G]gU_OaMMHMo|OuWfwXoPE`y`v`X?}K`RBuAMAa`kPMaFkDpC^BmAO{NWLUHOEEcVW]o[OVINVGXo|oeWjsZoRD`z`V`@Wy?dRBvBBAXPaxFEFmFiDgbrABcN_H{IqEzcpW^?V{PeMuHBo}?vofKXiPE`{@~@]?~O_LBxALAa`l@MIFqDXCDbiQSCNcKoHJEScWW^G\gUONjGPO}__oi{Y_R~`|@PpDwxCdzByBBAZ`aHFqFsFCDubsqFsNkHCIVEfcuG^WUCOmMMHLO}os?dWWYPZ`|`w`Yg{o_tB{AGaa`kxMuFwDnCMBbaQ[NoKKHbELC]g^_^_VgNoGBO~Of?j[ZcRD`}`PpCOx_dtB|BUaVP`hDAFyFQDcBxqD{NwH]I\Efcsg^oT?OUMfHVO~_v?fSXePE`~@p@[G|k`pB~ABAg@jPNiF}DwCYbkQO{N{KeHJEQCZG^w]wUyNKGGp??_GOGGETSa?@@?`?OoiHC?AA`A_`xSUG?CEAD`BQgsO?GMCHAFDPw__T?L]FyIIp@?igYSNiSOaA@U_s?^{g~CCAn`i_}@PiGODoBI`zqfSO_JiE^BoDNw`?VgKsFiIWPA?nwX?NIStaE@W?vO\Sh^CKAq`k?zPQiGWDiBY`sAckOoJ]E~BndGGa?TOKuF]IApCOggZcNYSSaH@\_t?[{hNCRAr`a_~`RYGgDPBN@uq_kPSIIEuBrdCWaoVcLCFNIUpDolgWgNeSxaK@V_qG\OgJCXAa`n?{PPyGsDrBR`rqdCPkJOEIB{dKwb_TkKgFPIApFOggZKNOSZaN@^?tg[{hDC^Ap@a_}pRqH?DkBR@yQ`{QCIyEsBdDNgcOVwKIFWIMpGohwX[NuSkaQ@YOsW]og^CdAh@n_xPRQHKDsBA`tqaSQ[I]EWBwdIWd?UWLWFbIFpIOj?ZkMSSpaT@[Oog\sgpCjAf`c_}`QYHWDbBS`xa`{QsImEpBdDMwdoVkKIFQIJpJohwXsN{SbaW@]?vg^[gTCpAk`bo{`QmHcDIBV@tafCRKJUE[BadEWe_VsLoFqIDPLOiWW{NUScaZ@Q_sG\ohzCvAq@d_whPMHoDqBZ`~Q`SRcIkENBodJgfOSgLUFXIXPMoloXKMISUa]@\ouO^_gTC|Am@bo|pQEH{DIBQ@sqe{R{JAEXBadFGg?SCICDBIgpO?g_S_IWT@a_@POhOS{iHD?Ab@QohhSmI?DFAc`RahsW?KAEAB@dSwo?WOKOEKI`p_?ogWgK]TCb?@`_pWWsiTE?BB`aOppSuM?F@B`@oqiS[?MGFGBeDOgw?[SMSFNIaPo?wo[kMYTHb_@poxG[wi^G?C?a?`?XTQO?GCCCABAhc_?OIGICFdRX??_WOUGLIfQ?@?w_cO[TNcAAW@VolchNGCCralpYxQAOGHhDWAvads_OR[IxDgDIX@?d?TMJ}IKqA@IwiwV_S]cCAUPTGncg`GGCnAg@]xP]OWHoDKaxqfs_oRmIODsdMX@_fcSmJ_IZqB@NohwV[SocGAU`RglOgRGPCcan@[pPiOcHzDVapqdC`KROIMDydMxA_dsSsJRICqDPHGjGV]S\cJA\PSok[hBGVCoab`^XRUOoHRDIAvQ`K`cQQIzDsDCxBOfoTAJFIRQEpKogwVcS{cMAT@QWlggRG\CcalP[HPQO{HqDSApqd{`{R]IMD}DKhC?eSTUJkIBqGPIojgU[SscPA\@PGl{glGbCbae@^hQUPGHaDUAyq_{aSQoIrDfDNXCofsSQJPIKQHpGwhWVgSacSAZ@SOmSgNGhCgal@XpRiPSHyDCauAaKakQMI^DxdJHD_ekTIJaIBqJPJwjsU[SrcVA[pPGlWg~GnCbacP^PQmP_H~DZA}A`sbCQwIFDtDJXEOcwTGJZI^qKpLghSUQS[cYA]@UGn{g\GtCia`p[`QMPkHMDTAsafCb[REI[DcdDXF?fWT}JpIFQMPIOg[VYSic\AR`SWlShlGzCtAepXHPIPwHpD[A|a`sbsQuIFDpdHHFocwTYJ[IWqNpK_hGUQSZc_AOPGOcKidH?CaAQ@H`SEQ?HDCdARqg{c?QKHJCedQhG?c[QQHMIeQ_@OGgGSETPd?A`@P?goiFI?DAaa`PxSYS?IEDDabQhKg?SMIHDFDRHW?kCUCJBIhqo@W_k_UWTAd_ApPXOk{iJJ?DbAqpXhSmU?JFDcarahco?WAKAE@dTH_?oOWOKKIcR?@_gogW]THe?B@``WosiTK?EBbAP`pSmWGLoFMbyqesoOZkMUFrDKH__vk[_NlI]r@@ngxk^?SzeCBW@uo|shVKGErBnPy@QuWOLjF\buqcCo_ZYMoFjDHh`_t?\UNuIMrB@ioy?^uSZeEBUpso~?glKKEmbjP~hPAW_L^FIBuQ`kpCYYMvFsDFxaOvo\INJIVRCplowW^sS{eIBUPqO|{gZKTEebm`{XPeWkLpFVBqqckp[ZIMEFzdKXb?tO[}NQIErEPhgzC^ISSeLB]`t?{khFKZEpb``~`RiWwLQFKbtA`kpsYYM{FvDChbov[\ENJISRFpl?wW^aSveOBY`t_}[gVK`EkBnpwpReXCLxFEbtQbCqKYUM]FyDIhc_uo\SN`IDrHPigzO]KSqeRB[`pg|_gjKfEdbcp~xQqXOL`FRbzA`[qcY{MqFbDLHdOvO[YNRINRIphWx_^qS`eUBXpsG}ggVKlEhbmPwpR}X[L~FEbvaa[q{YUMTFxDHxe?vS\oN}IBRKPiwwk^]SceXBP`tG|ohjKrEqBe`xhP]XgLrF^B}A_srSYwMJFpDIXeosW\GNVIXrLplGxC]YS[e[B^`uW~SgLKxElBap|HQIXsLEFVbsQfsrkZCMVFedEhf_v_\iNrIBRNPiGwk^GSne^BP`sO|ghpK~Evbf@xhPEY?L@E`BOqi[s?YGLGEeDOXg?sSYSLNIbRO@goskYYTGe_BPphGswi^M?F?b_`oXTI[?MCFCBbAg[w?[IMIFFdPXo?wW[UMLIcR_@owwc[[TMf_BoPwO{KibN?FaBq@x`SI]?NDFdBrqg{{?]KNJFedQHw?{[]QNMIes?A?H?G_ETSg?C@A@@?oi@O?GAcAa@xSE_?OEGDcBQgT??_MOHGFDOy?`D?dWRwIIS@AI`IOfgSOgACUAS@NogxOCGmCiA]@Pa_OPoHICzAfD?_bgQ[HoDNI@@F_coRgIWSAAN`H?fGSsgECWAV@LOhXOKGqCkAZ@Qa_WPgHYCsAcd?obWQ{HmDGIA@DScqR\IASCQG`Jkf[STgHC\qTPKohLORGrCaA^xR]_gPPHMcuQ_d@SaGQvHrDCYApFkdCRKIVSDqLpG_feSzgKCVQQHLSgHOXGaCnq[PPu_sPrHRCrAdT@kbSQGH|dKyB`DcciRPIASFQG`JKfSSXgNC^qTpKohDO^GpCaA]xR}`?PnHRcyq`dACa{QtHcDNYCPFscGRYINSGqH`HWfqSngQCYqSXM{gXOdGhCnQX@RU`KPtHACtaaTA[aWQYHwdIyD@E[d]RbIESIQJPJceOSpgTC[QO`LwgtOjGeCca]hQ]`WPbHTcxq`dAsakQpHcDMYDpFccGRQIJSJqH`HwfySbgWC]aVpNWgPOpGlcbA[hQe`cPGHUctqfTBKbQQ^HaDEyE`FwdsRqICSLQIXGofQSdgZCQASHL{h|OvGqcdqW`PM`oPqHZC~a`DBcamQKHodJYFPC_dQRZIXSMqLhHKeGSVgzCka^POa`yP^HECzQcLBwaOQdHhdLiFxECcuRCINsOAGHCGaETPg_CPAH@Coi@P?GacQaHxSUa?PEGdcRQhTC?aMPHGfDRyO@GCcCQBIhs_AO`G_cWT?h?C`QPPG{iNQ?HBCaqPhSec?QFHCcbahtK?eARAH`dSiW@KOeORKI_SoAWhKge]TEh_CpaXXKsiVR?HbcqQXpSug?S@I@D?qiDO?gGSGIEDOI_@OSgSSNIaT?A_pOkgYTGi?D@q`HOwiX?EBwaSXsIhIf_iQTHo?Oa?aMXciTgGidTQs?CGaG`eWiddRD@@SoiX_@@K@AKqLSqiZgXIetRc?GHaGReOIfDRtBLS{i^_@`G@ESpDS}i`gPigTSS?KHAGoeHIgdSdAHTGid_B@{@I[yHSeidTRs{TSyia?UF_CwrctTTMHSgiiTToB?KGJAEcijTUtGdTiiy?W@_@XOsTTqjAhEiYTWIkW@?FCCfB_TWikyeYhtTeis_C?[?QKMLTgiuiXIldU{?OAaA``wiltVLP@TEixT\O@?I?IMFciyT]TCTSqjpTz?JBoa[xqAilTyi~hpiiTVykA?YFOCpRkTWTLLSgjAT`o@Oi?iM^cjDggimtWikY?IDPDOr{TWqkaa_i}TcIqW@OV?SbNbTciqyMQhtUAjJTeOA_mGhM^?jKTfS[tSAipU[jN_F`W@US|DU]jPgpigtTylDUd?NAoakHyQlHUhPaTRIkdYalU?YFPCoRkdWYl]ecihTjiuH?hmTSsjIc@eKtQqj`UHFzKkidtSAliES`YTJijtZLBpRsjBTbIt^") H4K3p1 = Graph(r":~?j]ii_???G?G?ETS_??@?@??oi`???A_A_@xTE???E?D_BQiS???M?H?FDSw?GPGP?KrGHo?OaWaGX_OQ_@@K`AOqG``?AAXaC@cHBE?ECaCWbCACK?KHEGrEHcGG?_DGD?BrIHo@?IWIGF_SQ_A`S`S?~Kaf?DAhag`}@DI?KFqCgBgq][?WNeHQFOC{g?wY?VeLQHOo@osGnCYaQ__B`g`]?tKdF?FBPa{`i@II?O@q@H?waeC?_BeAO@odKW@GX?VALrHHOAOqGmKZ_QR_C`c`[OvGc`?HBHaw@mHHE?SDqDHBwaMC?gJeIOFoc[W@W]GRcMQHoOAo{Wf?[aR`_E?W_UGL?hB?K?p_koYXQA?YFQCobkAYK?sMeHbFXcsG@oZ?UcL`HXoB_uGl?ZCQq_F@k`YGu?db?MBXaspkXJA?]DaDWbsAKK?{JEIrFhcWGA?DSCkBVI?oC?ag`WWmO@_G@TPQo|[aB?OBJAtpihGI?_FVCibdaW[@CAAA}@tdDWAGPOOmKUG?oCOgGjw^UPT_G`n`\WsCdT?PBtaOPvpN}?c@|@T?oqdK@GGmGSEIc?WAOVsTSNBGsoC_tOkKZyQ}_H@opNgygen?R?s___^xRu?eCUCIbDA?K@KJQIAF~c^WAWWGV}LhHJOCo~wec[CRj_I?T?QwLWgB?SA?aN`dX@U?gD@D]byQIc@OKCJ{EtcdwA_[KR{MgHjODOGGJsFQSS_I`?PFgqc_h?TAiAdpypCE?iEgD`b^aVk@SNwHjF@CyWAoFwDOBBIToD__Gb{XOOV_J@YpOO~ob|?UB]ayPgHIa?kFUCiBdqW[@[BUAA@}DNgAwOCPwKiGJODonoi_]EPj_J`dpYotOcD?VBsaOPvhNq?o@V@I?tQ_K@_HyGiE@cIWB?VoTQNBGtOE?vwm_YAQh_K@~`LOwGfP?X?__no\@P]?qC}CSB?qD[@cJSIAF~C^GBGXOUiLVH@OEOwWfo\QRT_L?^?TGKKhT?YA]AIP_XAi?sDVDIBtQGK@gKCJ}EtCdGBO]_QAM~H~OEoLOGGF{S{_L`NpDWoK`P?ZA_anp|@D]?uEhD`b^AV{@kMiHVFICowB_DWCiBSI?oF?dG_GX}O|_M@Y@OO~sb~?[BTaopnxJq?wFiC_bnA^k@sAAA{@tDDgBgQkOCK{G^OFOnwik]EPg_M`_`^gu_cj?\BiAT`qhKM?{@~@T_oqdC@wHSGAE^CNGBoSCTwNiGjOF_qglOYkQA_N@~PL?wGfT?^?s?__^hR}?}CgC@BNQF{@{IkITFiCOWBwZoVSL@HToFowWf{\URS_O?ZoTgMwgF?_AVaJPdp?M@?DnDUbzaG[A?LYJmEvc_WC?]wR]MlH`OGOJWJSECSv_O`J`D_q{_F?`AlalPwPF]@AEtD`BUqRKACMCHZFYczgCOF[CABYILoG_dga{XWOB_P@\pOG|gav?aB?au`mxIu@CFYCzb_Q]sAKAEAX@zDJwCWQoP[KlG@oGogWhc^kPn_P`eP]osKdj?bBzAOprHLi@G@m@U?zq_[AOGuGtE@CLwC_T_TmNAGyoH?rOnOYEQv_Q@uPMgwCfh?d?k?loWPRU@ICWCZb?aEkASJ[IkFvcOwCgWCUqLtHUOHO}_cK[sRX_R?\OOGLcgp?eALAL`_PBQ@KDBDLB|ALsAWLmJAEkCegCo]{R[MkH`OHoGWHgFgSm_R`EPE_oG`l?fAya_PzHDa@MEkDvbZaOKA[MCHWFZczwD?EsD]BkI@oI?ew_CWsOZ_S@\@OG|kat?gBZAo`jPHa@OFtC`beAZ[AcAsAu@`DLGDGRSOAKXGKOIOgWh_^iPl_S`jp\_uscB?hBla\@oHNU@S@s@?_uqbSAgHgG@ELcEgDOUsT]NkG`oI_r?nSYEQu_T@o`JOzWfX?j?`_e?]hQu@UCuC?bEABKAkIsIuF`C\GDWWCUuLsHVoIo|_es\]RA_U?Z?ToMsgF?kA@aEPepA}@WDBDLb|qLcAoKAJWEzCjgD_[GQqMsHuoJOJGJOECSu_U`?pBOrO`\?lAzA_Pz@De@YEZDzbOqUcAsNYHkFVCogDoFWCABWIKoJ__W`_XiOl_V@UPU_{Gbl?mBVAzPl`GE@[FvC`beqZCA{AEAZ@zdJGDwOKOuKvGUOJol_iw^YPB_V`l@WOtccv?nBkA\`oHN]@_@y@\_}Q_SB?HsGzE[c?gE?VgTuNxG`OK?vWncZsQB_W@}PNOzkeB?p?n?_o[hQY@aCzC\BMA?SBCI{IBFqcXgEGWKVIL]H\oKO{gdw[ER\_X?O_SwLsht?qA[AMPfX?I@cDADRbvQNSBGLMJ\E`CfwEO\sQCMfHqoKoKoH{EAS]_X`MPF?rg_D?rArAfpwHDy@eE^D_bXaS{BKMAHeFNc}WE_FkDsBwI@OL?boqS`L?sAmA_p{pEU@gE\D_bXQScBOM}HAFQCxgEgDoCEBeIQoLOb__KXKOd_Y`]pVO~_aD?tBQAvpgPHu@iF@CqbfQ^CBWACAc@ndMwEoPsOEKcGRoL_kghs]AP[_Z@_p[otodt?uB{A]pvPKE@m@d@M_oQbcB[G}GBERcHGEwSGTGN^G|oLovOn_ZuQB_Z`x`J_wKe~?w?{?mO^XOI@oCACRbFQFSB_ICIeFnC]GF?WKVGL\H[oM?wGe[[wRz_[_VOOWMOhN?xA@AH@bxBm@qDfDMBoQJkBcLqJzE{C_wFG\wQCMeHqOM_GOIWE{Sw_\@?`Copw`p?yA{AmP~XCI@sE[D_bXqSsBgNGH\F@cvgFWE[CwB@IMoMo_OaSWwOx_\`VPOW}ObN?zBRAv`gPHq@uHwF[coWF_FcDoByI@ON?co`{WAO]_]@X@Ro{Ca~?{BQav@gPHy@wFfCnb_qZcBsA}AB@rdHGFgQSOyK@GMONOgOiS]wPx_]`f`WGuOdJ?|B|A]Pv@KE@{@A@Q_vAfKBwHMG[E?cFWFoT{SENfGqON_v?ngZqQB_^@oPK_xwft?~?q?f_WHP}@}CcCNB?QB{B{JqIwF|COgFwWKVML^H[ONoz_cG\IRf__?OOGOCKi`@??a?Q?H`SEA?@D?d?RqgkC?AK@J?edQWG?C[AQ@MIeoP?iGewZuOT_a@TPKov[_`@CAkaW`nx@}AGD\CtB[qBSCSG_JlF[cTGGgPSVMMuGgoPObOmG\wP]_a`Fp\?zKav@EBgajpfPH]AKFVDQBLQQKCWMsIaE^cfGGo\oTQKoHLOPoqGa{^sRU_b`d`Cg~Oeb@FBKAG@~hL}AME^CTB{qZCC_JcHVEucMgH?VWQ}L`G^oQ?nOdkZQOo_c@^`IWuS`j@HBXADP|xNmAQEtCNbwQ^cCcLuGYFsC{gHGZoO_NeHyoQ_e?lW\[Pw_d@LPZ_yCbz@IA\AuPtXFIASC~DhbhAM{CkNcITEVcmWHW^OS{K_H^oQo~Gh_XSQq_d`~pQWqSdh@KApa]PipA}AWDfCwbUaDSCoJUHtEhCHWH_U{RyL]GOORO{WjgWiQm_e`xPUGpgdP@LBsAlpa@IUAYFmD]BFqS[CwLEGyFiczWHoYOP_NZHtOR_tObS]cRc_f@jPFw|ofF@NAOA}pqxEqA]CdDwbeALKC{HSJsFHCXgHwQ{V{M\GpoS?_gng\]PT_g@T@J?to_J@OBRaA`~pN]A_FuDTbBqSsDCGgJZFNCPWIGSORuLmGIOSOu_a_][Rd_g`x@PWrodj@QARaq`vpFQAcDtCtbRAC{DGKMGxFuctWIO\OSqK]HBOSoeomk[]Pc_h`XPH?vw`l@RBIAEpzhK]AeFED[bJQQkDOGaJ]FLcPWI_T?QwLWGAoT?qW`w]sRF_i@s`RwpkcL@TAAa|PshDAAiDCCzbXaAKDSKMGuFqCsgIg[WTgKfHHoT_fGmC[]Pm_j@]PKWso`Z@UB\AG`xpMqAkFzDOBBqTkD[HYJIFWc]wIwUsQOLqG[oToto_g^_Rx_j`zpPWrKdp@WASAq`vXFEAoD[CgBTA?kD_LeGfFfCywJ?[WT}KaHNOUOeWmO[]Pj_k`P@NwuG_|@XBSaA`~HNAAqF^DHBDAOsDgGIJ~FOCVwJOVCRMLKGSOU_rg`C]gRF_l@yPPWrcdf@ZANAsPq`CUAuDhCcB]aE[DkKMG{FpcvGJW^?TKKNHToV?f_mw[]P`_m@U@I_t?_J@[BBaKp|PLmAwFaDDbLaVsDsHCJIFYC^gJgSOReLiGLoVOrO`O]eRF_m`~PTgo{d@@]ALat@qHCUA{D|CvbRACSDwL?GIFzc~gJo[WTcKgHKOVo_gn?\SPY_n`WPH?vW`x@^B]aJPxpMIA}FXDIBCQOsE?G]JTF\CZwK?UoRGLgGFoW?vo|ce|@_Bmal``PJuBAC}DabeQJcECI}HuEcCNgKGWwOmNzHvoWO|_i[XQQL_p@FP]owgbx@aA~aP@jH@uBCEkCRByqXsEGMYIVE\cjwKWQoVKMhGfoWoh_dWZqOk_p`f@E_{cf~@bB}A``b@H}BGCsDabdaI[EOJOH_EuCBwK_XGP{NHHzOX?xghgXaQh_q`BpZOz?bT@dAha^`h@BQBIEjCPbzAXsESNmIEEJccgKoQcVEMkGfoX_mwcOYiOQ_r@b`B?~GfP@eBgAnP`PJYBMCQD}BaaMsE[IWHYEwcIWKwZ[OINVHgOXo|OiCXWQL_s@E@^Gwgbf@gAqAZ@k@?}BOEMCHB|Q[sE_NaIEEMceWLGQWVWMbGfoYOjWfgYOOp_s`k@?g|wer@hBeacPe`IQBSCNDgBlQKkEgJeHCEmcEGLOXkPuNHHwoY_{wioXEQL_t`KPWgxoar@jAeAS`mhAYBUEdCUBwaXsEkMuIzEDCkGL_QKVQMeGfoZ?k?e_ZGON_u@g`DG}Se\@kBoai`cpGuBYCVDxbaaNKEsImHqEcCMwLgXSPaNHH{OZOyoj?WSQz_v@MpWgxKal@mA|aP@iH@]B[ExCAbsAY{EwNsIEEHCdGLwO{U}M~GoOZoh_dwZyOb_v`b`Bg~ofB@nBeaf@fpIIB_CIDvbdQNSF?JoH{EyCAgM?XcO]NfHso[?|WhsWIQZ_w`IpZgwSap@pAlAR@kxAmBaEwC]b|aXKFCMUImEJCmgMOR_VyMvGdO[_h?esYmOw_x@i@B_{[et@qBkAbPc`IiBeCXDfbhqLCFKJSH\EaCEWMWWcP[NUH|O[o~?jwXmQJ_y@H@YwwSad@sA}A]@m@?iBgEHCObvq^kFOMeILETchwMgOgV?M^G~o\OiOcoZUOc_y`h`Ao{[ef@tB~Am@ePGmBkCRDfbiAK{FWIOH`EncNWMoZ{PoNpHco\_{ohWWIQO_z`NP^?zGaT@vArATPg`@MBmEOCFbyQ[{F[MUIbEMCnGN?RGVmM|GdO]?m?fOZwOI_{@kPEw~{eR@wBxalPfhGmBqCUDfbgaLkFcIkHKEpcJgNGX[O]N_HvO]OyggsXAQk_|@A`\Oxgb`@yAcAYPjXBIBsEHCTbuA][FgMUIgEKckWNWQwUcMDGjo]olodCYGOU_|`jpAW{[eh@zBuac@_hHYBwC[DfbjQKSFoJgHoE{CAgN_YCOqNFHmo^?xWiSWeQv_}`Lp]Oz_aT@|AnAR@lxAEByEHCQBsQ]cFsN?IZEAcfWNoQCUoMDGmo^_h?eSYeOv_~@f`@w}wf@@}Byakpf@GmB}CIDqbcAMkF{JCHXEaCFGNwZWPcNwHco^ozogsX[Q``??_OOOGKi`A?@A?a?P`SMC?AD@D?bqg{G?CKAJ@EdQwO?G[CQAMIfo`?sWjs[sOf`A@hpUgxW`@ACBTakPrpAyCGEnD[bcaDKGSH?H}FkChgOgQ[RgNVHPo`OdGfC]yQk`A`J`NW|GdRAEApa~@bHMUCKDdDzbDq[[GWJOJpENCzgOoUwVsKOHsO`o{WbwYuPc`B`x@EwtSbFAFBtAK@j`EuCMFlC[bSaLSG_KaIeF^cEWP?XST[MrGNOa?rGig\uOO`C@fPSOz[_nAHBgaHpnhDaCQFUCVB[qJ{GcMoGhE|CSWPG\{P?LsGjOa_a?e[^wQZ`D@DpLg~Kc|AIAKaY@~HHECSC]CpB|aQcGkIaJcE^CugPWT[V]KoHmOaojOmcXqRP`D`V@[Or[enAKBXAepshByCWEuDHbiQFKGoLsIVFOcLwP_ZwS}MlGWObOmOl_XMR~`E`\@YWqcfrALA{atPc@NQCYD~DnBJa]SGwNcGXErC^GPo^SO_LgG|ob_~W`[ZAPt`F@~@Bou{bdANAWAUP{`JuC]CvChbyqVCG{HqHUFoclwPwRwQwNmHXOc?`Gf{^IQY`G@]p\go[fVAOBKAf@q`?eC_FhCFB\qNKHCGsH]FiCagQGUcUYKtH{OcOp?j{\KOY`G`}`Dws[bVAQASARp}`JmCcDXDnbDAX[HGLqInFACIGQO[cPwLcGlocofWew]IQj`H`Qp^wqWepARBSab@upBmCeFYCMbTAHKHOGyHZFgcagQ_T{UqKRHdod?r_h_[_OH`I@vPBOtKaRATACa[@|xH}CiDJDxBJqZsHSKOIrFVCFWQg[cPcLlGmOd_egeO]IQ``J@\`[oo[f@AUBYahpo`AECkFsCRBPqKSH[HAHNF|clGQwUGUYKzHyodosGgo\sOt`J`w@@ovcbnAWARARp}HJyCoDJD{bIAY[H_K_ISFMCAWR?^sPALFGqoeOf_eC]IQc`K`S`Y_pseVAXBCAmptP@MCqFfCFB[ANsHgGQHyFtCcGROUOUYKqH~Oe_vgiK[GOe`L@spA_tsaRAZAHaT@zpGiCuD|DoB@q[sHkLIIKFXCNGRW[cPuLiGhOf?eOek]IQm`M@ZpXgroffA[BIAc@r@?eCwFHCYbWqIkHsH]HNF~CkWRgV?VUKFHuofOp?j[\COS`M`t@AWtgaRA]AIASPzXGiC{DJDyBGQYkHwLaIjFACJwRo]wO[L}GwOfo`GfS^?QT`N`T@YOpgeVA^BUab@vpBIC}FrCSBPqLcI?GMHYF~chWS?TWVuKMHzOg?s_i_\WOF`O@|p@GtwanA`AYAQ`z`HYDADfDtBJAWsICKmIyFECLGSG[[OoL{GrOg_aofc]]Qu`P@P`ZOrsfHAaBZaa@rh@YDCFdCTbZAG{IKHIHhFuC`WSWV[UUK^HiOgoo_hg\yOd`P`tPFOswblAcA]aQ`yXHeDGDEDjbLA[SIOL?IkFSC@wS_\kPeLMG~ohO_wdS^iQ_`Q`^@XWpCerAdBLak`p`BuDIFaCUBYqG{IWHCHkFsc`WSoTkV_KMH}oh_vwg_[aOW`R@ppAovSbBAfAKA[pxxJqDMD`DuBIqWsI[KGIUFYcGgSw^wOQLOGkoi?aGfW]]Qx`S@]`XWp_edAgBUAg@s`?]DOFFCNb[aL{IcHWHbFrC`WTGSWUwKrHvoiOqWjW[WOy`S`}P@Gtca`AiABaVp}@I}DSDkDobHQWsIgLuIGFKcCWTO\GPgLMG{OiofOcg]qQR`T`S@]oowfvAjBAAf`uHAqDUFkCPBXQG{IoHUHeFpc`WT_UgVMKaHbOj?t?iO\?OF`U@ypCguGaNAlANa^@xxJMDYD\D}bBa]CIsK}I}FECKwTg\oPyLMGwoj_eWcg]kQ[`V@[PXWpWe~AmBXaa@qh@}D[FoCCbTqJsI{GMHOF|CigTwSWUaKyHsojoo_hG\qOj`V`ppAGvkbPAoAFAXPzPJ}D_DlDjBAQZkJ?LwIsF[CBgU?\wOMLhGvOkOdgd[]SQ\`W`RP[gpkfxApBNA`@tXAuDaF~CZB]AHsJGH}HvF{CbwUOTwUKKiHuOk_p_iS[uO~`X@zpAgscazArAMAPP|@IuDeD}DybMAXkJKL[ITFCCFGUW[wPGLWG}ol?cWds]SQV`Y@TPWoqOfBAsB[Ak@v`?yDgFMCTBSQNSJSG[HiFgCmgUgV_VeK~HeolOqogO\MOb`Y`wPB_scahAuAIaPP{xIIDkD_DmbAQYsJWKWIhFHcMGUo^_PaL~GfOlof?fG^yQN`Z`RP\?pGftAvBPAfPp@@UDmFVCBbXqKCJ_HkH|FxCbwV?VSV{KpHeom?u_jo\_OM`[@|`FwvCa\AxAHAPP|hIaDqDRDbBJQ\SJcKcICFVcIgVG\?OMLmGsom_`oe?]iQt`\@RP[WpSfnAyBEAgPqxBYDsFMCPbTaMcJkHSHWFdCcgVWUkUuKHHgOmotOhc[OOQ`\`y@BWscafA{ALaPP{PI]DwDLDvBFA]KJoL_IwFYCBgV_]WOcLHGlOnOeGf_^mQN`]`X`Y?ocevA|BLA`@sXAQDyFMCUbVqM[JwHGHQFdCeGVoVKVoKuHeon_p_is[}Op`^@uP?wu?bNA~AFAZpzxJAD}DWDbBGq[{J{LKIPFCCEwVw^CPoLuGfOo?WGKGEETO`_?p?X?KoiDB?@a_rqgsK?EKBJ@edQgW?K[EQBMIfOp?}Ol{^QOu`a@|`Yw}S``BCB|Asp|hBuEGF}DlbwQF[KSH_I[Etc|wWgRWSkLcHxOpOfWhKZ[R|`a`NPRGuCfpBEBXAV`dXFQEKEsCibHaMSKWLqHREUc^wWoZ{QoK_G{opomO`s\OQt`b`\PAoyWddBFA|aC@txJqEMD{CLbgQV[K_NEJtFnCIwX?][VyNQGUoq?|Wnc]sO_`c@zp]G|W`LBHApaL`r`IiEQDcC]bcaTkKcJSGzFLcgwXGUsP_MTHQOq_c?jOYyRh`d@H`VotGfXBIATampj@MMESClDWbTq[sKkLEHvEMcYGXWYSRwKOGvOqot?fgWuPb`d`j`MGpWbJBKBgay`}x@uEWFTDpB}qB[KoMqJeFxcDgX_\sV[N~GGOrOqGecXkP[`e`dpKOrkatBLBLAX@e@D]EYE[CvbNQIKKwIaGjFYCfwXoTWP?MyHKOr_j?aW\eQU`f@VpDgzscbBNAGAi@mpLyE]CUDPB]QZ[K{GuIfExctGXwPsTYL{Hgos?`gjSZSR^`g@Z`?ozcd|BOB]aX``XEuE_F[DiBuA@kLCG}ISElcrwYGVsPIMHHUOsOtwcWXsP}`g`r@]w}g_~BQAVA`PnXNyEcDMCZbiaRcLGK}HSEKcRWYO^sVMNGGVOsof_iOYSRm`h`VPA_xgc\BRBEa\@d@DyEeFlDaB}aFcLOGqIPEnCrwY_TgOcM\HFOt?rGdGW}PL`i@u@Y?|o_ZBTAEam`k@LiEiDMC\BgqR[LSKYHxEPcUGYg[oVuNaGKot_eGiwYSRc`j@[pDowcdJBUBWAZP`XEYEkFpDvbqACkL[HIIDEyC{WYwU[OKMvHWOtos_cWXmPr`j`xPW_~W`bBWAPa`PnpNmEoDyCSBaQSSL_KYHqEQcTWZ?\OUwNOGEouOfOikYSR``k`W@?ozwdrBXBIAVpaPCuEqFKDxbxaAcLgGYIoEqctWZOTOO}MRHFOu_sOcWXwPw`l@}P\W{_`FBZAIAf`iHK}EuDMCWbhAQkLkLuHjEDcWGZW]CUGN}G\Ov?ewiCYSRj`m@R`F_yscdB[BSaP`eHFUEwFODkBtA@kLsHOIDEwc|GZgTKOqMSHFOvOuoe?WUPj`m`r@^w}w_dB]AHAepi`K}E{DhCBBkAU{LwKYH~EVCSwZo^SVENGGSOvo`gj{Z]RO`n`\@CWwcdVB^BHAUPa`CuE}FhDaB{aE{M?GUI^Eycyg[?VcOYMVHKow?rWfsWKPz`o@y@\_}O_VB`A[abpipLeFADHCNBlQTCMCLSHkERcQw[G\kV{NCG[ow_b?joYIRx`p@YpD_yScRBaBDaV@e`EeFCFzDeBtQBCMKHSIkErCqg[WTkP}MFH[OwovOcsWiPX`p`q@Zo~S`TBcAXAbpjHLYFGDTCYB`qUKMOKUHPE^cZw[_]oVON_GDoxO`Wh?Z}Rn`q`Z@DOyGcRBdBWaRPb@DQFIFVDzBpAESMWHWIhEpcqg[oScOeM{HVox_qofWWKPo`r@{pX_|c_jBfAIal`ghNMFMDoCEbeQQ{M[LWHiEOcQw[w[_UcN|GUOy?bojKYIRu`s@QPB?zkdBBgBZaRPaXD}FOF_DqBzA@[McHAIeEuCqg\GV[OYMOHNOyOpWdgXqPa`s`vp]O{O`hBiADae`nPMAFSD[CXB`qUsMgLAHfEUCQw\O^[UWNPGNOyoe_g{YeR[`t`W`CwyocRBjBMa[@_pFYFUFGDlB}QCKMoHMIbEscqg\_USPAMjHCoz?sweCXSPJ`u@x@[?}__VBlAHamPghNqFYDQC[b`qV{MsK_HzEBC^W\g\KVsNCG^oz_fwg{YwRR`v@^`@gxwc`BmB]ARPbpDIF[F~DeBvQA[M{GUITEwCxW\wScOiMqHROzopWd[XcPc`v`q@Yo~C`NBoABAi`jxNUF_DVCDbjaS{N?LKHZEEcTg]?^OVoN{GBO{Oc_h_Y]RV`w`\`F?z{cNBpBBAY@b`F]FaFUDcBzqCcNGHiIwE}cpW]OUWOsMMHIO{_qgckX]Pf`x@p@\G|{`jBrAJaa`lhM]FeDFCSbfqUcNKLiHwE^CPg]W]WUqNKGJo|?dGhGY]R\`y@PpC_xWdfBsBNAQpcPEiFgFoD}B}A?sNSGKIdEic{G]gU_OaMMHMo|OuWfwXoPE`y`v`X?}K`RBuAMAa`kPMaFkDpC^BmAO{NWLUHOEEcVW]o[OVINVGXo|oeWjsZoRD`z`V`@Wy?dRBvBBAXPaxFEFmFiDgbrABcN_H{IqEzcpW^?V{PeMuHBo}?vofKXiPE`{@~@]?~O_LBxALAa`l@MIFqDXCDbiQSCNcKoHJEScWW^G\gUONjGPO}__oi{Y_R~`|@PpDwxCdzByBBAZ`aHFqFsFCDubsqFsNkHCIVEfcuG^WUCOmMMHLO}os?dWWYPZ`|`w`Yg{o_tB{AGaa`kxMuFwDnCMBbaQ[NoKKHbELC]g^_^_VgNoGBO~Of?j[ZcRD`}`PpCOx_dtB|BUaVP`hDAFyFQDcBxqD{NwH]I\Efcsg^oT?OUMfHVO~_v?fSXePE`~@p@[G|k`pB~ABAg@jPNiF}DwCYbkQO{N{KeHJEQCZG^w]wUyNKGGp??_GOGGETSa?@@?`?OoiHC?AA`A_`xSUG?CEAD`BQgsO?GMCHAFDPw__T?L]FyIIp@?igYSNiSOaA@U_s?^{g~CCAn`i_}@PiGODoBI`zqfSO_JiE^BoDNw`?VgKsFiIWPA?nwX?NIStaE@W?vO\Sh^CKAq`k?zPQiGWDiBY`sAckOoJ]E~BndGGa?TOKuF]IApCOggZcNYSSaH@\_t?[{hNCRAr`a_~`RYGgDPBN@uq_kPSIIEuBrdCWaoVcLCFNIUpDolgWgNeSxaK@V_qG\OgJCXAa`n?{PPyGsDrBR`rqdCPkJOEIB{dKwb_TkKgFPIApFOggZKNOSZaN@^?tg[{hDC^Ap@a_}pRqH?DkBR@yQ`{QCIyEsBdDNgcOVwKIFWIMpGohwX[NuSkaQ@YOsW]og^CdAh@n_xPRQHKDsBA`tqaSQ[I]EWBwdIWd?UWLWFbIFpIOj?ZkMSSpaT@[Oog\sgpCjAf`c_}`QYHWDbBS`xa`{QsImEpBdDMwdoVkKIFQIJpJohwXsN{SbaW@]?vg^[gTCpAk`bo{`QmHcDIBV@tafCRKJUE[BadEWe_VsLoFqIDPLOiWW{NUScaZ@Q_sG\ohzCvAq@d_whPMHoDqBZ`~Q`SRcIkENBodJgfOSgLUFXIXPMoloXKMISUa]@\ouO^_gTC|Am@bo|pQEH{DIBQ@sqe{R{JAEXBadFGg?SCICDBIgpO?g_S_IWT@a_@POhOS{iHD?Ab@QohhSmI?DFAc`RahsW?KAEAB@dSwo?WOKOEKI`p_?ogWgK]TCb?@`_pWWsiTE?BB`aOppSuM?F@B`@oqiS[?MGFGBeDOgw?[SMSFNIaPo?wo[kMYTHb_@poxG[wi^G?C?a?`?XTQO?GCCCABAhc_?OIGICFdRX??_WOUGLIfQ?@?w_cO[TNcAAW@VolchNGCCralpYxQAOGHhDWAvads_OR[IxDgDIX@?d?TMJ}IKqA@IwiwV_S]cCAUPTGncg`GGCnAg@]xP]OWHoDKaxqfs_oRmIODsdMX@_fcSmJ_IZqB@NohwV[SocGAU`RglOgRGPCcan@[pPiOcHzDVapqdC`KROIMDydMxA_dsSsJRICqDPHGjGV]S\cJA\PSok[hBGVCoab`^XRUOoHRDIAvQ`K`cQQIzDsDCxBOfoTAJFIRQEpKogwVcS{cMAT@QWlggRG\CcalP[HPQO{HqDSApqd{`{R]IMD}DKhC?eSTUJkIBqGPIojgU[SscPA\@PGl{glGbCbae@^hQUPGHaDUAyq_{aSQoIrDfDNXCofsSQJPIKQHpGwhWVgSacSAZ@SOmSgNGhCgal@XpRiPSHyDCauAaKakQMI^DxdJHD_ekTIJaIBqJPJwjsU[SrcVA[pPGlWg~GnCbacP^PQmP_H~DZA}A`sbCQwIFDtDJXEOcwTGJZI^qKpLghSUQS[cYA]@UGn{g\GtCia`p[`QMPkHMDTAsafCb[REI[DcdDXF?fWT}JpIFQMPIOg[VYSic\AR`SWlShlGzCtAepXHPIPwHpD[A|a`sbsQuIFDpdHHFocwTYJ[IWqNpK_hGUQSZc_AOPGOcKidH?CaAQ@H`SEQ?HDCdARqg{c?QKHJCedQhG?c[QQHMIeQ_@OGgGSETPd?A`@P?goiFI?DAaa`PxSYS?IEDDabQhKg?SMIHDFDRHW?kCUCJBIhqo@W_k_UWTAd_ApPXOk{iJJ?DbAqpXhSmU?JFDcarahco?WAKAE@dTH_?oOWOKKIcR?@_gogW]THe?B@``WosiTK?EBbAP`pSmWGLoFMbyqesoOZkMUFrDKH__vk[_NlI]r@@ngxk^?SzeCBW@uo|shVKGErBnPy@QuWOLjF\buqcCo_ZYMoFjDHh`_t?\UNuIMrB@ioy?^uSZeEBUpso~?glKKEmbjP~hPAW_L^FIBuQ`kpCYYMvFsDFxaOvo\INJIVRCplowW^sS{eIBUPqO|{gZKTEebm`{XPeWkLpFVBqqckp[ZIMEFzdKXb?tO[}NQIErEPhgzC^ISSeLB]`t?{khFKZEpb``~`RiWwLQFKbtA`kpsYYM{FvDChbov[\ENJISRFpl?wW^aSveOBY`t_}[gVK`EkBnpwpReXCLxFEbtQbCqKYUM]FyDIhc_uo\SN`IDrHPigzO]KSqeRB[`pg|_gjKfEdbcp~xQqXOL`FRbzA`[qcY{MqFbDLHdOvO[YNRINRIphWx_^qS`eUBXpsG}ggVKlEhbmPwpR}X[L~FEbvaa[q{YUMTFxDHxe?vS\oN}IBRKPiwwk^]SceXBP`tG|ohjKrEqBe`xhP]XgLrF^B}A_srSYwMJFpDIXeosW\GNVIXrLplGxC]YS[e[B^`uW~SgLKxElBap|HQIXsLEFVbsQfsrkZCMVFedEhf_v_\iNrIBRNPiGwk^GSne^BP`sO|ghpK~Evbf@xhPEY?L@E`BOqi[s?YGLGEeDOXg?sSYSLNIbRO@goskYYTGe_BPphGswi^M?F?b_`oXTI[?MCFCBbAg[w?[IMIFFdPXo?wW[UMLIcR_@owwc[[TMf_BoPwO{KibN?FaBq@x`SI]?NDFdBrqg{{?]KNJFedQHw?{[]QNMIes?A?H?G_ETSg?C@A@@?oi@O?GAcAa@xSE_?OEGDcBQgT??_MOHGFDOy?`D?dWRwIIS@AI`IOfgSOgACUAS@NogxOCGmCiA]@Pa_OPoHICzAfD?_bgQ[HoDNI@@F_coRgIWSAAN`H?fGSsgECWAV@LOhXOKGqCkAZ@Qa_WPgHYCsAcd?obWQ{HmDGIA@DScqR\IASCQG`Jkf[STgHC\qTPKohLORGrCaA^xR]_gPPHMcuQ_d@SaGQvHrDCYApFkdCRKIVSDqLpG_feSzgKCVQQHLSgHOXGaCnq[PPu_sPrHRCrAdT@kbSQGH|dKyB`DcciRPIASFQG`JKfSSXgNC^qTpKohDO^GpCaA]xR}`?PnHRcyq`dACa{QtHcDNYCPFscGRYINSGqH`HWfqSngQCYqSXM{gXOdGhCnQX@RU`KPtHACtaaTA[aWQYHwdIyD@E[d]RbIESIQJPJceOSpgTC[QO`LwgtOjGeCca]hQ]`WPbHTcxq`dAsakQpHcDMYDpFccGRQIJSJqH`HwfySbgWC]aVpNWgPOpGlcbA[hQe`cPGHUctqfTBKbQQ^HaDEyE`FwdsRqICSLQIXGofQSdgZCQASHL{h|OvGqcdqW`PM`oPqHZC~a`DBcamQKHodJYFPC_dQRZIXSMqLhHKeGSVg]C\aUPNggPO|GncbA\hQE`{PGHQcsqetB{bAQZHaDFyG@CCaCPBIgsOAG`C_aWT?g_CPQHPC{iJP?GbCQqHhSia?PFGccRah|G?cAQAH@dSyO@GOcOQKI_S_AOhGgc]TFh?C`aPXGsiRQ?HBcaQPpSye?R@H`CoqiTK?eGRGHeDOIW@KSeSRNIbSoAWpKkeYTJh_CpqXHKwiZS?I?d?a_XTAg?SCICDBAgDO?gISIIFdPI_@OWgUSLIcT?A_xOcg[TK_B@{PIKyDSdRoTHIcw?GP?PFKqTIsCTQihY?ACPCOrKTQqha__iWTKo?_e?`EXEiXTLsKdRYhq?CCpCHrGDRahy`ei]TNo?oc?bIWai^TOsGtSIiI?EC`CWRCdSQiQ`CicTQo@_}?dM\CiRTQihy]Ii\TP?JBoA[XqYiifCiSTTIiw@_ECD`BQTTijYcQitT\?K?o?kgYIixT`SbTLIkDUK?_BaAR`oIkTU\RLSyirTYOA?M?HEFEisTZTKdUqj]?G@P@Oo{TUyjeg_ibT[img?_D?DFBqT\InIaIiXTwi|_D`wPM[x@TUi|T^swtTIj|U@?LBgAWhuIkIeeiST`Iow?gT?TFNqT`ipYIIjlUIjE_A`SPSK~DUKjGggIndXAke?SDoDGrwtXIkmbci\T_iqtXc?gJaIRfoIrDXtFLT?ikTfIrw@wU?TdNPTfisYKYiLT]jPThOBokGjA]cjQTiSWdSqjHUgjT_E`sPKCzHUEjTTjssdTIl\UpGDLqiedXS_KpeiUT[IpG~XddSmi_TlOqcJQh\T]jX") H4K3p = Graph(r":~?jYii_???G?G?ETS_??@?@??oi`???A_A_@xTE???E?D_BQiS???M?H?FDSw?GPGP?KrGHo?OaWaGX_OQ_@@K`AOqG``?AAXaC@cHBE?ECaCWbCACK?KHEGrEHcGG?_DGD?BrIHo@?IWIGF_SQ_A`S`S?~Kaf?DAhag`}@DI?KFqCgBgq][?WNeHQFOC{g?wY?VeLQHOo@osGnCYaQ__B`g`]?tKdF?FBPa{`i@II?O@q@H?waeC?_BeAO@odKW@GX?VALrHHOAOqGmKZ_QR_C`c`[OvGc`?HBHaw@mHHE?SDqDHBwaMC?gJeIOFoc[W@W]GRcMQHoOAo{Wf?[aR`_E?W_UGL?hB?K?p_koYXQA?YFQCobkAYK?sMeHbFXcsG@oZ?UcL`HXoB_uGl?ZCQq_F@k`YGu?db?MBXaspkXJA?]DaDWbsAKK?{JEIrFhcWGA?DSCkBVI?oC?ag`WWmO@_G@TPQo|[aB?OBJAtpihGI?_FVCibdaW[@CAAA}@tdDWAGPOOmKUG?oCOgGjw^UPT_G`n`\WsCdT?PBtaOPvpN}?c@|@T?oqdK@GGmGSEIc?WAOVsTSNBGsoC_tOkKZyQ}_H@opNgygen?R?s___^xRu?eCUCIbDA?K@KJQIAF~c^WAWWGV}LhHJOCo~wec[CRj_I?T?QwLWgB?SA?aN`dX@U?gD@D]byQIc@OKCJ{EtcdwA_[KR{MgHjODOGGJsFQSS_I`?PFgqc_h?TAiAdpypCE?iEgD`b^aVk@SNwHjF@CyWAoFwDOBBIToD__Gb{XOOV_J@YpOO~ob|?UB]ayPgHIa?kFUCiBdqW[@[BUAA@}DNgAwOCPwKiGJODonoi_]EPj_J`dpYotOcD?VBsaOPvhNq?o@V@I?tQ_K@_HyGiE@cIWB?VoTQNBGtOE?vwm_YAQh_K@~`LOwGfP?X?__no\@P]?qC}CSB?qD[@cJSIAF~C^GBGXOUiLVH@OEOwWfo\QRT_L?^?TGKKhT?YA]AIP_XAi?sDVDIBtQGK@gKCJ}EtCdGBO]_QAM~H~OEoLOGGF{S{_L`NpDWoK`P?ZA_anp|@D]?uEhD`b^AV{@kMiHVFICowB_DWCiBSI?oF?dG_GX}O|_M@Y@OO~sb~?[BTaopnxJq?wFiC_bnA^k@sAAA{@tDDgBgQkOCK{G^OFOnwik]EPg_M`_`^gu_cj?\BiAT`qhKM?{@~@T_oqdC@wHSGAE^CNGBoSCTwNiGjOF_qglOYkQA_N@~PL?wGfT?^?s?__^hR}?}CgC@BNQF{@{IkITFiCOWBwZoVSL@HToFowWf{\URS_O?ZoTgMwgF?_AVaJPdp?M@?DnDUbzaG[A?LYJmEvc_WC?]wR]MlH`OGOJWJSECSv_O`J`D_q{_F?`AlalPwPF]@AEtD`BUqRKACMCHZFYczgCOF[CABYILoG_dga{XWOB_P@\pOG|gav?aB?au`mxIu@CFYCzb_Q]sAKAEAX@zDJwCWQoP[KlG@oGogWhc^kPn_P`eP]osKdj?bBzAOprHLi@G@m@U?zq_[AOGuGtE@CLwC_T_TmNAGyoH?rOnOYEQv_Q@uPMgwCfh?d?k?loWPRU@ICWCZb?aEkASJ[IkFvcOwCgWCUqLtHUOHO}_cK[sRX_R?\OOGLcgp?eALAL`_PBQ@KDBDLB|ALsAWLmJAEkCegCo]{R[MkH`OHoGWHgFgSm_R`EPE_oG`l?fAya_PzHDa@MEkDvbZaOKA[MCHWFZczwD?EsD]BkI@oI?ew_CWsOZ_S@\@OG|kat?gBZAo`jPHa@OFtC`beAZ[AcAsAu@`DLGDGRSOAKXGKOIOgWh_^iPl_S`jp\_uscB?hBla\@oHNU@S@s@?_uqbSAgHgG@ELcEgDOUsT]NkG`oI_r?nSYEQu_T@o`JOzWfX?j?`_e?]hQu@UCuC?bEABKAkIsIuF`C\GDWWCUuLsHVoIo|_es\]RA_U?Z?ToMsgF?kA@aEPepA}@WDBDLb|qLcAoKAJWEzCjgD_[GQqMsHuoJOJGJOECSu_U`?pBOrO`\?lAzA_Pz@De@YEZDzbOqUcAsNYHkFVCogDoFWCABWIKoJ__W`_XiOl_V@UPU_{Gbl?mBVAzPl`GE@[FvC`beqZCA{AEAZ@zdJGDwOKOuKvGUOJol_iw^YPB_V`l@WOtccv?nBkA\`oHN]@_@y@\_}Q_SB?HsGzE[c?gE?VgTuNxG`OK?vWncZsQB_W@}PNOzkeB?p?n?_o[hQY@aCzC\BMA?SBCI{IBFqcXgEGWKVIL]H\oKO{gdw[ER\_X?O_SwLsht?qA[AMPfX?I@cDADRbvQNSBGLMJ\E`CfwEO\sQCMfHqoKoKoH{EAS]_X`MPF?rg_D?rArAfpwHDy@eE^D_bXaS{BKMAHeFNc}WE_FkDsBwI@OL?bo_KXIOe_Y@V@OW}WbJ?sBMaoPkhIQ@gF^C`BhA[sBSAwAB@rDHWEgPoOEKeGQoLOnWjg^oPA_Y`h@ZwsGcz?tB_aXPrhNa@k@A@Q?vqf[BWGyGBEQCHwEoUSSyN@GmOL_oWmWYwQy_Z@}@NWzgeB?v?q_fOWHPq@mC^C@bHqCcB[ICIcFnc]wEwZgVoLzH@oLo{odo[ER^_[?]?VGNkgD?wA@AHpbhBi@oDADRBvaNCB_KEJcEmcmWF?[CRMM[H|oMOJgGKFGSf_[`?`C_p{`v?xAraf@wHDu@qExD|b]AO[BcM{HAFRCxGFOCGDKB]I[OM__OaWW{Ow_\@]@VG~kaD?yBMAoPkxIY@sFcCmb_qZsBkBMA[@_dFWFWOGPIK[G[oMojggK^GPf_\`h`ZosGcx?zB|a]@vHKE@w@x@[?}a_SBoHKG^E?cFgF_UOS{N@GnoN?sgloYCQ]_]@xpJwwKex?|?n__o[xQQ@yCdCMb?QBcBsICIdFmC]WFgXwUALcHQoNO~Ofc\oR@_^?O_SgLohr?}ARaF@_H@u@{D^D@bxqKcBwLoJyE{c_wFo[CRGM]H|ONoK_HwEAS^_^`H@BooC_~?~A{am@~PCI@}EBDrbVqVCB{MwHAFQcxwG?CCAC@BIgOO?G_C_AWT@__?POHOC{iJ@??b?QoHhSeA?@F?c_RahkCOIaHmE|cDWG_TSRKLvGGOP?jGeGZ}O^_a@VPLOvK_t@DAGAzPvHDQAICTDrblaIKCSGsJaF]CVgGgP{VOMrGloP_yGi{XsQV_b@tpS_rScb@EBlAg`fxHqAKF[DSbKARSC[KaGnF|CtgGwXWPINsHgoPor?a?^yR^_b`fpDO~Kep@GAxATplhBiAODuCnbWQF{C_JsHZEscKGH?VwQeLdGYoQOuO`S^]Rz_c`lPBw}Cfx@HB\aE`|@NIAQE{CGBxa]kCgH_JUFVC]GHORSUwM`G}oQ_fOlc\UPq_d@NpYWyObn@JBxAdPdxJeAUFsDNBGAV{CkNqIWETCkgHW^{SeKdHYOR?kWfcYkOn_e@XpMGtg`T@KAta\PiPAUAWDnC}bVaCCCsNEIyEIcjgHg]STaKYHSORO|?j[W_Qd_e`z`V_p{dF@MBPaM`yhMuA[EcCWBuq\SCwLSGtFhCxGHoYsP}N[HpoRoc?nk[mPk_f`HP]Gx_bR@NATA|@qPEYA]CnD~BfQK[D?GIJyFVcTWI?TOQoL[GAoS?sw_g^{Rv_g@|`TWo{dL@PAIAuprpCUAaDCC|bZaAcDCLgGgFfCxWIG]OSUK{HYoS_cwkg\{Ps_h@\PLWso`N@QBBaMP|hLUAcFSDKbFaOsDKHkJjFFcXGIWUSQOL}GZOSoq_`k]yRF_h`p`VGqscj@SAGav`rXCUAgDOCmBUA?kDOKeG]FlCpwI_\GS}KZHBOTO_gnS\IPO_i`P@MwuW_b@TBBaL`{`LIAiFEDYBHqQ[DWHqJ`FFcZgIoVcRELKGUoT_vOaG][Rk_j@}pS?o{dZ@VAUaq`uHFmAmDlCcB[aFKD[L[GIFwC}WIw]{SUKrH[OU?d?kg\uPp_k@V@I?tO_J@WBXaHpxpMmAoFED^bGaRsDcHeJcFFcYwJGSOR}LaGNOUOtG_g^qRo_k`vpQOpOcL@YAAa~ps@D}AsDpCrbRADCDgKyGPFiCpwJO]cSUKxHXoUobolC[gPD_l`YPH?vg`f@ZBBaN@{XLqAuFoDRBBqT[DoHwJmFFcWWJ_T_QgLOGAoV?owbK^SRZ_m@w`PWrWd|@\APAq`u`FyAyDCCxbYaB[DsKsGSFhcpwJg^sTYKNHOOV_bWlO[aPD_n@^PLwso`D@]BOAA`}xNyA{FEDXBIARCD{GIJoFTCUgJwUCQOLuG]OVovgas][Ra_n`uPQ_pCcL@_AFatPvPE}B?DkCqBYA@{E?L{GDFkcvgK?\sTkKIH]oWOfokS[qP[_o`VpMos_`|@`BFADp~XM}BAFkDRbIQPkEGGyJuFDC^GKOV{QGLXGMoW_t_aW^URM_p@rPQwrkd^@bAUAx`tHC}BEDKCjB]QDcEKKwGsFcc~wKW^oSKKWHNoX?e_kS[kPR_q@Y@K?uo_^@cBHAN`xHNYBGFLDLBKQTKESG]JYFWCYgKgTKR{LGGYOXOtWaK^WRM_q`|pOop[cd@eASawpt`C}BKDvCaBTQASEWK[GWFxCyGKo\?TyKIHZOXoaOno[SPu_r`R@JOvC`R@fBZa@PyxLABMFiDObJAPkE_GoJxFDC[wL?UORWL_GFoY?po`G^iRe_s@{POopscr@hARAz@sXC}BQDZC|BQAEKEcL_GDFnCuWLG[sSaKsHQOY_`wl?\iPd_t@[pG_ts_p@iBLaMpxHNEBSFfDUBGqPkEkHaJDFMCUWLWSoQcLtGROYosgao^CRM_t`upVWogd`@kAPayPspC}BWD_CsBXA@{EoLCGhFqcrgL_]CTSKeHEoZOawnK[SPx_u`TpMOs_`v@lBIaKPxHNaBYFUDWBAaV[EwHuJDFHcTgLoVkQGLPGJoZ_vG_S]_RV_v@}`OopGch@nAFavpvxEAB]DKCnB^QC[E{K[G\F}CwWLw[sSwK}HPO[?`Om{[iPy_w@]@N_vO_T@oBKaBp{xMeB_FjDMb@QR[FCHUJ\FAcUGMGTgQWLfGTo[Ov?bs^kRH_w`qpTopWdt@qA[A~PuxCiBcDGCubTqFCFGLOG[FbcugMO\_SYKcHTO[obGk{\MPg_x`Y`JgsO_r@rBCaJ`ypNiBeFwD^BLqP[FOHGJVFAcSgM_VoRoLoGDO\?pGaC]}R|_y@spPgqkdN@tADAw@rxF}BiDQCeBYqCcFSLKGUFbcswMg^wToKqHDo\_aWk{\OPf_z@Q@KGt{`z@uB^aM@}HKeBkFeDJB@QQCF[HyJwFXCQgMwUWQiLCGHo\oq?_{^QRf_z`qpSWpodx@wAXA|pvhCiBoDoCyB^A@SF_LaGvF~cqWN?^KTiK|HDo]Oaok{\CPl_{`T`H_uK`\@xBJaBp{@MyBqFTDEbGQTcFgGSJiFLC[GNOS_RQLZGXO]_pGak]oRr_|@qpT?pcdb@zAVAs`ohD]BuDmCgbPAAsFkL]GRFbctGNW]sS_KDHJO^?b_k{\YPa_}@\@M?v__T@{BOaEPwxLuBwFJDQbCqU{FsHmJqF[CQgNgTwQWLnGOo^OpGaO]aRs_}`w@RWoScz@}AOau@ohDuB{DGCqbSqE{FwK{GNFvCwGNo^STeKwHDo^o`OmS[_Pt_~`W`JGsO_x@~BZAK`~@KeB}F]DEbJaSKG?CAAA@@dSGO?GOCOAKI`o_?OgGgC]TF`??`_PWGsiVA?@B_aOPpS}CGEbD]beaC{GOLMItFJCGGO_YkTaM]GVO`?twjc[cOh`A`G@No|_dLADARa\@yxIMCIChCwbvQTcGSH[HzFhCiWOoUKVwKXHqo`_kgn[WmRb`B@Y@]Gpwf\AEAvA}`a@MaCMFbC^BUqKcG[NGGvEicWwOw]gP_L[Guo`o|gbcYcPi`C@cPSoz{_rAGBIaj`uX@yCOEXDTBmqACG_KyIaFZcDwPG\CPML|GkOaOyoawZeP^`C`u@DGvgabAHBnaG@m`DYCSCOCrb~AR[GgGmHlFxcfgPOPcRONxHGoa_boeG^kQS`D`SP[_rwetAJAjazpe@LqCUDYDsbMQYKGkIwJaEZctwP_ZGSuMdG^Ob?uohK\QOx`E@m`QwyC`nAKB^AfpthBACYDqDkBHq^{GsJgJRESc}WPgVcUiK_HyObOnwlwX[Rq`F@{`BGuWbxAMByaC@l@FmC[FzCJbWQMkGwNwG]Evc[gPwR?QqNcH]oboewdK^UQw`F`MPIo}CdnANA^AV@|pJIC_CHC~bxQRSH?JuJlEBcywQ?X_SwMSGCoc?|G_wZmPx`G`E`Jo|OcTAPAsarPehNaCaEGD^bhaBSHCNsGnEbcYwQOQ_Q]NsH\oc_jGl{WgRJ`H@mPTwwO`PAQBcaN@k`DmCeCzCvBpQT[HKIUJ~ERCuGQWYcSWMuG\ocozO`sYgPH`I@FPJW|CcTASAnauPaXKmCgE[DKBcA@KHOMyGYEhcQWQgOcR_NnHNodOhWnGX]R]`I`a@UWyw_zATBcaK`lhDqCkCtCqBpQSKHWJkJeEBcwGQoZSTMMCGOod_}_aWYMPa`J`GPHw~kdhAVApArPfXNUCmE`DEBmaEkH[N?GME{c\wR?QWQ]NpH^Oe?hWncXORR`K@c@Q_xo_RAWB}aGPgxEUCqC{CobpQScHcIcJSEMcqwRGW_TuMiGHoeO{w_wZ_P}`L@APNO}gc`AYAqArPePNyCsE|DPb`ACsHgMeGSEmcQWRWPKQgN]HDOeongm?WMRe`L`hPP_zG`xAZBcaMplPDICwCqCtbpQTsHoJ]JLE]C{wR_XOS_MWGCof?xGbSZEPT`M`JpHw~wdbA\AwAyp_xMuCyEGDZbgaAcHsMgGRElCQWRoPOQaNZHDOf_hWnOXART`N@kPTWwO`^A]BvAB`npFAC}CHCybwAQkH{IgJQELCqwRwYsSWM}GXOfo}Wa_YMPk`O@@pJO~{dJA_AjA}p`pNYD?EcDSBjA?{I?NmGHEnCTwSGROQSN[HJOgOkwmgXWRE`O`dpVOwo`hA`BbaE@n`EYDCCUC{brqUsIGIKJYE]cxGSOZ[SOM\GJOg_{gakZWPF`P`HPLG}ocJAbAzaqpbxLQDEECDLBnQCkIKMiGyEfC\gS_RsQSNRHKoh?gol[XgRa`Q@g@T_y__NAcBlaKphpF}DICFCib|QSCISJwJJEGcuWSgXkTcMKG]ohO{OaoZUPF`R@G`L_}ccJAeAla{@`pNuDKE~DCBcQBCIWMMGUEycWWSwP_ReNNH]OhokGmoXURE`R``@QozS`DAfB~AAPi@DeDOCPCzBrqVKI_JsJJEKCsgT?YoT?McGBoi?ww`{ZcPn`S`J@KW}WcJAhAbAv@eXM}DQERDZBbAFSIcNqGHEkcSGTOO[Q}NoHVoi_l_mCXIRE`T@mpP?xc_bAiBhAL@hpFaDUCyCdBuQQ[IkI_JuEFC}wTWWOS{MpGUOio|_aGZIPF`U@IpKo}KcJAkAtAxpcPKYDWEgDQBgA?{IoNUGdEpCPwTgP{RwNNHXojOjgnsW[Ro`U`fpVowo`fAlBmANPhpFED[CrCdBtaRcIwJaJJEJCvwToZKSOMTGNoj_}?_cYmP]`V`@pI?~gdTAnAbAsPfPMeD]ECDHBmQD[I{MMGPE|cYGU?OwRINYH^ok?lglWWQR\`W@n@U_z__\AoBnA@plHEyDaClCjbqaRkJCIYJdELc~GUGXwSGMjGUokO~wbWZoPM`X@NpMw~_c^AqAnAp`dPMqDcEKDQbeqF{JGN]GTEccVWUWPoQINgHUokononSXoRL`X`j`Qgw__xArBfAH@j@FuDgCbCmbqaQ{JOIiJEEQCwWU_Z_T_M{GFOl?xoagYaPy`Y`B`LO|?dtAtA{A{pfxKuDiEUDABhqC[JSNAG[EccTGUoPSQINfHPOl_k?lsWQRU`Z@b@TGxK`pAuB{AKPnxCyDmCwCxB~QP{J[IYJgEHC}gUwYGSyMGGIoloyw_[ZMP_`[@L`Ng~Gc^AwAya~`eHKuDoEsD]BkA@sJ_NkG~EwcRgVGPGQINlHSOmOiWkWXYRi`[`c`O_y{`TAxBgA@plpEeDsCMCoBtQUkJgIYJbEIc|wVOWoTAMVGZOm_xoaKYkPs`\`I`J?{gcdAzAtaup`HLADuEiDKbaAASJkNOGZEccSwV_PkQINaHRon?hgmwWwRp`]@k@V?zO_\A{BrAC`hHDiDyCpC{B|qP{JsJKJOECcuwVgXgSGMbGQOnOxoasY}Pr`^@H@IO{gcpA}Axa}@epKuD{EKDUbfqEKJwMqGFEoCXwVwOwR]N^HWOnoj?kWXERf`^`h`QGw__vA~BwaM@mpCyE?B@@`?oqiCK?EGBG@eDOgW?KSESBNIbOo?WoKkEYTI`_?poXGKwi\BCBxAvp|HBYEGFuDjbxQECKONsJRFucNWW_^wUuN`G\opOe?hoZURv`a`L`QouOfdBDA\acplpNuEIC|DKbWQ^CKWLcH]ETc\GWoZOQiKeGxOp_vGdKXYP~`b@npJ?q?brBFAxAFPt@JUEMDtCJBhaUSK[JuGOFVcnGWwVoOuM`H\oq?{WnS]{Oj`c@xp^g|G`ZBGBta}PzPAAEOFnDwbtaCsKcJEGuFMCigXGUOPyMQHUoqOlObk[uQb`c`ZPE?xSdHBIAOAl@jhMeESCeD^BSa\cKgHUIzEkCwwXOQsTaLVHrOqosWf[WyPg`d`hPN_p?b\BJBSA]`bXEMEUEmCwbDaKkKoMaJiFzcFWX_\SVCNzGLor?zGmW^eOU`e@vP\o~{_`BLBGaYPepDqEYEVCpBMqJSKsKsHcEWCTwXgXoR]K|Ggor_iGak\gQ^`f@T`C?zgcpBMAkAH`uXHYE[D^CUbnQQKK{G_IgEzCvgXwPWTCLxHlorobWi[ZeRS`f`FPTgvoebBOAEalPlPL}E_DmCBBmQVsL?LyHeEDcZWY?\oUgNWGEosObwhOYuRN`g`^PCgwcdXBPBVaP`fPFyEaFKDzbyaB{LGH[IDE|c~gYOSwPmMiHMOs_rwdOWqPL`h@~P[w{_`\BRA]Ah@hPMyEeD\CIBeaPsLKKYHsESCVgYW]sUGNyG]Ot?bGhCY{RN`i@U`AOxsc\BSBKaS`bxCuEgFWDgBvA@kLSGYIyEoCugYgSwPsMbHLotOpgfcXEPW`i`r@^W}G_rBUAWaj`hPMQEkDrCVBaQSkLWL_HlEDcXgYo^CV]NGGQotocggSZgRp`j`Xp?oz[d`BVBQAP`exFMEmFdDaB|aEKL_HEIDE~C}wZ?VgPOMHHPOu?pgfGXIPT`k@t@Z_|?_ZBXA\AiphPMEEqD_CBBnaVKLcKgH^EHCRWZG[oVeNeGIOu_`gj?ZIRT`l@T@BwxKc\BYBPAP`f`FaEsFxDtbqAC[LkGgI]EgcrwZWSwPaMcHIouovWekWUP_`l`wPW_~w`tB[AZagPhPMmEwDMC]BjQQSLoLQHEEWc\WZ_\?UoNSGEovOd?gSZaRs`m`SpBGxOc\B\BZAW@`XEmEyFKD~bzaASLwGcIZEiCrwZoUcOKMoHZov_pgf{X[PR`n@|P[W{_`PB^AEanplxLAE}DsCPbaQT[L{KcHXEICRWZw]cUGNqGZow?`Wh{ZiRi`o@]P@gx[crB_BLa^P_pFmF?FgDuBxA@[MCHqINEjCuW[GScO{MtHSOwOtOeoXMPJ`o`up^o{O`rBaAKAn@ghNeFCDjCUBhQPKMGKUH[EYCYW[O^kUWNTGKOwodOioZKRI`p`UpFww[dpBbB\ARPahDeFEFGDnB|QDSMOHcINEkctg[_TSPgMFHWox?pWdCX}Pn`q@z@\?}?_VBdADac@nxM}FIDkCTBgaPKMSLaHLEKCTG[g\[VkNCGXOx_d_icZERI`r@QPAWzod^BeBJA\`_pFAFKFrDeBuQAkM[GiIuEac{w[wV?OYMXHJoxot_egXAPJ`r`q@YO~s`XBgANAkpghNYFODHCKBmqSKM_LmHLEHcVw\?]?VGNkGDoyOcGiWZWRI`s`\p@gx?c|BhBDaU`fHEIFQF^DxBpAEcMgGUIYE|CwG\OToPcMFHZOy_sGe[XWPJ`t@|pX_|C_|BjAYAbpiXLqFUDaCRbjAPKMkKyHoEBC\g\W[_UsNxGOoz?cwiKZQRI`u@XPCGykcRBkBRaWPdPCmFWFcDoByA@[MsGeIxEac~G\gTGPqMFH^ozOq?fkWKP|`u`sp^O{O`~BmA^abpj`LMF[D}CEbfaQCMwLwHLENCSg\o^{UWN\GHozo`WhSZ_Rd`v`QPAgzGdLBnBDaTpePEQF]FGDjB{QC{N?GKIiEnc|W]?T[OUMmHRo{?sodkWYPU`w@|@^?~o_LBpAQAe@hxL]FaDuC[BnqO{NCKKHgEMC\w]G\WUONnGQO{_egj_ZyRD`x@X`BOwwchBqBIaQpdxE]FcFCDsbvqEkNKGmIIEucxw]WS[PQM^HYO{ougf_X{PE`x`x`ZG{o_nBsASac`hxLuFgDFCQBdaU[NOK{HJEPCYg]_^?VwNwGBO|O_oiSYiRo`y`Y@AGwwczBtBXa^`f@CYFiF]DcBwqDKNWGwIIEpCyG]oVCP{MwHBo|_tWd?WYP\`z@p@[g|[`fBvAXanPn@KUFmD]CDbgATKN[KKHdEJc[W]w]gUaNKGMO}?fojGZmRD`{@^pEWzWcNBwB^A[pehCYFoF{DwB|A?sNcGsIIEsCwg^GTcOUMhHOO}Or?ckXQP``{`u`X?}k`DByABAjpi@N}FsDFCVbcQVkNgKKHmEGc^G^O[OVYNRG^O}ocOh[Y]RW`|`WPAwwwctBzBOAT``hDmFuFaDibrABSNoGaIIErczW^_U{OwMMHHo~?ooeKWsPy`}@}@]_~?_LB|A[AlpmPKUFyDFCPBeAVSNsLYH\EEcSG^g\GUONfGVo~_dwhsY]RQ`~@S@@Wy[d\B}B[A\PeXCYF{FCDobuqFCN{GKI_ElC}g^wV_PiMpHBo~oqWckXGPk`~`z`Zg{o_bC?A?`?__XTQG?CCAC@BAgcO?GICIAFdPW_?OWGUCLIbP??_wOcG[TFaA@S?tw^ggjCCAi`hO}hPAGGDYBO@~qb{OOI}EiBwDEg`?V?KiFnI\PA?mgX{N?S~aC@]_rO]gh`CGA~`c?{hRUGWD_B\@tQd{OoJIEoBlDIg`_UgLiFOIQpB?lwZ{M}S_aG@T?rW\wgJCPAa`mO|hPQGcDuBS@rqc{PKJMEIB}DLga_TCK{FZIApDOggZWNMSPaJ@]OsO[{hZCVAu`a_}XReGoD]BG`tA_kPcIIE{BpDFgbOVKLMFNISPEol?WgNqSraM@Uoq_\CgJC\Aa`ko|@PmG{D{BU`rqcSP{JCEIBzDNGc?UoLKFhIFpGOjgZOMSS}aP@^_og\_gzCbAf`do~XQqHGDhBP`zA`{QSIcE}BdDLGcoVOKIFVIHPHohwX_NaShaS@X_t_]Kg^ChAk@moxPREHSDpBA`vQbCQkI]EQByDHgd_UKLQFeIFpJOiwZCMSSzaV@]oog\GgnCnAf`fO~pQMH_DwB]`|q`SRCIqENBqDIweOSgL[FUI[PKolWXoMISXaY@^Ov?^GgTCtAh`bo|XQQHkDIBO`vAfkR[JGEUBadCwf?VGLmF|IDPMOioW{NASma\@Q_tW\chdCzAv@cowhPYHwDvBX@}A`SRsIwENBvDGWfoSgLGFRIZpNokGXcMIS[a_@OOgOSKibD?Aa@Q?h`SEI?DDAd@RqgcS?IKDJAedQwg?S[IQDMIfP_?oGWGKETRb?@`?p?WoiFE?BA`a_pxSQK?EEBD`bQhSW?KMEHBFDRWw?[CMCFBIhPo?w_[_MWTAb_@pOxO[{iHF?Bb@qoxhSeM?FFBc`rah{_?OAGAC@dTH??_OOOGKIeQ?@?g_gO]TLc?A@`@W_si\G?CBaAP@pS}OGH_D^AuQc{_ORMIvDjdGH?_ecT_J]IVQ@@LojcU_ShcCAS@SwnwgrGGCjaj`]@PyOOHXDSa}QaC__Q{I_DzdDx@_f?SqJfI^QB@Mwh?VQSxcEA]PQwm?hnGKC~Af`\pRAO_HYDMatA`K`CQQI{DrDEhAOfkT]JFISQCpL?gwViSzcIAVPROlKgRGTCcak`\xPuOkHtDRApqcK`[RAIMD|dLXB?dKSgJ\ICqEPHGjkVOSRcLA^@SGk[hLGZCrAb`]PRqOwHSDHaua`K`sQQItDodDHBofGTOJFIVqFpLwgwVwSqcOAXPTWmogNG`CjAm`XpRQPCHsDCavqasaKQMIWD}dHXC_eGTWJjIBqHPJ?jKU[S|cRA^PPGlCgpGfCbad`]`QIPOHkDPAxQ_{acQaIsDfDMhDOfgSQJWIGqIpGwh{VeSkcUAYpSgmGgNGlCnanPXpRMP[HrDCatab{a{QMIPD|DIxE?f{TkJwIFQKPJ_g[VSSlcXAR`S_lkh~GrCuadPXHPqPgHwDWa~q`sbSQiIFDqDGxEocwTSJQI[QLpKWhoUQSTc[A\`VwnCg\GxChA`p\hQiPsHMDPatQesbkRSIZDcdChF_fCToJuIFQNPJWg[VEScc^AR`TglohbG~CqAc`XHPmQ?H@C`AOqiSc?QGHGCeDOXG?cSQSHNIbqO@GockQYTIc_APpHGcwiXI?D?a_`OXTES?ICDCAbAg[g?SIIIDFdPhO?gWSUILIcq_@OwgcS[TKd_AoPWOkKifJ?DaAq@X`SIU?JDDdArqgkk?UKJJDedQxW?k[UQJMIeR?@_GoGWETSe?B@@`?ooiPK?EAbA``xSeW?KEEDbBQhSo?WMKHEFDQx__v?[yNjIZR@@moxW^KSoeAB]pq?}shzKCE}bep{@RmWOL_FZBvQd[o_ZKM|FgDJX`?uk\uNZIORA@lgz?]kSeeEBS@tW~WgzKKEjBg@~XPmWWLZFRB{AasooYyMlF}dCHa?t{[gNXIErCPhgz[^OS^eHB^@sg{kh\KREvB``~PRqWgLXFHBvq`kpSYYMyFpdEXaovC\[NJIQrDpkgwW^mSpeKBT@rw|GgZKXEebkP{hPQWsLyFSBqqc[pkZEMEF}DMhb_tG[qNSIErFPhgzo^[SQeNB\psW{khPK^EsB``}HR]X?LiFUBxq`[qCYoM~FbDMXcOvc[YNTIKRGphWxw^gSieQBZ@tO}CgVKdEibl@wpRIXKLqFEbuAakq[YUMRF~dJHd?uC\MNkIDrIPjozG]KSseTB\@pg|Kg|KjEdbe@~HQEXWLfFObya`[qsYeMxFbDNxdov{[YN]IHrJphWxS^cSfeWB\Pv?~wgLKpEjbap|xQQXcLEFSbvAekrKZGMYFedDxe_vK\{NwIBRLPj_wk^CSheZBP`s_|[hfKvEsbcPxhPqXoL}FXb|Q_srcYsMJFsdGhfOsW\]NPI^RMpkOx[]YSYe]B]@ug~KgLK|Egbap{`Q}X{LEFPBuafCr{Z]M[FedCXg?sCYCLBIhrO@g_s_YWT@e_BPPhOs{iLL?EbBQphhSaY?LFEcbRah{w?[AMAF@dSho?wO[OMKI`r_@ogwg[]TDf?B``pWwsiPM?FBbaPppSy]?N@F`BoqiK{?]GNGFeDOhw?{S]SNNIbro@wo{k]YTGf_BppxG{wiZO?G?c?a?XTQ_?OCGCCBAgD??_IOIGFdOY?@?W_UOLI`S?A?x?c_[TBgACSAT`N_ghOCGiChA]`PA_GPWHOC~Abd?OawQgHwDEI@@F?cgRkI[SAAM`Hof?S{gCC]AR@M_h`OGG}CcA[`RQ_WP_H[CtAdd?obGQoHkDII@`E_dgROIQSBAL`JoewS_gGCTQRHLsgHOPGaCmq\pPU_cPvHTCrAct@KbKQGH~dLyA`DCcyRXIASDQG`J[fKSPgJC]qSPKoh\OVGvCaA]XRm_oP\HGctQ_d@caGQ~HpDFYBPFKdKRKITSEqLPG_fuSrgMCUQQhLCgHO\GaCkq\PPe_{P~HVCrAcT@{bCQGHzdNyC@E{dMRjIESGQJpJSeOS|gPC^QO`Lgg|ObGeCda^HQ}`GPjHPczq`dASacQ|HcDLYCpFScGRUIHSHqH`HgfaSjgSCXqTxMKgXOhGlCmQX@RE`SPpHACvabTAkaWQQHydHyD`EKdURfIESJQIpJCeOSxgVC]QO`LGglOnGeCfa^hQM`_PyH^C|a`DBCauQKHqdIYEPC_dYRVI\SKqLHH{eGSZgYC^aVPNGgPOtGhcbA\HQU`kPGHOcvqftB[bIQVHaDCyF@FGdkR}ICSMQIxGofASlg\CQATHLkhdOzGuccqW`P]`wPuHXC}a`DBsa}QKHudGYFpC_dIRRIZSNqKHHkeGS^g_COQGPCKibP?GaCQAH`SAa?PDGdCRqglC?aKPJGedQiG@C[aQPMIfs_AOHGGcETRh?C`AP@Goi@Q?HAcaaPxS]c?QEHDcbQhLG?cMQHHFDRiW@KCeCRBIhSoAW`K_eWT?h_CpQXPK{iLR?HbCqqXhSme?RFHccrahlO?gASAI@dSI_@OOgOSKI_T?A_hOgg]TCi?D@a`XOsiPS?IBdAQ`pSq?KFpCgrgTQTN@SciR_?`C@C[rHSeiTgGidTQs?CGaG`eWiddRD@@SoiX_@@K@AKqLSqiZgXIetRc?GHaGReOIfDRtBLS{i^_@`G@ESpDS}i`gPigTSS?KHAGoeHIgdSdAHTGid_B@{@I[yHSeidTRs{TSyia?UF_CwrctTTMHSgiiTToB?KGJAEcijTUtGdQyitT\?K?o?kgYIixT`SbTLIkDUK?_BaAR`oIkTU\RLSyirTYOA?M?HEFEisTZTKdSAjXTn?C?g_gW]Ij\TrSOTPimTVS?OA_Ab`xImdVdPDTKi{T]oAo{GfM[_ijT]iny[YidT}j?_E`s@KSzDUDRRTIImDWQkM?IDODPr{dWYkUaaiVT\ipTWs?SIaI`fwipdXDD@Ssi}TcIqW@OV?SbNbTciqyMQhtUAjJTeOA_mGhM^?jKTfS[tSAipU[jN_F`W@US|DU]jPgpigtTylDUd?NAoakHyQlHUhPaTRIkdYalU?YFPCoRkdWYlTUnRQTSilTYylb") H4K3p2nx = H4K3p2.networkx_graph() H4K3p1nx = H4K3p1.networkx_graph() H4K3pnx = H4K3p.networkx_graph() # List of graphs to process graphs = [('H4K3p2 ', H4K3p2),('H4K3p1 ', H4K3p1),('H4K3p ', H4K3p)] 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)} / 5-reg.? {graph.is_regular(k=5)} / 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 H4K3p2 :", nx.degree_histogram(H4K3p2nx) ) print("Degree histogram H4K3p1 :", nx.degree_histogram(H4K3p1nx) ) print("Degree histogram H4K3p :", nx.degree_histogram(H4K3pnx) ) ''' 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') AH4K3pp = H4K3pp.automorphism_group() AH4K3p = H4K3p.automorphism_group() print('DahrH4K3pp :', AH4K3pp.structure_description(), ' | center order:',AH4K3pp.center().order()) print('DahrH4K3p :', AH4K3p.structure_description(), ' | center order:',AH4K3p.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 6") for label, graph in nonisographs: print(f"{label} "," | ".join(str(count_k_cycles(graph, k)) for k in range(3, 7))) ''' # 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") ## ##