1diff --git a/BENCH b/BENCH
2new file mode 100644
3index 0000000000000000000000000000000000000000..7dc31f359e5a958c9b558b7c30bbf8fc8fcf5498
4--- /dev/null
5+++ b/BENCH
6@@ -0,0 +1,84 @@
7+RELEASE FAST
8+2.4M zig-out/bin/aoc2024
9+
10+benchmark runs total time time/run (avg ± σ) (min ... max) p75 p99 p995
11+-----------------------------------------------------------------------------------------------------------------------------
12+Dia 1 parte 1 40215 1.836s 45.654us ± 1.099us (44.904us ... 76.393us) 45.546us 50.274us 50.845us
13+Dia 1 parte 2 43858 2.054s 46.837us ± 2.256us (44.463us ... 94.917us) 49.753us 53.009us 53.731us
14+Dia 2 parte 1 95 1.986s 20.913ms ± 112.456us (20.775ms ... 21.528ms) 20.923ms 21.528ms 21.528ms
15+Dia 2 parte 2 27 2.007s 74.339ms ± 631.926us (73.075ms ... 76.82ms) 74.295ms 76.82ms 76.82ms
16+Dia 3 parte 1 100000 187.034ms 1.87us ± 157ns (1.843us ... 7.534us) 1.864us 1.884us 2.324us
17+Dia 3 parte 2 31077 2.016s 64.892us ± 3.846us (57.537us ... 122.619us) 65.032us 79.088us 81.772us
18+Dia 4 parte 1 100000 542.089ms 5.42us ± 351ns (5.27us ... 45.405us) 5.401us 6.702us 8.175us
19+Dia 4 parte 2 434 2.009s 4.629ms ± 95.303us (4.489ms ... 6.045ms) 4.649ms 4.788ms 5.128ms
20+Dia 5 parte 1 52505 2.003s 38.158us ± 2.211us (37.099us ... 70.281us) 37.791us 45.685us 52.708us
21+Dia 5 parte 1 [MEMORY] 128B ± 0B (128B ... 128B) 128B 128B 128B
22+Dia 5 parte 2 87876 2.01s 22.881us ± 3.791us (21.54us ... 111.949us) 22.172us 30.557us 33.703us
23+Dia 5 parte 2 [MEMORY] 256B ± 0B (256B ... 256B) 256B 256B 256B
24+
25+
26+RELEASE SMALL
27+116K zig-out/bin/aoc2024
28+
29+benchmark runs total time time/run (avg ± σ) (min ... max) p75 p99 p995
30+-----------------------------------------------------------------------------------------------------------------------------
31+Dia 1 parte 1 29977 1.999s 66.697us ± 1.11us (65.633us ... 97.102us) 66.885us 71.394us 71.915us
32+Dia 1 parte 2 29850 2.134s 71.503us ± 3.903us (65.423us ... 113.212us) 73.057us 85.229us 88.946us
33+Dia 2 parte 1 33 1.914s 58.013ms ± 2.834ms (55.947ms ... 63.138ms) 61.104ms 63.138ms 63.138ms
34+Dia 2 parte 2 17 1.954s 114.972ms ± 674.784us (113.864ms ... 116.07ms) 115.499ms 116.07ms 116.07ms
35+Dia 3 parte 1 53371 1.857s 34.812us ± 1.992us (33.332us ... 64.391us) 36.438us 41.718us 43.09us
36+Dia 3 parte 2 29439 1.984s 67.401us ± 2.331us (65.793us ... 92.513us) 67.186us 75.121us 76.382us
37+Dia 4 parte 1 10396 2.037s 196.023us ± 11.778us (172.763us ... 301.785us) 199.163us 225.131us 227.986us
38+Dia 4 parte 2 441 2.084s 4.727ms ± 267.787us (4.125ms ... 6.215ms) 4.826ms 5.747ms 6.173ms
39+Dia 5 parte 1 39224 2.183s 55.67us ± 4.385us (49.393us ... 130.885us) 54.972us 76.864us 81.753us
40+Dia 5 parte 1 [MEMORY] 128B ± 0B (128B ... 128B) 128B 128B 128B
41+Dia 5 parte 2 66790 1.815s 27.18us ± 3.205us (25.828us ... 100.097us) 26.63us 35.026us 38.742us
42+Dia 5 parte 2 [MEMORY] 256B ± 0B (256B ... 256B) 256B 256B 256B
43+
44+CPU INFO
45+Architecture: x86_64
46+CPU op-mode(s): 32-bit, 64-bit
47+Address sizes: 43 bits physical, 48 bits virtual
48+Byte Order: Little Endian
49+CPU(s): 16
50+On-line CPU(s) list: 0-15
51+Vendor ID: AuthenticAMD
52+Model name: AMD Ryzen 7 3800X 8-Core Processor
53+CPU family: 23
54+Model: 113
55+Thread(s) per core: 2
56+Core(s) per socket: 8
57+Socket(s): 1
58+Stepping: 0
59+Frequency boost: enabled
60+CPU(s) scaling MHz: 52%
61+CPU max MHz: 4560.3242
62+CPU min MHz: 576.9090
63+BogoMIPS: 7785.12
64+Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
65+Virtualization: AMD-V
66+L1d cache: 256 KiB (8 instances)
67+L1i cache: 256 KiB (8 instances)
68+L2 cache: 4 MiB (8 instances)
69+L3 cache: 32 MiB (2 instances)
70+NUMA node(s): 1
71+NUMA node0 CPU(s): 0-15
72+Vulnerability Gather data sampling: Not affected
73+Vulnerability Ghostwrite: Not affected
74+Vulnerability Indirect target selection: Not affected
75+Vulnerability Itlb multihit: Not affected
76+Vulnerability L1tf: Not affected
77+Vulnerability Mds: Not affected
78+Vulnerability Meltdown: Not affected
79+Vulnerability Mmio stale data: Not affected
80+Vulnerability Old microcode: Not affected
81+Vulnerability Reg file data sampling: Not affected
82+Vulnerability Retbleed: Mitigation; untrained return thunk; SMT enabled with STIBP protection
83+Vulnerability Spec rstack overflow: Mitigation; Safe RET
84+Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
85+Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
86+Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP always-on; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
87+Vulnerability Srbds: Not affected
88+Vulnerability Tsa: Not affected
89+Vulnerability Tsx async abort: Not affected
90+Vulnerability Vmscape: Mitigation; IBPB before exit to userspace
91diff --git a/bench.sh b/bench.sh
92new file mode 100755
93index 0000000000000000000000000000000000000000..7b163c08f9fe4a0d811966bc85557af7225cdb38
94--- /dev/null
95+++ b/bench.sh
96@@ -0,0 +1,32 @@
97+#!/usr/bin/env bash
98+
99+
100+{
101+ echo "RELEASE FAST";
102+ zig build --release=fast;
103+ du -sh zig-out/bin/aoc2024;
104+ ./zig-out/bin/bench;
105+
106+ echo ""
107+ echo ""
108+
109+ echo "RELEASE SMALL";
110+ zig build --release=small;
111+ du -sh zig-out/bin/aoc2024;
112+ ./zig-out/bin/bench;
113+
114+# it panics for now
115+# echo ""
116+# echo ""
117+#
118+# echo "Debug";
119+# zig build;
120+# du -sh zig-out/bin/aoc2024;
121+# ./zig-out/bin/bench;
122+
123+ echo ""
124+
125+ echo "CPU INFO"
126+ lscpu
127+} > BENCH
128+
129diff --git a/src/input/day1 b/src/input/day1
130index f0f2e2539f8eeb15e0260db92af3e91b613e66b1..b019a8a085883d1bfe2f8a83ba8de8e9af73c088 100644
131Binary files a/src/input/day1 and b/src/input/day1 differ
132diff --git a/src/input/day2 b/src/input/day2
133index e25e1dfab5ef285fcab6de587bba923f671d1cd2..b4d57483841e7d058fe0102397a9e62952eed0f1 100644
134Binary files a/src/input/day2 and b/src/input/day2 differ
135diff --git a/src/input/day3 b/src/input/day3
136index 98c171568b84dc3e4111e407cc1c8d45c940bc27..ebc1243c27873fe866f1331777d2b39a3d3368a4 100644
137Binary files a/src/input/day3 and b/src/input/day3 differ
138diff --git a/src/input/day4 b/src/input/day4
139index 077dbbc3692bea9874c6efe168d843a119543f08..04d8926333b63bb04ee9967c74c9195f65d27a76 100644
140Binary files a/src/input/day4 and b/src/input/day4 differ
141diff --git a/src/input/day5 b/src/input/day5
142index aac99a99cc189b46b9af621a08218c5bc2d051fd..d504baf89978a11981b5bf574bf6e00653f30684 100644
143Binary files a/src/input/day5 and b/src/input/day5 differ