summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2023-12-09 02:25:17 +0300
committereug-vs <eugene@eug-vs.xyz>2023-12-09 02:25:17 +0300
commita65bf01f5a8aaed52f38bb27e7c99b88e8b9b0f6 (patch)
treebda4d31326ade6378d74df34edd0637cc5be3a46
parente57d0b97c8cb365d7d0a3ee7a0fc9294d2c8dcee (diff)
downloadaoc-2023-a65bf01f5a8aaed52f38bb27e7c99b88e8b9b0f6.tar.gz
feat(day-8): add cool visualization
-rw-r--r--day-8/graph.dot1454
-rw-r--r--day-8/out.pngbin0 -> 3822923 bytes
-rw-r--r--day-8/script.ts10
3 files changed, 1464 insertions, 0 deletions
diff --git a/day-8/graph.dot b/day-8/graph.dot
new file mode 100644
index 0000000..272bd5c
--- /dev/null
+++ b/day-8/graph.dot
@@ -0,0 +1,1454 @@
+digraph aoc {
+ LFM -> PCJ;
+ LFM -> GQH;
+ THP -> SPP;
+ THP -> MKB;
+ PBL -> VVX;
+ PBL -> JMM;
+ DSR -> BST;
+ DSR -> MPD;
+ QKF -> DSR;
+ QKF -> KGX;
+ AAA -> SLH;
+ AAA -> CVN;
+ DSH -> DVN;
+ DSH -> VXT;
+ VTK -> NSF;
+ VTK -> QJM;
+ QQR -> FNB;
+ QQR -> CBM;
+ RQV -> XQQ;
+ RQV -> NQQ;
+ CGV -> CCB;
+ CGV -> FTX;
+ RXL -> HXQ;
+ RXL -> HLQ;
+ MQP -> MSH;
+ MQP -> TJB;
+ MPL -> JSJ;
+ MPL -> TJR;
+ XQK -> RQT;
+ XQK -> JKB;
+ GXT -> JFP;
+ GXT -> MTT;
+ LHK -> BVR;
+ LHK -> MFH;
+ BXH -> PGR;
+ BXH -> NDC;
+ FFV -> MJC;
+ FFV -> TLD;
+ TFM -> DKJ;
+ TFM -> RTC;
+ MVG -> TNC;
+ MVG -> PXR;
+ QXN -> CGV;
+ QXN -> KKM;
+ LTN -> MQC;
+ LTN -> XGD;
+ NLP -> SQQ;
+ NLP -> DKG;
+ QTK -> MBH;
+ QTK -> GJX;
+ SSR -> DHV;
+ SSR -> NHN;
+ DGJ -> QSX;
+ DGJ -> CKB;
+ SFD -> GRS;
+ SFD -> DLD;
+ HBT -> NVN;
+ HBT -> HJF;
+ VKH -> CBT;
+ VKH -> CBT;
+ VRH -> FVN;
+ VRH -> JNB;
+ HTJ -> JNB;
+ HTJ -> FVN;
+ BDL -> SQS;
+ BDL -> QVX;
+ MMC -> MJC;
+ MMC -> TLD;
+ RBL -> VNF;
+ RBL -> BXD;
+ RNM -> HJQ;
+ RNM -> PJF;
+ CTZ -> NCP;
+ CTZ -> PLT;
+ JFK -> TPJ;
+ JFK -> JGX;
+ HPJ -> MMC;
+ HPJ -> FFV;
+ RJC -> RBH;
+ RJC -> DFJ;
+ DHL -> RJC;
+ DHL -> JFD;
+ LVR -> BBB;
+ LVR -> LHK;
+ LFD -> GCQ;
+ LFD -> SGC;
+ BVG -> BSQ;
+ BVG -> QXH;
+ DVN -> MTL;
+ DVN -> NDG;
+ XGD -> TML;
+ XGD -> JQL;
+ RQS -> VXX;
+ RQS -> BDV;
+ CPC -> PGB;
+ CPC -> SVP;
+ QLQ -> CLK;
+ QLQ -> CBH;
+ RXZ -> SHG;
+ RXZ -> MDS;
+ NTR -> RGP;
+ NTR -> PNX;
+ BBB -> MFH;
+ BBB -> BVR;
+ RGK -> FRD;
+ RGK -> FRD;
+ JLV -> DVV;
+ JLV -> GSF;
+ NLS -> VFF;
+ NLS -> HCX;
+ RHC -> DKG;
+ RHC -> SQQ;
+ NVB -> TTG;
+ NVB -> QTK;
+ SLZ -> DJM;
+ SLZ -> BVG;
+ BFK -> SKJ;
+ BFK -> BBD;
+ HXX -> XQK;
+ HXX -> BVT;
+ SKS -> SLL;
+ SKS -> FQH;
+ SGB -> RLT;
+ SGB -> RHK;
+ NPD -> RFJ;
+ NPD -> DJN;
+ XSJ -> TSF;
+ XSJ -> MVT;
+ LLH -> RPV;
+ LLH -> VML;
+ NXD -> DJS;
+ NXD -> FJG;
+ GJX -> SGS;
+ GJX -> LBJ;
+ FBV -> CXG;
+ FBV -> DCJ;
+ FRX -> GDV;
+ FRX -> RQB;
+ SDC -> RGC;
+ SDC -> THM;
+ JCT -> CSC;
+ JCT -> GNM;
+ SPS -> MLP;
+ SPS -> TRQ;
+ BNG -> PFC;
+ BNG -> CLX;
+ SHH -> LPM;
+ SHH -> VRC;
+ SGC -> FCH;
+ SGC -> JLC;
+ FJB -> MVK;
+ FJB -> JKT;
+ DRN -> KGL;
+ DRN -> LTN;
+ RJB -> NTR;
+ RJB -> BDN;
+ DMC -> JBM;
+ DMC -> KNV;
+ HBG -> RQB;
+ HBG -> GDV;
+ VRC -> RDD;
+ VRC -> MRD;
+ JJP -> GQC;
+ JJP -> VMP;
+ PLB -> VKX;
+ PLB -> BGL;
+ DVV -> QTS;
+ DVV -> NHG;
+ LGL -> SSX;
+ LGL -> JRQ;
+ RGC -> DVG;
+ RGC -> RDQ;
+ GPK -> DDL;
+ GPK -> FLG;
+ NVN -> HPJ;
+ NVN -> SFK;
+ DVQ -> JFJ;
+ DVQ -> FRC;
+ VDP -> PFL;
+ VDP -> GLN;
+ CVN -> HNX;
+ CVN -> QKF;
+ QXP -> VTG;
+ QXP -> BDC;
+ LKT -> SBP;
+ LKT -> SBP;
+ QSX -> FNN;
+ QSX -> FKT;
+ CSC -> HPQ;
+ CSC -> SLS;
+ FNN -> DCV;
+ FNN -> JKF;
+ MTH -> NVN;
+ MTH -> HJF;
+ TPJ -> HNM;
+ TPJ -> NGV;
+ NHN -> VCC;
+ NHN -> RXL;
+ BHF -> JKK;
+ BHF -> LFD;
+ HXQ -> VNH;
+ HXQ -> FBV;
+ KDR -> HDN;
+ KDR -> HJJ;
+ SVD -> VRK;
+ SVD -> STT;
+ FGJ -> TNM;
+ FGJ -> CRD;
+ XFF -> NPD;
+ XFF -> RXQ;
+ TNC -> XKT;
+ TNC -> LRP;
+ VBM -> GJM;
+ VBM -> PBK;
+ XBV -> DGJ;
+ XBV -> QJN;
+ GXH -> LVK;
+ GXH -> QGX;
+ SLH -> HNX;
+ SLH -> QKF;
+ ZZZ -> CVN;
+ ZZZ -> SLH;
+ RTC -> TPH;
+ RTC -> FJT;
+ NQP -> MJH;
+ NQP -> MSP;
+ XSD -> STT;
+ XSD -> VRK;
+ HJJ -> XMV;
+ HJJ -> TJX;
+ JFP -> XSV;
+ JFP -> KBQ;
+ FTD -> NMN;
+ FTD -> PXX;
+ NVQ -> MSP;
+ NVQ -> MJH;
+ SHC -> PTV;
+ SHC -> XDR;
+ DCV -> TFX;
+ DCV -> TFX;
+ BTX -> JJG;
+ BTX -> FLL;
+ RDQ -> DCF;
+ RDQ -> FRH;
+ MTT -> KBQ;
+ MTT -> XSV;
+ DRB -> RML;
+ DRB -> LGR;
+ PBD -> VSX;
+ PBD -> FRS;
+ HFS -> KBM;
+ HFS -> KSJ;
+ SKJ -> NXN;
+ SKJ -> LJM;
+ MTS -> GJC;
+ MTS -> SQX;
+ BRL -> TMJ;
+ BRL -> JTT;
+ TTQ -> KFC;
+ TTQ -> DPL;
+ LQF -> DJS;
+ LQF -> FJG;
+ TKG -> JFD;
+ TKG -> RJC;
+ PGB -> BFJ;
+ PGB -> BQJ;
+ BQX -> VHC;
+ BQX -> PQH;
+ MRD -> BTB;
+ MRD -> NJK;
+ LJF -> XQR;
+ LJF -> PMH;
+ BCL -> VBK;
+ BCL -> JHN;
+ BHQ -> VMB;
+ BHQ -> SQF;
+ BSR -> LPM;
+ BSR -> VRC;
+ VNK -> GBH;
+ VNK -> LPQ;
+ KHJ -> NJG;
+ KHJ -> QQL;
+ VMB -> BBK;
+ VMB -> VXF;
+ QJM -> QDN;
+ QJM -> VFV;
+ KFC -> FSM;
+ KFC -> PMF;
+ JVN -> DMJ;
+ JVN -> SPR;
+ MVT -> RGM;
+ MVT -> HDH;
+ PQB -> BVP;
+ PQB -> NTH;
+ QQF -> KJP;
+ QQF -> BDP;
+ RGP -> JJP;
+ RGP -> MFM;
+ DLD -> VSG;
+ DLD -> BDL;
+ SCV -> CBT;
+ SCV -> LHV;
+ VTD -> KLC;
+ VTD -> QVL;
+ FCH -> GGR;
+ FCH -> TFM;
+ GJR -> QMX;
+ GJR -> CFM;
+ PMH -> GSG;
+ PMH -> JSF;
+ DCJ -> CDJ;
+ DCJ -> TRP;
+ QJX -> NVQ;
+ QJX -> NQP;
+ DJN -> JFK;
+ DJN -> HFM;
+ DQP -> DSS;
+ DQP -> PBL;
+ XXH -> NTX;
+ XXH -> QLG;
+ MXK -> JTT;
+ MXK -> TMJ;
+ FDL -> JCT;
+ FDL -> TRR;
+ MGA -> PLT;
+ MGA -> NCP;
+ HPS -> RFQ;
+ HPS -> VXV;
+ SBC -> NPD;
+ SBC -> RXQ;
+ XPD -> VHH;
+ XPD -> PDH;
+ SRX -> SSX;
+ SRX -> JRQ;
+ CKJ -> MQQ;
+ CKJ -> QJX;
+ FKT -> DCV;
+ FKT -> JKF;
+ JKP -> VFF;
+ JKP -> HCX;
+ JMN -> XSJ;
+ JMN -> CQP;
+ GLN -> SFQ;
+ GLN -> SGB;
+ PTV -> JNS;
+ PTV -> FXR;
+ FXM -> NTR;
+ FXM -> BDN;
+ DJS -> XMQ;
+ DJS -> KSN;
+ LVC -> FRD;
+ LVC -> PNN;
+ JPD -> PQP;
+ JPD -> XCX;
+ GQC -> NSQ;
+ GQC -> GJD;
+ SFK -> FFV;
+ SFK -> MMC;
+ JBD -> TFG;
+ JBD -> MSN;
+ BSZ -> RGR;
+ BSZ -> FTD;
+ SQX -> XRQ;
+ SQX -> PQB;
+ PPV -> VBD;
+ PPV -> SNX;
+ JSF -> FRT;
+ JSF -> MVG;
+ JMT -> TJG;
+ JMT -> BNV;
+ JMJ -> DCX;
+ JMJ -> BNG;
+ KJP -> QFH;
+ KJP -> VSP;
+ VXV -> SHM;
+ VXV -> NMD;
+ KLC -> XLB;
+ KLC -> MCH;
+ JMD -> XQQ;
+ JMD -> NQQ;
+ PJN -> FDL;
+ PJN -> BQC;
+ PLT -> MCP;
+ PLT -> VHB;
+ BGL -> DSC;
+ BGL -> PSN;
+ RXH -> SLH;
+ RXH -> CVN;
+ VSG -> QVX;
+ VSG -> SQS;
+ BDC -> RPS;
+ BDC -> RBL;
+ JMM -> XMJ;
+ JMM -> XDG;
+ RHK -> QKH;
+ RHK -> BTX;
+ RQX -> KSM;
+ RQX -> PLB;
+ FQH -> MHT;
+ FQH -> CDG;
+ SRM -> PLV;
+ SRM -> QGV;
+ HNX -> DSR;
+ HNX -> KGX;
+ JNS -> RJN;
+ JNS -> RXD;
+ MLP -> JMN;
+ MLP -> PCR;
+ LVK -> JHS;
+ LVK -> QMJ;
+ PRG -> TJB;
+ PRG -> MSH;
+ VGS -> JXR;
+ VGS -> JLP;
+ XQQ -> KTJ;
+ XQQ -> BMN;
+ DGA -> FTD;
+ DGA -> RGR;
+ HTX -> MTG;
+ HTX -> XBV;
+ CCB -> TXB;
+ CCB -> VTK;
+ RQT -> TLR;
+ RQT -> LDB;
+ QMX -> SHQ;
+ QMX -> DPB;
+ MDS -> KQD;
+ MDS -> DMC;
+ JDC -> LCL;
+ JDC -> SSR;
+ NHG -> JMD;
+ NHG -> RQV;
+ CBM -> DBH;
+ CBM -> BHQ;
+ RKB -> VGP;
+ RKB -> LLP;
+ SJD -> PLB;
+ SJD -> KSM;
+ CDG -> FBC;
+ CDG -> TJF;
+ QGV -> TLB;
+ QGV -> QVB;
+ BDS -> SPS;
+ BDS -> BGH;
+ DGF -> VKH;
+ DGF -> VKH;
+ RLV -> MKB;
+ RLV -> SPP;
+ SHG -> KQD;
+ SHG -> DMC;
+ KQD -> KNV;
+ KQD -> JBM;
+ RMV -> DVV;
+ RMV -> GSF;
+ MSH -> XXH;
+ MSH -> TVV;
+ FJX -> BVG;
+ FJX -> DJM;
+ KCV -> PLV;
+ KCV -> QGV;
+ MFH -> HCQ;
+ MFH -> CNF;
+ TLD -> MCK;
+ TLD -> KXR;
+ SLB -> VGP;
+ SLB -> LLP;
+ KSN -> HFF;
+ KSN -> PPV;
+ RGV -> BDP;
+ RGV -> KJP;
+ CNF -> NBF;
+ CNF -> PCM;
+ TJF -> GQB;
+ TJF -> JNP;
+ NDG -> MTS;
+ NDG -> JLF;
+ VHH -> FXM;
+ VHH -> RJB;
+ MPH -> CLK;
+ MPH -> CBH;
+ RPM -> NXD;
+ RPM -> LQF;
+ JHS -> PGH;
+ JHS -> MXS;
+ TRJ -> PJF;
+ TRJ -> HJQ;
+ RJK -> SSR;
+ RJK -> LCL;
+ DPB -> SLB;
+ DPB -> RKB;
+ XXD -> FFJ;
+ XXD -> BBX;
+ QBX -> CRF;
+ QBX -> VBM;
+ RMX -> NGM;
+ RMX -> CPL;
+ VXT -> MTL;
+ VXT -> NDG;
+ KQN -> QQF;
+ KQN -> RGV;
+ SFQ -> RLT;
+ SFQ -> RHK;
+ QGJ -> XDR;
+ QGJ -> PTV;
+ MSN -> RMV;
+ MSN -> JLV;
+ HCQ -> PCM;
+ HCQ -> NBF;
+ GKF -> PLT;
+ GKF -> NCP;
+ VCC -> HLQ;
+ VCC -> HXQ;
+ MSJ -> JKP;
+ MSJ -> NLS;
+ RFF -> BXM;
+ RFF -> SPH;
+ FBD -> DGF;
+ FBD -> VNG;
+ GLJ -> MQF;
+ GLJ -> RRT;
+ QRN -> MTH;
+ QRN -> HBT;
+ QGS -> TNM;
+ QGS -> CRD;
+ XPP -> FNB;
+ XPP -> CBM;
+ QQQ -> GHK;
+ QQQ -> DVD;
+ RBK -> PPQ;
+ RBK -> XTT;
+ HHG -> DPL;
+ HHG -> KFC;
+ SBP -> FTD;
+ SBP -> RGR;
+ MJH -> MLQ;
+ MJH -> QTG;
+ JLX -> BDS;
+ JLX -> TMM;
+ DVG -> FRH;
+ DVG -> DCF;
+ DFJ -> NSK;
+ DFJ -> PDS;
+ RHJ -> DKM;
+ RHJ -> TDJ;
+ FQN -> JKT;
+ FQN -> MVK;
+ RMD -> LGR;
+ RMD -> RML;
+ JTB -> VDP;
+ JTB -> BSL;
+ GJM -> NLD;
+ GJM -> RHJ;
+ LGP -> CPC;
+ LGP -> NQN;
+ JHN -> NBQ;
+ JHN -> MSJ;
+ SQF -> BBK;
+ SQF -> VXF;
+ HST -> CFM;
+ HST -> QMX;
+ LBJ -> TBP;
+ LBJ -> VNK;
+ SNX -> PCX;
+ SNX -> RMX;
+ PJF -> MGX;
+ PJF -> SKS;
+ RRT -> JTB;
+ RRT -> LSC;
+ JTT -> MLM;
+ JTT -> GLJ;
+ DLQ -> JBQ;
+ DLQ -> RND;
+ LGR -> QRV;
+ LGR -> XXD;
+ LPT -> BSR;
+ LPT -> SHH;
+ HQB -> BRL;
+ HQB -> MXK;
+ TRP -> LFM;
+ TRP -> LCT;
+ JKT -> RNM;
+ JKT -> TRJ;
+ MXS -> GQR;
+ MXS -> KQN;
+ MKB -> LVQ;
+ MKB -> NNX;
+ NDC -> RGK;
+ NDC -> LVC;
+ LFN -> RRL;
+ LFN -> XNF;
+ SHQ -> RKB;
+ SHQ -> SLB;
+ JGX -> NGV;
+ JGX -> HNM;
+ RPN -> BCL;
+ RPN -> CDR;
+ JSJ -> CRH;
+ JSJ -> FHR;
+ FRH -> THR;
+ FRH -> TSX;
+ BNV -> RXS;
+ BNV -> LGP;
+ FLL -> GSR;
+ FLL -> PVF;
+ DNS -> JLP;
+ DNS -> JXR;
+ HDN -> TJX;
+ HDN -> XMV;
+ HJQ -> SKS;
+ HJQ -> MGX;
+ TNX -> SJD;
+ TNX -> RQX;
+ XQD -> BFR;
+ XQD -> MDM;
+ GNM -> HPQ;
+ GNM -> SLS;
+ NML -> DGF;
+ NML -> VNG;
+ BXM -> FJB;
+ BXM -> FQN;
+ MSP -> QTG;
+ MSP -> MLQ;
+ PBJ -> XLJ;
+ PBJ -> TKD;
+ MNN -> DNS;
+ MNN -> VGS;
+ RBH -> PDS;
+ RBH -> NSK;
+ BFJ -> KNT;
+ BFJ -> SDP;
+ CRD -> PBC;
+ CRD -> BFK;
+ TJB -> XXH;
+ TJB -> TVV;
+ PDJ -> SRN;
+ PDJ -> SRN;
+ XJS -> HBG;
+ XJS -> FRX;
+ BBK -> LLH;
+ BBK -> PNP;
+ QQL -> MFR;
+ QQL -> KKZ;
+ FVN -> LGL;
+ FVN -> SRX;
+ LRP -> GXT;
+ LRP -> BSF;
+ SVX -> MSN;
+ SVX -> TFG;
+ PFC -> PCP;
+ PFC -> FGB;
+ XMJ -> GKF;
+ XMJ -> GKF;
+ LLL -> DNS;
+ LLL -> VGS;
+ VSX -> TKG;
+ VSX -> DHL;
+ RND -> SBC;
+ RND -> XFF;
+ MLQ -> DXT;
+ MLQ -> JMT;
+ XLC -> TTG;
+ XLC -> QTK;
+ TJG -> RXS;
+ TJG -> LGP;
+ DPL -> PMF;
+ DPL -> FSM;
+ PCR -> CQP;
+ PCR -> XSJ;
+ BSQ -> XSD;
+ BSQ -> SVD;
+ DHP -> HPS;
+ DHP -> MNQ;
+ SCB -> HXX;
+ SCB -> NQV;
+ FFJ -> LJF;
+ FFJ -> BSV;
+ FTX -> VTK;
+ FTX -> TXB;
+ TRQ -> PCR;
+ TRQ -> JMN;
+ GDL -> PBD;
+ GDL -> BJK;
+ MLM -> RRT;
+ MLM -> MQF;
+ TLA -> QXP;
+ TLA -> MKM;
+ SMN -> LFN;
+ SMN -> FVJ;
+ RRL -> CKJ;
+ RRL -> JNK;
+ BDP -> VSP;
+ BDP -> QFH;
+ CBC -> DVN;
+ CBC -> VXT;
+ JLP -> PTL;
+ JLP -> SJK;
+ FRS -> TKG;
+ FRS -> DHL;
+ SQQ -> MPL;
+ SQQ -> QBQ;
+ DVD -> RLK;
+ DVD -> JPD;
+ PQP -> LGN;
+ PQP -> SFD;
+ FSM -> JDC;
+ FSM -> RJK;
+ PSN -> XJS;
+ PSN -> NRN;
+ QDN -> SHC;
+ QDN -> QGJ;
+ RJN -> XPD;
+ RJN -> GMS;
+ HRT -> PPQ;
+ HRT -> XTT;
+ CBH -> SRM;
+ CBH -> KCV;
+ FSC -> XBV;
+ FSC -> MTG;
+ DCX -> CLX;
+ DCX -> PFC;
+ XQR -> GSG;
+ XQR -> JSF;
+ HBP -> XDT;
+ HBP -> KNF;
+ BQJ -> KNT;
+ BQJ -> SDP;
+ CDJ -> LFM;
+ CDJ -> LCT;
+ JNK -> MQQ;
+ JNK -> QJX;
+ BVP -> MTF;
+ BVP -> SDC;
+ TLR -> RHC;
+ TLR -> NLP;
+ SJK -> DQP;
+ SJK -> LMN;
+ NJG -> MFR;
+ NJG -> MFR;
+ RLK -> XCX;
+ RLK -> PQP;
+ TPH -> BXH;
+ TPH -> GSQ;
+ NSK -> DDS;
+ NSK -> MLV;
+ HLQ -> FBV;
+ HLQ -> VNH;
+ JTP -> FSN;
+ JTP -> QQQ;
+ PGH -> KQN;
+ PGH -> GQR;
+ SRJ -> PXK;
+ SRJ -> GDL;
+ TJR -> FHR;
+ TJR -> CRH;
+ XDT -> BKJ;
+ XDT -> PPJ;
+ GQH -> RLV;
+ GQH -> THP;
+ GRS -> BDL;
+ GRS -> VSG;
+ DLJ -> CRF;
+ DLJ -> VBM;
+ VMP -> GJD;
+ VMP -> NSQ;
+ MKM -> VTG;
+ MKM -> BDC;
+ PVF -> VLX;
+ PVF -> LBB;
+ GPV -> SRJ;
+ GPV -> FNQ;
+ NTL -> FSN;
+ NTL -> QQQ;
+ FQL -> BFR;
+ FQL -> MDM;
+ TMJ -> MLM;
+ TMJ -> GLJ;
+ XKT -> GXT;
+ XKT -> BSF;
+ PCX -> NGM;
+ PCX -> CPL;
+ XMV -> HQB;
+ XMV -> JRJ;
+ QKH -> FLL;
+ QKH -> JJG;
+ VQP -> FLG;
+ VQP -> DDL;
+ SLS -> CKK;
+ SLS -> HVF;
+ THM -> RDQ;
+ THM -> DVG;
+ PPJ -> GCT;
+ PPJ -> TNX;
+ TMM -> BGH;
+ TMM -> SPS;
+ GVL -> PCG;
+ GVL -> RQS;
+ DCF -> TSX;
+ DCF -> THR;
+ BJK -> FRS;
+ BJK -> VSX;
+ SPP -> NNX;
+ SPP -> LVQ;
+ QGX -> QMJ;
+ QGX -> JHS;
+ RPV -> HGR;
+ RPV -> DHP;
+ MTG -> DGJ;
+ MTG -> QJN;
+ KGL -> XGD;
+ KGL -> MQC;
+ DHD -> RND;
+ DHD -> JBQ;
+ BXD -> KFH;
+ BXD -> HTM;
+ KGX -> MPD;
+ KGX -> BST;
+ QVB -> LKT;
+ QVB -> RGT;
+ CBK -> RDG;
+ CBK -> PKT;
+ BTB -> JMJ;
+ BTB -> CTD;
+ FSN -> DVD;
+ FSN -> GHK;
+ KXR -> FFT;
+ KXR -> DVQ;
+ TML -> GPV;
+ TML -> PVN;
+ VXF -> PNP;
+ VXF -> LLH;
+ DBH -> SQF;
+ DBH -> VMB;
+ FCP -> JKK;
+ FCP -> LFD;
+ RXQ -> DJN;
+ RXQ -> RFJ;
+ NTH -> SDC;
+ NTH -> MTF;
+ JBM -> SVX;
+ JBM -> JBD;
+ PNN -> FJX;
+ PNN -> SLZ;
+ GQR -> QQF;
+ GQR -> RGV;
+ PXR -> LRP;
+ PXR -> XKT;
+ VRK -> RDJ;
+ VRK -> SMN;
+ LDB -> RHC;
+ LDB -> NLP;
+ LHV -> RXH;
+ LHV -> ZZZ;
+ FNB -> DBH;
+ FNB -> BHQ;
+ MFM -> VMP;
+ MFM -> GQC;
+ PGV -> PKT;
+ PGV -> RDG;
+ SPR -> XJP;
+ SPR -> SHD;
+ CCR -> LQF;
+ CCR -> NXD;
+ GJC -> XRQ;
+ GJC -> PQB;
+ LGN -> GRS;
+ LGN -> DLD;
+ RDG -> FBD;
+ RDG -> NML;
+ MCP -> DLC;
+ MCP -> TGK;
+ NMD -> XFR;
+ NMD -> GRK;
+ MVK -> TRJ;
+ MVK -> RNM;
+ JKF -> TFX;
+ JKF -> KHJ;
+ XFR -> SMG;
+ XFR -> JNQ;
+ NGM -> XPX;
+ NGM -> JLX;
+ MFD -> GVL;
+ MFD -> MBR;
+ RNT -> CDR;
+ RNT -> BCL;
+ VVX -> XMJ;
+ VVX -> XMJ;
+ GNC -> HST;
+ GNC -> GJR;
+ CRF -> PBK;
+ CRF -> GJM;
+ JKK -> GCQ;
+ JKK -> SGC;
+ GBH -> QDR;
+ GBH -> RFF;
+ FJG -> XMQ;
+ FJG -> KSN;
+ GDV -> GQN;
+ GDV -> GXH;
+ XLB -> FMN;
+ XLB -> JVN;
+ KNV -> JBD;
+ KNV -> SVX;
+ PXX -> HHG;
+ PXX -> TTQ;
+ TDJ -> MFD;
+ TDJ -> QJT;
+ QLG -> PJN;
+ QLG -> VFS;
+ NRN -> HBG;
+ NRN -> FRX;
+ SHM -> GRK;
+ SHM -> XFR;
+ FHV -> HXX;
+ FHV -> NQV;
+ QFH -> GNC;
+ QFH -> CHX;
+ PCM -> QLQ;
+ PCM -> MPH;
+ VLX -> QMR;
+ VLX -> PBJ;
+ RPP -> HRT;
+ RPP -> RBK;
+ JXR -> SJK;
+ JXR -> PTL;
+ LPQ -> QDR;
+ LPQ -> RFF;
+ BFR -> STC;
+ BFR -> PJT;
+ XTT -> CBC;
+ XTT -> DSH;
+ HVF -> VTD;
+ HVF -> KDC;
+ JFJ -> FCP;
+ JFJ -> BHF;
+ LVQ -> PRG;
+ LVQ -> MQP;
+ JFD -> RBH;
+ JFD -> DFJ;
+ HFM -> TPJ;
+ HFM -> JGX;
+ BSV -> XQR;
+ BSV -> PMH;
+ JLC -> GGR;
+ JLC -> TFM;
+ NSQ -> FHV;
+ NSQ -> SCB;
+ NCP -> VHB;
+ NCP -> MCP;
+ JKB -> LDB;
+ JKB -> TLR;
+ BLX -> PDJ;
+ BLX -> GBX;
+ SVP -> BQJ;
+ SVP -> BFJ;
+ VSP -> CHX;
+ VSP -> GNC;
+ SPH -> FJB;
+ SPH -> FQN;
+ RPS -> VNF;
+ RPS -> BXD;
+ QMR -> TKD;
+ QMR -> XLJ;
+ QMJ -> MXS;
+ QMJ -> PGH;
+ JNB -> LGL;
+ JNB -> SRX;
+ RGM -> JTP;
+ RGM -> NTL;
+ GHK -> JPD;
+ GHK -> RLK;
+ TFX -> NJG;
+ TFX -> NJG;
+ NBQ -> JKP;
+ NBQ -> NLS;
+ NTX -> VFS;
+ NTX -> PJN;
+ QTS -> RQV;
+ QTS -> JMD;
+ LMN -> DSS;
+ LMN -> PBL;
+ CLK -> SRM;
+ CLK -> KCV;
+ MPD -> RMD;
+ MPD -> DRB;
+ PDS -> DDS;
+ PDS -> MLV;
+ NNX -> PRG;
+ NNX -> MQP;
+ BST -> DRB;
+ BST -> RMD;
+ DSG -> SGV;
+ DSG -> DVB;
+ KDC -> QVL;
+ KDC -> KLC;
+ VKX -> PSN;
+ VKX -> DSC;
+ LJM -> DBB;
+ LJM -> QXN;
+ VFV -> SHC;
+ VFV -> QGJ;
+ FXR -> RJN;
+ FXR -> RXD;
+ HGR -> HPS;
+ HGR -> MNQ;
+ BMN -> CCR;
+ BMN -> RPM;
+ CRH -> FSC;
+ CRH -> HTX;
+ QRV -> BBX;
+ QRV -> FFJ;
+ CKK -> VTD;
+ CKK -> KDC;
+ SDP -> RNT;
+ SDP -> RPN;
+ XLJ -> JTX;
+ XLJ -> QRN;
+ BSL -> PFL;
+ BSL -> GLN;
+ GJD -> FHV;
+ GJD -> SCB;
+ VNH -> DCJ;
+ VNH -> CXG;
+ BCB -> MXJ;
+ BCB -> LVR;
+ NBF -> MPH;
+ NBF -> QLQ;
+ MCK -> DVQ;
+ MCK -> FFT;
+ RFJ -> HFM;
+ RFJ -> JFK;
+ BBD -> LJM;
+ BBD -> NXN;
+ FMN -> SPR;
+ FMN -> DMJ;
+ JXK -> GPK;
+ JXK -> VQP;
+ SLL -> MHT;
+ SLL -> CDG;
+ TRR -> GNM;
+ TRR -> CSC;
+ MJC -> KXR;
+ MJC -> MCK;
+ MHT -> FBC;
+ MHT -> TJF;
+ TSF -> HDH;
+ TSF -> RGM;
+ FLG -> FQL;
+ FLG -> XQD;
+ MGX -> SLL;
+ MGX -> FQH;
+ RGR -> NMN;
+ RGR -> PXX;
+ RDA -> BVG;
+ RDA -> DJM;
+ VXX -> DHD;
+ VXX -> DLQ;
+ DXT -> BNV;
+ DXT -> TJG;
+ LCL -> DHV;
+ LCL -> NHN;
+ CKB -> FNN;
+ CKB -> FKT;
+ KNH -> LVR;
+ KNH -> MXJ;
+ GSQ -> PGR;
+ GSQ -> NDC;
+ CFM -> DPB;
+ CFM -> SHQ;
+ HDH -> JTP;
+ HDH -> NTL;
+ NSF -> VFV;
+ NSF -> QDN;
+ HSF -> KSJ;
+ HSF -> KBM;
+ GSR -> VLX;
+ GSR -> LBB;
+ GCT -> RQX;
+ GCT -> SJD;
+ RBN -> XDT;
+ RBN -> KNF;
+ XNF -> JNK;
+ XNF -> CKJ;
+ TCF -> RBK;
+ TCF -> HRT;
+ DPA -> MDS;
+ DPA -> SHG;
+ QTG -> JMT;
+ QTG -> DXT;
+ RGT -> SBP;
+ RGT -> BSZ;
+ XCX -> SFD;
+ XCX -> LGN;
+ KSJ -> KDR;
+ KSJ -> GKG;
+ GQN -> QGX;
+ GQN -> LVK;
+ MDM -> PJT;
+ MDM -> STC;
+ KKZ -> MKM;
+ KKZ -> QXP;
+ MQC -> JQL;
+ MQC -> TML;
+ VFS -> FDL;
+ VFS -> BQC;
+ TJX -> JRJ;
+ TJX -> HQB;
+ BSF -> MTT;
+ BSF -> JFP;
+ VMD -> PQH;
+ VMD -> VHC;
+ JTX -> HBT;
+ JTX -> MTH;
+ MCH -> FMN;
+ MCH -> JVN;
+ VBK -> MSJ;
+ VBK -> NBQ;
+ TBP -> GBH;
+ TBP -> LPQ;
+ TVX -> VQP;
+ TVX -> GPK;
+ NQN -> SVP;
+ NQN -> PGB;
+ SMG -> XLC;
+ SMG -> NVB;
+ SHD -> BCB;
+ SHD -> KNH;
+ JLF -> SQX;
+ JLF -> GJC;
+ GSF -> QTS;
+ GSF -> NHG;
+ BDN -> PNX;
+ BDN -> RGP;
+ GRK -> SMG;
+ GRK -> JNQ;
+ PLV -> TLB;
+ PLV -> TLB;
+ SQS -> HTJ;
+ SQS -> VRH;
+ PDH -> FXM;
+ PDH -> RJB;
+ VGP -> LLL;
+ VGP -> MNN;
+ JRQ -> TVT;
+ JRQ -> BLX;
+ CLX -> PCP;
+ CLX -> FGB;
+ PMF -> JDC;
+ PMF -> RJK;
+ JRJ -> BRL;
+ JRJ -> MXK;
+ XMQ -> PPV;
+ XMQ -> HFF;
+ BVT -> RQT;
+ BVT -> JKB;
+ FJT -> BXH;
+ FJT -> GSQ;
+ FRT -> TNC;
+ FRT -> PXR;
+ QVL -> XLB;
+ QVL -> MCH;
+ TNM -> BFK;
+ TNM -> PBC;
+ XPX -> BDS;
+ XPX -> TMM;
+ XCN -> SHH;
+ XCN -> BSR;
+ PKT -> FBD;
+ PKT -> NML;
+ TLB -> LKT;
+ TLB -> LKT;
+ TFG -> RMV;
+ TFG -> JLV;
+ SRN -> MDS;
+ SRN -> SHG;
+ FRC -> BHF;
+ FRC -> FCP;
+ GGR -> RTC;
+ GGR -> DKJ;
+ KFH -> JXK;
+ KFH -> TVX;
+ JNQ -> XLC;
+ JNQ -> NVB;
+ MTF -> RGC;
+ MTF -> THM;
+ STT -> RDJ;
+ STT -> SMN;
+ CPL -> XPX;
+ CPL -> JLX;
+ FGB -> XPP;
+ FGB -> QQR;
+ DLC -> RPP;
+ DLC -> TCF;
+ DJM -> QXH;
+ DJM -> BSQ;
+ MBH -> SGS;
+ MBH -> LBJ;
+ VBD -> RMX;
+ VBD -> PCX;
+ CXG -> TRP;
+ CXG -> CDJ;
+ NGV -> VMD;
+ NGV -> BQX;
+ GQB -> DRN;
+ GQB -> NXS;
+ FHR -> HTX;
+ FHR -> FSC;
+ DDL -> FQL;
+ DDL -> XQD;
+ FBC -> JNP;
+ FBC -> GQB;
+ DKJ -> TPH;
+ DKJ -> FJT;
+ RQB -> GQN;
+ RQB -> GXH;
+ LPM -> RDD;
+ LPM -> MRD;
+ BKJ -> GCT;
+ BKJ -> TNX;
+ GMS -> PDH;
+ GMS -> VHH;
+ HTM -> JXK;
+ HTM -> TVX;
+ PPQ -> CBC;
+ PPQ -> DSH;
+ MBR -> RQS;
+ MBR -> PCG;
+ PJT -> FGJ;
+ PJT -> QGS;
+ PQH -> RBN;
+ PQH -> HBP;
+ CBT -> RXH;
+ CBT -> RXH;
+ CHX -> HST;
+ CHX -> GJR;
+ BQC -> JCT;
+ BQC -> TRR;
+ NJK -> JMJ;
+ NJK -> CTD;
+ QVX -> VRH;
+ QVX -> HTJ;
+ KKM -> FTX;
+ KKM -> CCB;
+ NXN -> DBB;
+ NXN -> QXN;
+ JQL -> GPV;
+ JQL -> PVN;
+ MFR -> QXP;
+ MFR -> MKM;
+ VML -> HGR;
+ VML -> DHP;
+ PCJ -> THP;
+ PCJ -> RLV;
+ XRQ -> BVP;
+ XRQ -> NTH;
+ PXK -> PBD;
+ PXK -> BJK;
+ HCX -> HFS;
+ HCX -> HSF;
+ QJT -> MBR;
+ QJT -> GVL;
+ RLT -> BTX;
+ RLT -> QKH;
+ DKG -> QBQ;
+ DKG -> MPL;
+ CQP -> TSF;
+ CQP -> MVT;
+ HFF -> VBD;
+ HFF -> SNX;
+ KNF -> BKJ;
+ KNF -> PPJ;
+ FFT -> JFJ;
+ FFT -> FRC;
+ DDS -> PGK;
+ DDS -> DSG;
+ PFL -> SGB;
+ PFL -> SFQ;
+ RXS -> CPC;
+ RXS -> NQN;
+ XSV -> XCN;
+ XSV -> LPT;
+ MNQ -> VXV;
+ MNQ -> RFQ;
+ PVN -> SRJ;
+ PVN -> FNQ;
+ VNF -> KFH;
+ VNF -> HTM;
+ HPQ -> HVF;
+ HPQ -> CKK;
+ PGK -> DVB;
+ PGK -> SGV;
+ VHC -> HBP;
+ VHC -> RBN;
+ GBX -> SRN;
+ GBX -> RXZ;
+ SGV -> CBK;
+ SGV -> PGV;
+ TVV -> QLG;
+ TVV -> NTX;
+ KNT -> RPN;
+ KNT -> RNT;
+ TXB -> NSF;
+ TXB -> QJM;
+ PCP -> XPP;
+ PCP -> QQR;
+ PCG -> BDV;
+ PCG -> VXX;
+ MQF -> LSC;
+ MQF -> JTB;
+ QJN -> CKB;
+ QJN -> QSX;
+ QXH -> SVD;
+ QXH -> XSD;
+ LCT -> PCJ;
+ LCT -> GQH;
+ GKG -> HDN;
+ GKG -> HJJ;
+ TKD -> JTX;
+ TKD -> QRN;
+ KBQ -> XCN;
+ KBQ -> LPT;
+ KSM -> VKX;
+ KSM -> BGL;
+ MQQ -> NQP;
+ MQQ -> NVQ;
+ VFF -> HFS;
+ VFF -> HSF;
+ SSX -> TVT;
+ SSX -> TVT;
+ DSS -> VVX;
+ DSS -> VVX;
+ QDR -> SPH;
+ QDR -> BXM;
+ PGR -> RGK;
+ PGR -> RGK;
+ RML -> QRV;
+ RML -> XXD;
+ XDR -> JNS;
+ XDR -> FXR;
+ DVB -> PGV;
+ DVB -> CBK;
+ TSX -> QBX;
+ TSX -> DLJ;
+ QBQ -> TJR;
+ QBQ -> JSJ;
+ BBX -> LJF;
+ BBX -> BSV;
+ PTL -> DQP;
+ PTL -> LMN;
+ PBC -> BBD;
+ PBC -> SKJ;
+ VHB -> DLC;
+ VHB -> TGK;
+ XJP -> BCB;
+ XJP -> KNH;
+ STC -> QGS;
+ STC -> FGJ;
+ FNQ -> PXK;
+ FNQ -> GDL;
+ MXJ -> LHK;
+ MXJ -> BBB;
+ JNP -> NXS;
+ JNP -> DRN;
+ SGS -> TBP;
+ SGS -> VNK;
+ RFQ -> SHM;
+ RFQ -> NMD;
+ MLV -> DSG;
+ MLV -> PGK;
+ CDR -> VBK;
+ CDR -> JHN;
+ CTD -> DCX;
+ CTD -> BNG;
+ FRD -> FJX;
+ FRD -> FJX;
+ GCQ -> FCH;
+ GCQ -> JLC;
+ NXS -> KGL;
+ NXS -> LTN;
+ JBQ -> SBC;
+ JBQ -> XFF;
+ NLD -> DKM;
+ NLD -> TDJ;
+ VTG -> RBL;
+ VTG -> RPS;
+ JJG -> GSR;
+ JJG -> PVF;
+ DKM -> QJT;
+ DKM -> MFD;
+ RDJ -> LFN;
+ RDJ -> FVJ;
+ KTJ -> RPM;
+ KTJ -> CCR;
+ GSG -> FRT;
+ GSG -> MVG;
+ MTL -> JLF;
+ MTL -> MTS;
+ PNP -> RPV;
+ PNP -> VML;
+ TTG -> MBH;
+ TTG -> GJX;
+ LSC -> VDP;
+ LSC -> BSL;
+ THR -> DLJ;
+ THR -> QBX;
+ NQV -> BVT;
+ NQV -> XQK;
+ LBB -> PBJ;
+ LBB -> QMR;
+ NQQ -> KTJ;
+ NQQ -> BMN;
+ DMJ -> XJP;
+ DMJ -> SHD;
+ DSC -> XJS;
+ DSC -> NRN;
+ RXD -> GMS;
+ RXD -> XPD;
+ KBM -> GKG;
+ KBM -> KDR;
+ LLP -> LLL;
+ LLP -> MNN;
+ HNM -> VMD;
+ HNM -> BQX;
+ VNG -> VKH;
+ VNG -> SCV;
+ XDG -> GKF;
+ XDG -> CTZ;
+ PNX -> MFM;
+ PNX -> JJP;
+ PBK -> RHJ;
+ PBK -> NLD;
+ BVR -> CNF;
+ BVR -> HCQ;
+ DHV -> VCC;
+ DHV -> RXL;
+ TGK -> RPP;
+ TGK -> TCF;
+ RDD -> NJK;
+ RDD -> BTB;
+ NMN -> HHG;
+ NMN -> TTQ;
+ HJF -> HPJ;
+ HJF -> SFK;
+ BDV -> DLQ;
+ BDV -> DHD;
+ TVT -> PDJ;
+ TVT -> PDJ;
+ BGH -> TRQ;
+ BGH -> MLP;
+ FVJ -> RRL;
+ FVJ -> XNF;
+ DBB -> KKM;
+ DBB -> CGV;
+}
diff --git a/day-8/out.png b/day-8/out.png
new file mode 100644
index 0000000..3bc8c0a
--- /dev/null
+++ b/day-8/out.png
Binary files differ
diff --git a/day-8/script.ts b/day-8/script.ts
index 87e33cd..a9870c1 100644
--- a/day-8/script.ts
+++ b/day-8/script.ts
@@ -55,3 +55,13 @@ const result = startingNodes
.reduce((acc, x) => lcm(acc, x), 1);
console.log({ result });
+
+// Visualization into graphviz file
+// $ neato graph.dot -Tpng -o out.png
+const dotFile = "graph.dot";
+fs.writeFileSync(dotFile, "digraph aoc {\n");
+nodes.forEach((node) => {
+ fs.appendFileSync(dotFile, ` ${node.name} -> ${nodes[node.left].name};\n`);
+ fs.appendFileSync(dotFile, ` ${node.name} -> ${nodes[node.right].name};\n`);
+});
+fs.appendFileSync(dotFile, "}\n");