diff --git a/AdventOfCode.sln b/AdventOfCode.sln
index bc57254..3218e0e 100644
--- a/AdventOfCode.sln
+++ b/AdventOfCode.sln
@@ -100,6 +100,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Day24_1", "Day24_1\Day24_1.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Day24_2", "Day24_2\Day24_2.csproj", "{9EFF6200-BB72-4969-9612-3182A1E20A43}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Day25_1", "Day25_1\Day25_1.csproj", "{76D9EFBA-0FFA-4463-9249-93D2F6A5BC33}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -114,14 +116,6 @@ Global
{7ED15525-D801-438E-9800-79C2251C53AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7ED15525-D801-438E-9800-79C2251C53AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7ED15525-D801-438E-9800-79C2251C53AE}.Release|Any CPU.Build.0 = Release|Any CPU
- {9EFF6200-BB72-4969-9612-3182A1E20A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9EFF6200-BB72-4969-9612-3182A1E20A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9EFF6200-BB72-4969-9612-3182A1E20A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9EFF6200-BB72-4969-9612-3182A1E20A43}.Release|Any CPU.Build.0 = Release|Any CPU
- {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Release|Any CPU.Build.0 = Release|Any CPU
{D5968FD4-5504-4B08-A64F-1BC7DE3BE7EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5968FD4-5504-4B08-A64F-1BC7DE3BE7EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5968FD4-5504-4B08-A64F-1BC7DE3BE7EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -302,6 +296,18 @@ Global
{A092FFB8-D3D1-426A-87FC-CB317521F3F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A092FFB8-D3D1-426A-87FC-CB317521F3F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A092FFB8-D3D1-426A-87FC-CB317521F3F5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C2B32C5F-0BA2-48C2-9538-81524D7C3D71}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9EFF6200-BB72-4969-9612-3182A1E20A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9EFF6200-BB72-4969-9612-3182A1E20A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9EFF6200-BB72-4969-9612-3182A1E20A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9EFF6200-BB72-4969-9612-3182A1E20A43}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76D9EFBA-0FFA-4463-9249-93D2F6A5BC33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76D9EFBA-0FFA-4463-9249-93D2F6A5BC33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76D9EFBA-0FFA-4463-9249-93D2F6A5BC33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76D9EFBA-0FFA-4463-9249-93D2F6A5BC33}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Day25_1/Day25_1.csproj b/Day25_1/Day25_1.csproj
new file mode 100644
index 0000000..7a8e773
--- /dev/null
+++ b/Day25_1/Day25_1.csproj
@@ -0,0 +1,28 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Day25_1/Program.cs b/Day25_1/Program.cs
new file mode 100644
index 0000000..fc9abd7
--- /dev/null
+++ b/Day25_1/Program.cs
@@ -0,0 +1,127 @@
+var input = File.ReadAllLines("input.txt");
+
+Dictionary vertices = new();
+
+foreach (var line in input)
+{
+ var parts = line.Split(':');
+ var name = parts[0].Trim();
+ var connections = parts[1].Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();
+
+ if (!vertices.ContainsKey(name))
+ {
+ vertices[name] = new Vertex(name);
+ }
+
+ foreach (var connection in connections)
+ {
+ if (!vertices.ContainsKey(connection))
+ {
+ vertices[connection] = new Vertex(connection);
+ }
+
+ vertices[name].Connections.Add(vertices[connection]);
+ vertices[connection].Connections.Add(vertices[name]);
+ }
+}
+
+var startVertex = vertices.Values.First();
+for (int i = 0; i < 3; i++)
+{
+ var (farthestVertex, path) = FindFarthest(startVertex);
+
+ for (int j = 1; j < path.Length; j++)
+ {
+ var from = path[j - 1];
+ var to = path[j];
+ from.Connections.Remove(to);
+ to.Connections.Remove(from);
+ }
+
+ startVertex = farthestVertex;
+}
+
+var componentRepresentative = startVertex;
+var componentSize = CalculateComponentSize(componentRepresentative);
+
+Console.WriteLine(componentSize * (vertices.Count - componentSize));
+
+(Vertex farthest, Vertex[] path) FindFarthest(Vertex source)
+{
+ var queue = new Queue();
+ queue.Enqueue(source);
+ var visited = new HashSet();
+ var distances = new Dictionary();
+ Vertex farthest = source;
+ Dictionary previous = new();
+ previous[source] = null;
+ distances[source] = 0;
+
+ while (queue.Count > 0)
+ {
+ var current = queue.Dequeue();
+
+ if (visited.Contains(current))
+ {
+ continue;
+ }
+
+ visited.Add(current);
+
+ foreach (var connection in current.Connections)
+ {
+ if (visited.Contains(connection))
+ {
+ continue;
+ }
+
+ distances[connection] = distances[current] + 1;
+ previous[connection] = current;
+ queue.Enqueue(connection);
+
+ if (distances[connection] > distances[farthest])
+ {
+ farthest = connection;
+ }
+ }
+ }
+
+ var path = new List();
+ var pathVertex = farthest;
+ while (pathVertex != null)
+ {
+ path.Add(pathVertex);
+ pathVertex = previous[pathVertex];
+ }
+
+ return (farthest, path.ToArray());
+}
+
+int CalculateComponentSize(Vertex componentRepresentative)
+{
+ var visited = new HashSet();
+ var queue = new Queue();
+ queue.Enqueue(componentRepresentative);
+ visited.Add(componentRepresentative);
+ while (queue.Count > 0)
+ {
+ var current = queue.Dequeue();
+ foreach (var connection in current.Connections)
+ {
+ if (visited.Contains(connection))
+ {
+ continue;
+ }
+
+ visited.Add(connection);
+ queue.Enqueue(connection);
+ }
+ }
+
+ return visited.Count;
+}
+
+public record Vertex(string Name)
+{
+ public List Connections = new();
+}
\ No newline at end of file
diff --git a/Day25_1/Properties/launchSettings.json b/Day25_1/Properties/launchSettings.json
new file mode 100644
index 0000000..458e04e
--- /dev/null
+++ b/Day25_1/Properties/launchSettings.json
@@ -0,0 +1,7 @@
+{
+ "profiles": {
+ "Run": {
+ "commandName": "Project"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Day25_1/input.txt b/Day25_1/input.txt
new file mode 100644
index 0000000..b37bf69
--- /dev/null
+++ b/Day25_1/input.txt
@@ -0,0 +1,1163 @@
+xqz: mvd jch lxn txj tns
+qrt: spp mbz
+slm: xdc
+rnv: dmq
+npx: llg szn mjz dhv ddr
+shm: zrq jkq vgx
+jfk: mmg trr
+qbv: fbc zgt
+crx: jtm rlg kdb kxg
+jnn: hqt mcv
+zvg: szx
+xrt: sjs hnf nnn
+fxj: nsf nln sjl
+prh: tfc
+kmg: gct jpl fgr jgm
+cbs: trb
+ldj: jsq bxs jbk
+lkh: cfp dll
+gdb: jmg bgr lkk nhd
+jgq: qpm trb szg
+cgd: jzh xsr
+klk: smz
+klc: mmg jsp zlf brx fqf
+xsr: znq
+ljh: sst
+src: xmv
+nhp: gxc src lzz
+kbh: txj zsx
+lrf: pkc
+lrv: jzr pks
+gzp: brx qcr
+vfg: cmv
+gtn: krd bsj jgt
+rqx: rfv pnc
+rzv: dmq
+bjh: mvd
+pxn: dhf
+pgn: htz lpf tsx nfv bvb
+qrb: dtt
+mjk: tsd kpv
+fbc: zcz hkj
+jqr: pxz
+bkl: zks kpg bmj vbf
+nsk: dkl jzg
+xrn: zdd hfx qvt
+gtm: ccb sng vlx shr
+mkr: thp mzj hfc lrp
+htx: rfk
+jxl: vkd grb mps lxr mlt
+gmf: rdz jxq
+crc: tvd qmt xxf dzs
+tqt: gff
+gvm: lvj ddk hvc hzc
+gjv: rkm qsh nfl zhl
+fpv: htm mdn
+psl: qfq
+vdm: pmv hhm
+chv: dch bqv nsl qtg fsp
+xlc: xqg hvc
+llr: vkh fcb zcn
+kpp: ghz bsq
+czf: dfs cll qfq
+pmg: pzc
+jjg: jdb mlq mmj vsk
+qkk: jch grf
+gtd: ggb ftq
+djr: zpr dgr
+bpj: vzl lkb lrf
+mfp: nhd qsl hnt nth
+ngr: fhg jxn gsn
+kvj: nfh qxl
+pmv: mmx gbq lqx zqt
+xdh: lzr tth gkv
+fsg: znf gfh tvt
+pln: rkz vgs
+dhl: qrb zfq bjx
+rrv: hqt nxh kvk
+vgt: vnx
+dcv: cmt ffx
+tfc: nnh
+mlg: cmc cmt sst nfp
+rlg: dvh
+htm: bmj
+sls: vsm xks vds glp snr jdm
+nrc: ztf tns tzk
+fdm: klz hjx vzl rlr
+pxl: zzf pps gtt rzv
+fkr: hkp tsx
+gsn: dkf
+xqm: rrv
+hlp: sxf cgt
+nxg: rxf lcg
+gzd: qdm qsd vrf hpd fsb
+vkd: tvl kvt
+cbb: gbm qrh fhg
+vpf: kct xbp ggx dhj
+lpk: gfv vcv jmk
+qlv: zzn
+fmg: vmj gbm kvt rjs
+bmn: ngq gkx pks vcz
+stm: pgc hlp lbx rrr
+qkr: hlf cfm ctl kxv ggx vjm
+gnl: kkj ltg bsl sfd
+gdj: bzs ncn grb
+rql: xnp rdf zzn qnq
+lzz: qpd
+pbf: hlv xgb
+kgj: tkh
+bxd: qrh ngm qks
+svs: qkd
+llg: zpl fqh jgf kdr
+sbc: sft fcc lpk pjm trs qpz rnv
+bzm: kck mdn svk zrb nnn
+zdd: txj
+qnh: ngm
+jqh: jgt bsj nsk
+drx: mpm fhh vvx
+nvr: hrr mcv kfz
+ddk: srp ctj sgx pgr
+kxs: rvk jsq fnc
+hpx: hlz qlv kqg
+rgm: bkf jdm
+dnf: gls
+mcz: qld cjf
+hcc: hlv vhc dpm
+bgz: jnb bqk rvc klk
+lhc: rgc psr tkf qmt
+kds: vhc fdm llx mpx
+sxc: fnc
+vdq: rcg
+jsf: kvk
+pbm: mgk gzn mbq tph
+thf: fqn qsh xsf kzb
+rlz: hlp fbg qmt zrh
+mns: rkn bkm lpc kqg
+qlz: gnz njl trr nnj
+rjc: vbf pmv bpj dqs
+kfx: cgc zsx dgr
+ngq: rpd pgp bqk dzs
+sqz: nhd tnx pth mzq
+dpm: ffx dmq
+bfk: bmj
+dzv: ffg
+ncl: ckv vkx ntb zpr blm jmn qrb
+dkq: lcj dnv kqg nxg
+rzh: kss
+lpc: pnc tlv zpb
+jtm: tsx
+fcn: rqx
+mvd: xln
+kzv: xkg pzc zdd
+pvj: jcq pln ltg
+dtn: rvc cgh rsf rzc
+jhp: grb
+spb: pxt
+bsq: hlz rmk
+kkj: smb tvq lss tgr
+cdl: bkz
+zmk: tlj pvs pvz src
+cjs: gtd gsn zrq
+mnt: gtt hgf mhz dqs
+rrl: jnb
+jbc: qrb tfg kfc
+vsv: bxd bxq dtt
+qks: zcf bfc
+tth: vll sjl nxc
+dgn: nfh svv slt
+jhf: hxv rls
+vcp: hhm
+jcs: fcc vnq zbc
+gjz: fsb tgr tmz hvt
+mzf: psl zdz
+cmd: hnf
+tbm: rgt ktt msz htx
+tpv: fvp sft rkn xlc
+sxj: bnq str zrb
+ssg: gjv lxn dhz
+qkf: ctb hrg mdn
+vch: zbz mzf dkk gtp
+znf: gxc lrg cxm svm rkm
+ltg: rvn
+dhj: mhk qgt
+lnr: lkj fsg zxj gzn
+sxf: vrc
+fvg: kck ppk dcl fvl
+nvt: xsz lbz xrh
+rgn: ngz
+qsh: slt rtz
+hdq: rbc fgr mnb hdj
+zgp: ssm fvz bcm rcd tnl xxb
+rrs: sbn dts glr zdd
+bgj: hsr ppt chg hgd mvk
+kvv: dnf jtk mbs rbh
+hbd: cfp
+blj: rrl
+sbh: lxn rll cbs qtd
+svd: zpl tzg prn krs
+rqm: zgl jqr kbn vnq
+hqn: btl dxm
+rdd: gzq tmr vfg
+fbx: vzl qcr
+lpz: vrf nfl mks qnj lff ntb
+lsd: ghz xdc
+vkg: rlc xhb gdj pcj jjk qdm
+qcs: jjv djr rnk cmv
+shv: fqn rqf xrr txs
+zzs: lbx btq nhl lrc
+xhb: nzp lrr zpm
+qbd: mmf hlz kpb hkp sxb
+phf: fgp dkr hsq svc
+xxb: svv
+zhz: rvc nhl qbz
+kbn: prn svx
+qld: krs
+sxl: mps bvh frd
+clp: zqt bzn hnf jsh zpn
+lhm: rbg dss lss grb bkp
+qpb: mpm ktt bpl
+pfh: jjp hmq mls gtv
+mmj: kjs
+flj: sjl vll
+tlz: sxf rvn nfk
+pgg: rkr rvx bzs hfx lck
+dkk: lmn dkl
+rdz: mst jhr
+gfk: mbs klk
+jtk: cdb
+hvt: nzh hdv jbl
+fsp: ttn
+qjc: rnr pst
+zrh: pqq fmn fpr
+jrd: qxp svc jsl jsq
+dxj: fcn hsq bjs vhc
+bxx: qgs gds qdx smf bvl
+rxk: xhv
+xqn: hpd
+zjf: bcc
+tkk: pdt kgj xdr pxn ckd
+fdf: dzx jpz xdr snr rqf kcs
+txs: tdg zsx qkd
+fkf: zjt hjm hpk
+qsg: vcp mnl rdf
+svj: qnf jxn vvv rrr
+tnd: sjf xdq cgt rgc
+cgt: nkc
+bpp: mps pcf vgs jtq
+lrr: ffg nhd
+bdj: zpl gfv jpk zbc
+krr: tzj flx smf
+vpb: xts dnv
+klq: xrh gmf zdz
+bsf: bdr nrn jbc mrx
+brb: lmt lzc szn scv
+kmk: llq hmq hlp
+dhv: rzm mcv zpl
+rbk: rxk xqm dcl
+bnj: mjf djz rll chc kzz
+sht: zcn glr jpn dhf
+ckd: lbg dtd
+nnh: hnd
+rkr: svj mrx
+rvx: dhf
+zlc: zpl bxs
+cpd: jhg cmg mjb sbh bgs
+mqv: qvb nrc fhg dts
+bqp: jpt bbf cfq cpz
+ccb: srp rxf sxc flk
+tzg: spn ljl
+rnk: smb zpr zbm
+qdv: hjc gbb qvq pkg
+tpb: vdk rgq zdm tmt
+qjq: sdz lcg pzl qqt
+vxx: jpn rpd tdg
+pnx: lkq hzj btq klk
+jpn: qzz
+fph: tlk dhf fzt lxr
+qdx: jdb xqn
+cfz: ftq vnx vgt
+gnn: dfs
+pdt: jrn jjk xhn
+sms: cdl qvc dld
+kjs: dgx tmh jxn
+fdq: jbk fcn bjs ppk fvl
+llx: mgv blr kbc rqx
+nxh: mzf
+vcz: vpj bbm
+pbx: djz ntb sjd knk
+jkm: pth bfj
+sjf: gps tqn
+vhc: nhm jxq
+dvg: xbc vrx shr bpj
+xcb: qvc dzk qrx lkk
+krd: kpv tsd
+hzc: zgk mjz lcx kck
+vjj: dkl
+qnj: zcn mvk
+cmg: slt mjb qsd
+kpg: hbc ttj
+zsf: pbq fkr
+vbv: fdg lvn rvr jrn
+tlp: ktt lbz fvp tbf xrb nnj
+zvl: bkp zrp vxx ktc
+gkx: ngx knq mks
+nsl: vvv jhp
+mbt: jdb srq kcs
+zbm: ppt
+spg: phf cqv pps vrx
+gbb: cgg dzx tsn
+vgq: mnl xdv
+ndh: hdc rnv
+xsh: dzs mvk
+hzx: dhm hbq
+srp: qmb
+bxj: rgq sjd klb jpt khg
+nkd: fqv
+hjm: kqf zzn
+vzp: pvh dll lkb rrv rkx
+bhp: ntb vgt
+hxv: czg hzm spb
+lxz: gnz
+hqm: xqj nfg hdc
+xbx: zlp tzz xnp
+pgp: blj zcz mbz
+qvc: hjc vcz
+mgj: fbx zzx njk jpf
+qvt: xcc dst
+jsl: hqm kbq
+fls: mdz sqr
+cpz: ggm
+mqx: bph txn vdk
+frn: dlx lrf jnn qkf
+bnt: szx gdt nxq
+dhz: nhp jpz hcg zcz
+pqz: hjm gnn psf fgp
+mgk: bkf kfx sqr
+btp: ghz svx pxz
+fbt: dvx mcv rlg xqs
+nnj: pbq
+hrg: xck
+rth: dtt fls vrc nsn
+ppn: hfj chc pqq lff
+ncn: ffl
+zbv: kgf lqx pxv zlp qsg
+gdq: ddk xlc jsp rjf zbd vdq
+ccx: nfg pnc mqz
+ztf: dkf
+mzq: sbn dtt
+fxn: fgj zjf fpr lrr
+hmq: ggm
+jxq: vrx
+bxr: ngz knf znq
+mdd: vtx
+khn: jdm
+fvb: blj jch smf rnk gps
+svm: vhg sxf
+hdv: nhl cdl zgt jtl
+fgt: svc cdj pxv
+vrj: krs
+plh: mmx rxb cjn lbz dcv
+kvn: zbv vfm bfm jqh
+mvs: qvb
+kck: mpm vln lkh
+lvn: drv jtq
+ljg: jhr rdz nvt rgt cjn
+cmv: mzd
+nkt: tvm qsl qbz mpn
+tkj: fsp jmd cgg tvl
+zcl: qnq mcc jlh
+ncp: kqg kpc
+qtg: nfz vvb
+zvn: dtt
+dff: qbz bjh hdv slt
+xrb: kcr dxm hbd
+tqn: lrg srq qsl qrx
+nkm: glp pcl hvk zmd
+mqz: trd
+nks: gtt xhv str dkk sxk
+dbk: jtk zvc mbq
+mdz: xkg rvc
+ssc: tzz zzf sdz fbn
+txf: dvb kxs cfm xck
+mrz: fgp fxt qfm
+pkc: hnf
+jkq: jtl llh sqr
+kdr: lcg jbk
+vqx: jkq fml jtk kbh
+thp: czf jzg stx dsq
+ctj: str
+lfb: mlq svs vcz
+vkr: tnd zzs ltg xdq
+ljk: qvb vvb bkz hxd qnf
+dbd: smz grb xxf
+qvq: kcs pxn gls
+ndk: rxb
+vmj: scd qbz mbz
+fzg: fbc jbl zln
+hqt: fnc
+bfh: jdm xrn jdb ckd skm
+lms: ldc nhl tgf tmt
+kjp: scd src kmg
+nnn: ttj szx
+mrx: hfj
+smb: xks llq
+cll: mst
+jrn: xxf
+lvj: cmd
+cfg: cdj tps xdc zqt
+kqt: gbq qfq kpp qmb
+sgx: bgv
+nqh: jqr jlh rmz
+vds: hks bhp lps cxm
+lkz: bqv
+pzl: xvs
+kzz: hmq snr kfc
+ppz: flk fqm sxb
+lpg: hfc ngz lvj rgn jpf
+mpn: rkq rnz qgs zrp
+hbc: dmg lcx hbd
+fqh: kbc rxb
+rrc: zmd lpj vbx tnx
+tns: vpj
+blr: lkh tpg vcp
+ndx: szn kpc ggx
+vfp: gkl fpk jlh pps kpc
+nfd: hnd
+pnm: tzz jrl djm kbj zsf rkf
+vkx: rjj zsk zpm
+tzx: ppf
+bcc: zsk tqh vfg
+cpf: qbv bkp lrv djz hfx
+hjf: brl jql zlc lmr ppz vdm
+pvh: vrj
+sjh: mcz bxs vzn pzl
+hrc: pzx ngj xmn vll
+ztj: zpl nnn
+mjg: nrx mfj vnq
+kts: xxb tzk zcz xhn
+tmz: hks tvd
+ffl: hlp grf dbg nfk
+ctb: gbq fbn
+gkv: mrq mdn kpg fzq
+qkm: fqn pkg qjk zdm kzb rnb dqj
+cqh: vrj pnc sdr mmx
+dxq: qtd msp
+lrg: vdk hnt
+rxb: mhl
+dch: xmv bsc
+xvb: zln rsp kbh
+bbp: bmf lzx dvr bvb xbc
+jvq: qvt shm fqv qsl
+gbq: rkx
+mcc: kpv zlc
+tzk: vsk ppt
+tsj: qjc vpb xqm mrz
+mdk: csr znq rzh
+gqr: nfd fhh gtt dfs vbk vtl
+lhk: rsf
+xdm: mph bhh nrc
+nlc: dqs jhr gzp
+mnf: svs
+xdc: hsx
+mmt: qkk rhs dbk bqk
+lzx: bfm
+mks: vvv hdj zpm
+gbl: cmv fzt bfj
+lgs: slm vbf ptv kpc
+qcx: hjd drv
+gpj: mpr vrj prl prh
+vdb: cdj vzn fqk kss mhl
+gzl: ldh ljl qkf csg pbb
+rxf: psl
+cfq: msp jtl
+tnn: mjk brx
+hbq: mdd
+htz: ldj vln
+fvp: nsf mhk
+msl: rbg jjp rzc dbd vzk
+jfx: slg dlp jqh sxj
+fzq: mmf
+hlr: lzq pcf tmh rbh
+btq: lzz dxq
+lbg: rgq
+nfz: flx
+xdr: jvg
+mzj: mgv bfm pkc
+ffx: gnz
+bbr: xtf xtz pst
+hkm: jrl hzx rcg zsf
+gzn: qrh
+trd: ngz xdv qcr
+shg: jbc jmd ssm ggb
+dts: tzx vgs
+jdb: trb psr ftq
+tlj: snr jmm bhp
+slp: rzv zhv nfg
+qnq: fxc
+ksc: fxc vln xsr
+kdv: lhk djr hvk
+vvx: mhk jzh str tfc jmk
+jtq: hxd
+qpp: ndk ktt ccb dmq
+cvg: vrf kgj
+bbj: pxd tnn nfp bxv mhk
+gxn: nsm pcj zhl
+xts: ksv
+rzc: pbr hdg
+hjc: lzq nkd
+djm: nfd pkl jcs hjx rdc
+hmc: bjx vdk
+plq: pps gth rtm dsq hlf
+kfc: pzc
+fjf: rjd lkz ghk dgn
+dcd: plp mvd tlz
+ngp: tkf ffh xvb knk scd
+xjt: bjh hvt qjk
+dmz: gdg rvn gsn
+hdc: nhm
+mbq: pln tnl
+cjn: mpx qld
+bpl: rdz njl jzv
+rtf: cpz kgj flq
+stx: sdr vdq fxc
+zrp: shq jxn
+bph: vtb bvh jhp
+kfm: mdp hnd
+fdg: rkr zvn dff hks
+rqc: jbk hzm qjq
+gkg: mmg jlf grs dfs
+shr: jzg jqr krs hqt
+ghk: drv
+fxt: rzh dbn
+mgb: gkv qgt nln
+dpr: ttn jnb
+hjd: dgr mhf tlk tqn qrt
+rsz: bxv mhl
+cdj: pgr
+jnf: mps kfc
+zpq: xts fpv bkm
+kbr: bqv
+tsq: gfv vfb
+fmr: tbv tgr tzj bqv rjv
+ngj: rzv
+lvd: vrj
+rlh: jlf lrf mdd tsd ktt
+lps: bjx
+ltz: hkj cvg qgs
+ptb: vtx szx bfm
+pxv: gsp hrg
+mkd: mcz ldj gmf jsq
+vgx: kbh rkz vpj ttq
+cbn: gzp zhv
+frh: bxv fmd kcz gxz
+ctl: nmn dhm
+pzk: lsd sxj
+nkc: gzq
+cgh: lkk
+tfr: zgt tdg hgs
+rjs: flq qbv zvq
+zbd: xbx krd spb
+dzx: fqv zcn
+qlq: skm bjx
+mpg: ldh bzn lbz cqv
+rqf: nfh
+fcc: lpf qcr
+lsb: ffx fhf bnq
+fqf: sgx hbs
+bzn: klz
+nfl: tmr
+rhs: snr bdr
+rcv: bsq brm lkb
+fxd: xts vrj rgn
+lmn: scv gkq jhr
+rdt: cfp tcj kvk slv
+mmk: dtd lhk qcc flx
+ldc: nkc cxm
+zgk: njl grs
+tjh: gkq pvh zdz qsx
+sdx: nth rnk chc
+tgr: ggm
+pxt: cmd
+qqn: jsf jhf pzl hcc
+zrn: djz zms vnx lxr jvc
+gjj: qhs fbx mmg ndk
+hks: xks
+tjx: khn qzz zbm
+tvm: qnh
+tkh: zln bbf mbq
+vtl: dvh ccb kpp nkf
+lkq: mnf lzq
+tvq: xdr zvn xcc
+xvx: dcv lcj xck kxv
+xcc: kts
+rrb: cgc nsl zbm qpr
+hcg: vgt flq fgr ncn gzn rrl
+tzl: mst
+pvq: fnd bnq zlc
+tfg: fml dgn trb
+vxc: dqs cll fpk ffc
+dvx: sng
+rcd: nzh dpr vlt
+tpg: dbn vln
+jvl: lmv pvz rgm
+jpf: bmf rnr
+dbg: rrr
+mnb: zvq svv bbf
+fpt: fhh zqt ssl dlp sdr
+rnz: nsm jtq
+mtk: tmh pkg qcc
+ddt: nfd clp nnj ctj vgq lxf
+qqb: shq cvg dnf rvx
+dvb: zpn rmk mqz kpb
+rkm: lrv
+zft: dhm rmk crx vrx
+lrl: prn ctj jsl
+txv: fqf gkq kqg pjm
+glr: qmt jvg
+pvd: ftq qdx cgc
+rlc: gds ggb
+mbz: qzz rsf
+tzd: sbn txs bzs ktc
+lff: jtl
+mdb: pth jhk pcl dzv drv
+jvg: ngm
+rkx: xvs
+jql: xqm bsq cbn
+shq: qvq bkz vvv
+qjs: llf tgf xsh lbx
+rtm: rvk hlf fxc
+pvs: nhl tsn
+xfm: cfz vkh kvx
+svk: kxv
+lxj: kdv pgp smb bfj
+gkq: dvh
+drv: lrc
+psf: thp jfk lzx
+jgr: ndk gsp zbc nks prl
+jpl: pmg hqx
+gtj: btl fhf
+ttq: bhh
+fbg: mdz zjf gtd
+qgs: xxf
+fkx: hfj jmd mhf rfg jcq
+rbp: vfm dkr xts gzp
+dgm: kfm lvd znl hbs
+zgl: bmf btl mpx hgg xls
+lvs: hqx lfb shv qcx vtb
+gdg: qnh jzr rtf xqn
+tgf: mph
+rvk: pgr
+tmt: xln lbg txn
+fdt: lvn hxd hgd
+jmg: mpd tqh jrn
+ctc: czg sst gfv vjj mjz
+qnz: xtz grs
+lkj: kvj rbc
+pxd: bjs bfm slm ttj
+fjj: qcg zfq ztf dss
+gvt: scv dsq
+dhm: nhm
+fdp: lkj lzz bhh kts
+hfc: hkp svk
+xls: pps lpf qnq
+slk: jvl qpm ffg
+vzl: gff
+fqv: lbg
+xvj: cxm ssg
+blg: zjf bxq gsn flx txj
+hxh: zbm jfg rgm qtg
+trs: bjs rkx
+smp: csr ndh zcl
+tvt: rvn mnf ncn hnt
+bmh: hbq lsd vzn
+hlz: mhl
+jsh: vll
+hsq: trr
+qcg: hdj
+szn: jzg
+kgf: bpj nkf sdz
+njk: dlx dhj fdm ptb
+kcl: lff ttq jjv
+fcb: ngx drd bgs
+fgj: jpt qhv
+kvt: rsf
+jxz: fqf zvg ngz tlv
+hld: fdm jgr vbk rgt
+ffc: hbs cbn
+cmc: jfk kfz zft kxs pbf
+xsp: nlc nqm dll kvk
+qfm: mhl rdf drx jhf
+dst: tmh kbr
+rgt: qsx jnn
+rkn: zhv mmf
+jzr: gbm xrr hpd ztf
+ckv: fzg cmv gdg
+ppf: dhf
+vhg: dch rbc
+jgx: rvk kxv fpv gjp
+hnd: gxz gnn
+lkg: vgq tzg lrp rnr
+fzm: khn bsc pcf zcf
+vvt: bxs qgt gxz
+hpk: nfg xqs spn
+pzc: qpd
+zxj: xdm rsp nzp vfg
+lcx: pbq
+nrn: rqf tbv txn
+rdf: jpk
+kxg: xgb mdd
+ljl: ncz vtx
+cdb: lff pcj jcq
+rfk: bgv
+xqg: slg pbf gdt lzx
+mrc: bfc ffh
+qdh: gbz ncb cgg jnf
+lzq: hgs
+vvb: llf knk
+zmd: zms rtz
+pcf: bkp
+pzx: xvs pkc rgn
+csb: rkm llh xfm kcl
+dgx: mvk
+xkc: jsh kcr pxv nhm
+scj: gjp fqk jpk gsp
+mjb: zdd grf
+xrh: dcl
+lzc: fhh nxq bfk ctb
+tpl: ksc kqf dkr
+rbc: rkz
+sfd: rkq
+zbc: gdt
+xnq: bkz jnf dkf dbg
+zgm: jfg mrc xhn tjx lrr
+sxk: kcr
+hmr: fsb sfd kgs tvl zrq
+gct: qzz
+bbm: kbr hpd
+tps: lmt flj hhm
+mjh: rfv
+zdm: mrc
+kch: rkz vkh kvt
+ppk: spb
+tzj: gtj
+rkf: bkm bxr bsj tsx
+kct: mjh svc qjc rcg dxm
+mjv: vdk zvq lbx drd
+nfv: xqj bzn mhz
+rxm: rlg bnt fnc jzv
+hrt: qkd smf
+mbs: ttn ngr
+gth: mpx kbq hsx
+bvh: rtz
+scv: lrf tqt
+bgk: frd xcc
+pcl: vvk hgd
+zpn: mcv bgv
+kcb: zdz mdp
+mrq: cmd mst sjl hlv
+cqz: cgg plp zbl lkq kbh
+nmn: lzr gdt
+htq: mnf blm bjh qsd
+zlf: svk sng
+klz: hlv
+vzk: jpn vgs tfr
+qtt: cgh kts zms
+vbk: gtj mjh
+rnf: tbv dnf
+jzv: xhv qvq
+kqg: kbn
+llf: ngm dst lkk
+vqb: rrs hdg xks
+jrz: djk nrx jgt zjt
+zcf: ggm
+lpn: hvc jlh jrl nfp
+blm: jcq
+hkj: bkz
+dnv: fvl lrl
+tbf: htm rcg ncz
+hzm: jsh pgr ptb
+vlx: tth frh hrr mgb kqd
+zhv: rjf
+brv: rlr xgb fqk jcs
+kpv: kpc ddr
+mjf: dzk bkp tkh
+qnf: bfc
+ncb: sfd vhg
+dlp: pvh kfm prh lvd
+vmx: kcb sgx tzz
+xdq: dgn
+jch: lkq
+fpr: bvh rjv ldc
+vbx: drv bsl
+gbz: fph qgs
+vfb: lcg vln klz
+zmr: mnl slp kcz kbq
+flk: znq
+nlq: vqb xdq jpl fsb
+xhv: qfq
+nth: qrx qlq
+xmn: mpm hqn xgb
+dlx: hkp gnz spn
+rjd: ttn
+dvr: kts zvc shv xdq
+qrh: qks
+htr: rcv fcn gzp zgk
+tsx: btl
+qrd: cbs tns mtk kjp dhg tgf
+nfp: djk
+rfg: rsf sdx mjv
+nbg: xqs rqx
+rkq: kch hmc xkg
+bpg: hbd fhf mhk qmb rbk
+zxl: vmx rxb fqh nfv
+glp: mzd mvs pks
+dtz: hkj lps qpd ngx
+jgf: qqt msz tsd
+rnb: jkm sdt kkj
+rvm: tnn vlh mdn cbl
+qpz: mmx psl kbq
+vrv: rjf zzf gff jsl
+szg: nfl mrx jnb
+dtd: sqr qrh
+spp: rvr qrx
+gtp: xbp kcb ksv
+kqc: srq skm rdd nkd
+qxn: fgt rxf tcj xsr
+vnq: bfk vfb
+kbc: xqj dll
+qsp: flx rhs dtt
+chg: bqk
+nhd: jmm
+vzn: jzh xqj
+klp: mmf nqm hrq nln
+xsf: dcd vbx gct
+bzs: nsn jhg
+dtt: nns
+rgc: sbn sjf sbg
+xln: tmh
+lmt: prl bmf ppk
+gtt: kcz
+vjm: dkl vlh xnp
+vpj: mzq
+nsn: hgs
+bgs: rjv
+ggb: nns fgj
+pbq: klz
+tml: lsb njl qnz znl
+brm: rfk mgv tcj
+rls: jmj hfc tfc
+jrs: zvq jjk qsp lck vlt
+fpk: gtn bfk
+gqt: sxf vkd qxl bkf
+klb: spp rnf jhg ltz
+qdm: rjj bsc
+mpr: bmf hbq cgd
+vkh: mzd
+pkl: jtm trs
+jhk: mvs tmr ngr lkz pgg
+kmc: pvq klq fpk qlv lcx djk dsh
+vcv: gxz nxh
+nsm: vrc
+ltq: tvm llr vsv shm
+znl: dmg lzr ddr
+trb: lkz
+pjm: bbr jpk mjg
+bvl: hgs cmv
+lmv: dch
+tdg: dpr
+zvc: tph
+zlp: rnr
+klf: vmx fbx hgf
+qcc: nfk xxb
+hnt: qvb bfc mmj rll
+ffh: vpj jmm
+ktc: rnz dhg
+fhx: zlf dkr jpf
+mxr: mzq rhs dqj rnf
+bbf: dgn pvk
+hjr: kdb zvg ngj
+pqf: hdj ngm vsx gfk
+bsj: fqm ksv
+jpt: fqn
+scc: zlc cfp hpx qpb
+knq: tdj
+prl: nxh zjt
+sgq: fbc sfv jvc ztf
+qrp: fls knq tsn sfv
+pbr: qpm chg rjj
+ggx: nmc fzq
+hfx: vvk
+spn: dkr
+ltp: ncp lrs pkl bmj
+qns: rtz cvg tdg rtk
+jsp: dsq xtz ndh
+qdp: mqz mdp bzm psl
+srq: jtq gtv
+pgh: gkl xdv tth jlf
+fml: vgx hdv
+kkf: fzg dss ngx lmv
+zfq: zcf
+ssp: nnh nbg bsq
+jjk: tpb qnf
+vsk: zcf bbm
+bsl: svs lps
+dsq: hhm
+xhr: pxn hvk dmz qkk
+hdg: gds zcf
+czg: hgg hrr cgd
+lxf: brm fmd nfv
+dfn: dzk xjt chc lrc
+dfs: pxt
+sjn: bmj xtf mjh rxk
+jpz: cpz qpd
+hqx: llq
+hpp: rdf brl ldh dpm
+jgm: rgq bqk qhv
+ngn: pzc tbv plp mms
+sdz: dvx
+cbl: qnz ztj ngj
+gbm: rjd
+zsc: tph nkd dzv
+rdc: hsx prh
+drd: rtk csh xcc mrc
+kdj: hbq vrj
+hgg: bkm
+jhg: frd
+mxf: tsq lxz nxc kct
+jmk: hdc
+nqm: jmk hsq
+rvr: lhk
+nkf: kss fnd
+mpd: nfk mvd rvr
+jfg: nkd tdj
+csh: mph tmr
+bqk: ttq xmv
+lcj: brl
+kgs: zvc hfj hqx jvc
+dsk: kss sxc dvx qmb fhx
+jkj: tpl rzh srp nxg znq
+bgr: vvv tmz jmm
+jbl: bsc
+hrq: flk jsf tzl
+rbg: kvj zdm mzd
+bdr: cbs gds
+rpd: xkg
+pvz: dzs
+sbg: mbt zsk dxq
+tlk: ppt qlq
+gjp: qld
+ffg: zcf
+tqh: xrr pvk
+bkf: qsd
+nmc: ghz zlp mfj sst
+hzj: hmc gls sjf
+vsm: gbm
+qkv: mdk pxz kqd rqc
+zjt: fnd
+vjq: hlf mdp nxc trr
+zrq: vrc
+nnr: tvm dhl txs cgc
+jjv: hgd lps
+cqv: vjj sxj
+dqj: fhg bkf
+knf: xtz ksv
+tnl: zgt
+gcz: pxz dcl mgb rnv jtm
+jjp: dcd hmc
+ccg: dvh zzf vdq ngj
+sst: tlv kcr
+hqv: rtk fqn nfh skm
+jrq: llh nns vsm tdj
+vrc: cdl
+jzt: gxn nfz bxq dff
+qjd: vdm dgm ssp nvr
+sfv: chc
+btt: tsq csr vhc fdm
+fmd: dqs tbf
+zhl: zbm cfq
+qkt: dcv qcn smp kdr
+vlh: lzr
+vpt: brx mdd rmz xdv
+csg: nhm nxc rzm
+sjs: ljl vzn xbc
+qjk: tmh mpd
+dss: knk
+qcn: fnc kck tsd
+dmg: zrb
+xbc: tlv zvg
+ptv: nsf vtx dbn prn qqt
+tnx: rvx mhf
+thx: htx kpb jxq vdb
+bsv: mlt nnr cpf qxl hrt
+lck: zfq tzx
+khg: nfz bxd pvs
+lpj: hvk fzt
+mls: rrr zvq cgg qsd
+mjz: lxz
+kcz: fqk
+qpr: ncb fbg mqx src
+dbn: pgr
+xck: zbc
+zpb: scv qxp
+zms: hpd ngm
+vzh: kqf xqj pzk hpk
+ngx: jhp gbl bhp jvl zvn
+pks: cbb
+skb: vbk kfz nqh jrl
+vfm: xvs
+lqx: jlf rmk
+hsr: jnb vsm xrr qrh nns
+vbc: qpm fzj rnf klk
+mms: bbm
+qkx: vzp ljh zzx fkf
+tdj: nsm cfq gbm
+cbj: gbm tmh qtg frd gfk
+slv: rxk sft ncp
+kzb: sqr rtf
+tng: rdz gvt rdc dkr
+rlr: fqm sxk
+mlq: cgh ghk grf
+cxm: rbh vrf gls
+fkh: jmd lpj jhp ppf
+qhv: bhh
+qxt: flj gkl cmt
+gkl: dxm
+fmn: qsl gzq pvj
+grb: qmt
+gfh: rjj mzd vbx tzx
+nct: kmk qcx dgx psr
+blt: zhz knq dhg qcg
+mfj: svx ghz
+ldh: cjf csr
+qmt: dkf
+rsp: qnh bgs
+dgr: dbg blm kbr
+fzt: blm
+lxr: mms
+gtv: pcj grb
+xqs: svx
+flq: mrx
+qjx: hzc ndx ncz vvt kdj slm
+vqm: lmr smp ssc ljh
+sdt: vsx dld cgg
+tnt: nrx bzm vvt brl
+spc: mph bvl svm qmt
+sqv: gjp fxt xtf xdh fzq
+pvk: pmg rrl
+brl: rzh
+nzh: pvz hsr
+vsx: nfl jvc mms
+vtb: chc dqj tnl
+xnz: ctl sxk fkr
+nrx: dfs bnq ksv
+bsc: ttn
+pkg: zln grf
+tvc: tcj hrr ccx lcj vjj
+cfm: nxq htm fqm
+fzj: krr sfd plp
+msz: jgt mcv
+ssm: dzk lrc cgt
+smf: svv jpn
+qsx: cjf hrg
+kll: htz tpg pxt hjx vdq
+rjv: khn
+kbj: fkr dpm zzx
+dkc: hdj qnj xhn txn
+gps: tzx mmj zpm
+qgt: lkb
+cpv: sxl qmt jrn lmv nkc
+jmj: jbk btl gff
+dzs: qrx
+zbz: mkr dmg hjx
+ppr: cmt xnp vrj mcz sdr
+rnr: lpf
+ssl: mcc fnd phf
+lsp: csh tvl fqn xcb xvj
+rtk: qtd
+zpr: zsx
+kvx: cvg thf jbl mvs
+tvd: xqn rll
+plr: xln qrh bgk crc ngx
+gpv: cll vbf ljh
+ghj: lbz kpb lvd
+kfz: rfk bxv
+dsh: qsx vcv htx
+qxp: fgp
+fhh: bgv vbf
+jlh: hjm
+grf: grb
+llh: qrt msp hjc
+fbn: jzh rdz
+fgr: qhv
+sft: hnd
+fvz: jgq blj pmg
+zbl: qtd gct ppf
+mzh: fxd gvt lxz grs
+lss: kcs xnq sfv
+tkf: psr xsh
+mhz: nln zpb nqm
+bxq: vvk
+psr: fsp
+xsz: rdf ffc tzl
+djk: qfq
+nxq: xrh mnl
+bvb: lpk kqf mjk fvl
+xqj: mst
+zks: hpk bmh kxg
+hls: tqt jsf kbc rsz
+rfv: qfq knf
+pbb: ttj xsr xvs
+lrp: vcp fqh tsx
+vvk: tmh fqv
+ktt: sxc kdj kpv
+vxj: drv bfj khn xvj hgd
+mlt: lkz cjs
+rbh: jkm
+lrs: tqt zpq grs
+nzp: qcg jvg
+msp: ghk
+bcm: psr xkg rjd
+gsp: sxb
+dld: tph slk fdt
+pth: mhf
+gvd: hrt zsc gbz bgk bxj
+rmz: nfv vfm
+tvl: khn
+scr: gtj hbs fxj nsk
+pst: klz nmn
+fnj: trs xqg qqt
+gpp: ncz lvj gnn
+brj: vpb fnj tfc dxm hbs
+rhz: rlc rzc vgs ttq
+slg: btp gpp nxg lsd
+vlt: dzv qkd
+zsk: qxl
+kdb: ddr tzl
+ctx: hzx xnz bjs kxv
+kqd: ghj ppz
+zzf: hqn
+nsf: sxb
+bkr: lxn pvd zsk scd dhg
+qhs: xqs hgg dlp
+zzx: dvx
+cbp: tqn jvc xmv qcg
+lmr: ztj pzk gpv qlv
+dhg: dhf kzv
+hgf: zrb qgt
+qjl: spc tmt sdx sms
+pqq: tsn dgx
+smz: hrt tzj
+rzm: cjf vlh
+jmn: vnx chg nsn rpd
+fqj: lpg jsf nbg rjf mgv klf
+pgc: llq klb vpj
+xbp: xqj hsx
+hvc: zzn
+xtf: xhv
+sng: sxc zqt
+szq: nnh fhf ksc vrj
+pgq: rsz qxp vxc vzp xrt
+cgn: bsq hjr bbr cbn qxt
+gzq: gsn
+gxc: qtt bfc
+sjd: hxd rnf
\ No newline at end of file
diff --git a/Day25_1/output.txt b/Day25_1/output.txt
new file mode 100644
index 0000000..e69de29