diff --git a/18-12-2025/input.txt b/18-12-2025/input.txt new file mode 100644 index 0000000..b8cc155 --- /dev/null +++ b/18-12-2025/input.txt @@ -0,0 +1,4664 @@ +L25 +L8 +L44 +L6 +R1 +R26 +R9 +L47 +R16 +R25 +R12 +L42 +R35 +L24 +R31 +R19 +L43 +L33 +L23 +R9 +L17 +R38 +R42 +L3 +L39 +R35 +L50 +L40 +R4 +L13 +R42 +L16 +L26 +L26 +R5 +R4 +L2 +R36 +L23 +L35 +L46 +L26 +L10 +R45 +R32 +L12 +L8 +L25 +R49 +R71 +L24 +R58 +R63 +R38 +R41 +L60 +L40 +R93 +R33 +R62 +R12 +L97 +R25 +R15 +R4 +R88 +R65 +R3 +R76 +L79 +L85 +L32 +L25 +L14 +L2 +L67 +R25 +L35 +R47 +L40 +R28 +R46 +L46 +L62 +R83 +R93 +L17 +L92 +R78 +R17 +R34 +R23 +R43 +R20 +L35 +L66 +R42 +L28 +R81 +R86 +L775 +R22 +L47 +L17 +L83 +L47 +R24 +R8 +R315 +R59 +R65 +R32 +R63 +R376 +R44 +R77 +R342 +R80 +R86 +L24 +R28 +L28 +L87 +L13 +L29 +L39 +L67 +L37 +L88 +L177 +L623 +L40 +L66 +R49 +L74 +R391 +R518 +L418 +R498 +L98 +R19 +R96 +L39 +L79 +R19 +L87 +R71 +L62 +L42 +R4 +R449 +L49 +R44 +L3 +R72 +R87 +R65 +L65 +R88 +R196 +L728 +R544 +R66 +L49 +L17 +L8 +L92 +L45 +L89 +L66 +L25 +R99 +L74 +R72 +R25 +R59 +R64 +L20 +L62 +R92 +L30 +L89 +R89 +R30 +L74 +L42 +R86 +R978 +L36 +L42 +L172 +R72 +L46 +R46 +L75 +L25 +L31 +L88 +L81 +L498 +L2 +L951 +R51 +R41 +L641 +L49 +L73 +L77 +L8 +L36 +L99 +R15 +L20 +L653 +L29 +R90 +R66 +L3 +L24 +R87 +R25 +R72 +R24 +R22 +R33 +L11 +L665 +L63 +R3 +R83 +L9 +R41 +R59 +L79 +R88 +L10 +R61 +R22 +L83 +L76 +R68 +L382 +L873 +R684 +R79 +L979 +L77 +L44 +L31 +R761 +L30 +R859 +L59 +L55 +R455 +L649 +R39 +L390 +L25 +L775 +L381 +R810 +R571 +L70 +L25 +L42 +R37 +R22 +R99 +L34 +L36 +L23 +R44 +R24 +L35 +R28 +L89 +L98 +R84 +L86 +R54 +R81 +R35 +L62 +L62 +R8 +R4 +R42 +L19 +L23 +L10 +L98 +R37 +L76 +R91 +R598 +R67 +L764 +R97 +L2 +L98 +R90 +L17 +R62 +R273 +R763 +L68 +L903 +L498 +L2 +R95 +R4 +R319 +R82 +R198 +L98 +R83 +L983 +R782 +R18 +R490 +L83 +R893 +L965 +L35 +R72 +L50 +L22 +L335 +R30 +R60 +R272 +L12 +R933 +R52 +R3 +R119 +R78 +R26 +R94 +L20 +R39 +L39 +R724 +R35 +R41 +L28 +L55 +R73 +L90 +R27 +L66 +L61 +R61 +R39 +R519 +R81 +R565 +R51 +R97 +L72 +L402 +L39 +L61 +L10 +R58 +L39 +R52 +L366 +R66 +R365 +R83 +R28 +L779 +L597 +L13 +R613 +L657 +R18 +L22 +L62 +L77 +L84 +R55 +R29 +R535 +R56 +R28 +L7 +L12 +R37 +R63 +R81 +L81 +L31 +L69 +R84 +R716 +L40 +R40 +L6 +R6 +R53 +R247 +R34 +L10 +R76 +L52 +L48 +L37 +R64 +L44 +L21 +R38 +L41 +L8 +R16 +R54 +L82 +L30 +R91 +L55 +R54 +L99 +R45 +R59 +R31 +R686 +L69 +L52 +L2 +R46 +L609 +R57 +L1 +R9 +L796 +R76 +L28 +L16 +R6 +L42 +R2 +L39 +L49 +R843 +R64 +R61 +R99 +R19 +L165 +R65 +L37 +L12 +L51 +L145 +L55 +R56 +R56 +R54 +R226 +R8 +L91 +R91 +L92 +R892 +R3 +L3 +L57 +R457 +R81 +R18 +R62 +L39 +R578 +R43 +R957 +L14 +R51 +R84 +R43 +R7 +L11 +R1 +R39 +L94 +L6 +R52 +L37 +R48 +R37 +L10 +R51 +R44 +L85 +L6 +L6 +R68 +L54 +L41 +R79 +L63 +L77 +R11 +R33 +L4 +R280 +L20 +R24 +L524 +R41 +L41 +L71 +L29 +R49 +L92 +L97 +L60 +R13 +L57 +L56 +R89 +R11 +L75 +R375 +L23 +L575 +R34 +L258 +L655 +R765 +L88 +R29 +R56 +L338 +R60 +L96 +L11 +L27 +R495 +L10 +L58 +L85 +L6 +R65 +R52 +L449 +R330 +L75 +L77 +R98 +L53 +L23 +R23 +R23 +R17 +L40 +L49 +R92 +L10 +L562 +L20 +L51 +R475 +L40 +R589 +R13 +L50 +R91 +L70 +R195 +L203 +L74 +L99 +L27 +R95 +R8 +L71 +R62 +R78 +L37 +R65 +R67 +L29 +L38 +L58 +L81 +R31 +R15 +R99 +R694 +R86 +R62 +L36 +R56 +L80 +R7 +R41 +L22 +R86 +L70 +L15 +L77 +L138 +L48 +L75 +L46 +R169 +R41 +R547 +L88 +R388 +L443 +L45 +L134 +R34 +L92 +L708 +L68 +R911 +L93 +L50 +R14 +R73 +L80 +L7 +R85 +R42 +R673 +R80 +R40 +L87 +R34 +L77 +R39 +R32 +L28 +L33 +L89 +R89 +R76 +L76 +R46 +L946 +R44 +L44 +R20 +R80 +L92 +L8 +R49 +R44 +R96 +L4 +L85 +L84 +L16 +R512 +L7 +L5 +L68 +L832 +L20 +R220 +L69 +L96 +R66 +R53 +R37 +R9 +R211 +L11 +R19 +L419 +R10 +R266 +R20 +L96 +L67 +R67 +L6 +L22 +L75 +L17 +L32 +L583 +R83 +L448 +L35 +L47 +L78 +L73 +L367 +R519 +R81 +L887 +L51 +L62 +R47 +L96 +L935 +R73 +R62 +L51 +R21 +L85 +R49 +L285 +L37 +R47 +R69 +L42 +R72 +R65 +L81 +R67 +R292 +R16 +L68 +R28 +L82 +L46 +L98 +R98 +L318 +R18 +L43 +R31 +L88 +R94 +L292 +R5 +R93 +R66 +L70 +R4 +L29 +L98 +L39 +R266 +L903 +L21 +L40 +R64 +L735 +L19 +R54 +R563 +R737 +R454 +R55 +L70 +L39 +R39 +L7 +R71 +L3 +L13 +R1 +R153 +L88 +L53 +L45 +L55 +R397 +R97 +L536 +L58 +R847 +R52 +L299 +R91 +R9 +R49 +R51 +R67 +L51 +L79 +L490 +R96 +L243 +R45 +R73 +L63 +L23 +R968 +R27 +R173 +L7 +L35 +R58 +R84 +R11 +R89 +R81 +L20 +L95 +L66 +L326 +L74 +R70 +R30 +L152 +R52 +R559 +R341 +R96 +L687 +L9 +L28 +R373 +R73 +R91 +R102 +L22 +R211 +R97 +L835 +L62 +L4 +L69 +L68 +L85 +R397 +L54 +L17 +L2 +L98 +R34 +R366 +R61 +L61 +R15 +L81 +R3 +L645 +L16 +R24 +L263 +R63 +R44 +R56 +R43 +L43 +L59 +L309 +R68 +R73 +R62 +R97 +R68 +R2 +L2 +L65 +L80 +L69 +R14 +L7 +L93 +R47 +L58 +R245 +R66 +L12 +L88 +L67 +L47 +L586 +R90 +L9 +L797 +L84 +R920 +R80 +R836 +R64 +R99 +L799 +R394 +L294 +R69 +L569 +L26 +R26 +L66 +R7 +L16 +L251 +R21 +R5 +L56 +L144 +L52 +R99 +L93 +L54 +L31 +R31 +L99 +L401 +L8 +R18 +L10 +L8 +R47 +L39 +L37 +R37 +L519 +R69 +R77 +L69 +L90 +R49 +L17 +R49 +R43 +R8 +L38 +L19 +R57 +R35 +L35 +L347 +L2 +L217 +R661 +L562 +L317 +R3 +R36 +L52 +R6 +R48 +L38 +L36 +R85 +L22 +L46 +L9 +R9 +R1 +R61 +R29 +R85 +L476 +R68 +R58 +L226 +R728 +R72 +L67 +L33 +R80 +L33 +R53 +R34 +L165 +L69 +L60 +L40 +L61 +R10 +R61 +L15 +L29 +L66 +L459 +R959 +L12 +L95 +L93 +R96 +R54 +R67 +R83 +R515 +L15 +R325 +L25 +L66 +L634 +R51 +R449 +R52 +R11 +L63 +L35 +R48 +R50 +R78 +R2 +L19 +R253 +R19 +L12 +R16 +L28 +L72 +L29 +L71 +L81 +L19 +R72 +R28 +R99 +R92 +R81 +R28 +R246 +R79 +R24 +L4 +L45 +R31 +L12 +L294 +L25 +R665 +R35 +L42 +L55 +R47 +L904 +L2 +R56 +R43 +R88 +L31 +L2 +R382 +L80 +L3 +R98 +L21 +R484 +L44 +L14 +L57 +L15 +R61 +L89 +R34 +L334 +L93 +L507 +L55 +L45 +R63 +R28 +L891 +R37 +L921 +R93 +L87 +L922 +L4 +L96 +R63 +L63 +L11 +L259 +L30 +L40 +L6 +R84 +R62 +R65 +L46 +R73 +L93 +L99 +L37 +R26 +L37 +L12 +L40 +R61 +L61 +L40 +L28 +R170 +R692 +L5 +L8 +L26 +R17 +L88 +L16 +L68 +L60 +R48 +R12 +R79 +L42 +L37 +R44 +R56 +R232 +R18 +L67 +L98 +L79 +R827 +R773 +R584 +R10 +L42 +L65 +R85 +R522 +L618 +L82 +L76 +L24 +L74 +R35 +L65 +R4 +R60 +R339 +L72 +R23 +R50 +L76 +L19 +R57 +R155 +R29 +L15 +R4 +L53 +R631 +R73 +R14 +R90 +R52 +L7 +L35 +R46 +R54 +R85 +L80 +R48 +R47 +R646 +R364 +L10 +R86 +L86 +L47 +R86 +L39 +L993 +R91 +L46 +L52 +R10 +R83 +L92 +L44 +R74 +R69 +L53 +R53 +L86 +R86 +R52 +L15 +R63 +R38 +L35 +R40 +R548 +L95 +L988 +R192 +L7 +R66 +R41 +R85 +R7 +L77 +L51 +R88 +R48 +L36 +R44 +R630 +L38 +R729 +R264 +R126 +L74 +L98 +L23 +R80 +R196 +R6 +R94 +L51 +R51 +L85 +R2 +L17 +R85 +L89 +L96 +L3 +L49 +L845 +R62 +L60 +L811 +L208 +R6 +R22 +R20 +R62 +L92 +R96 +R362 +L493 +R10 +R21 +R61 +L861 +L1 +R53 +L852 +L80 +L20 +R90 +L597 +R807 +L14 +L33 +L40 +R87 +R60 +R96 +R44 +R3 +L59 +R820 +L95 +L169 +R65 +R1 +L37 +L48 +L638 +R31 +R51 +R10 +L35 +L96 +R57 +R39 +L29 +R29 +R80 +L67 +L46 +R33 +L19 +R19 +L950 +L130 +L39 +R92 +L1 +L30 +L72 +L70 +R202 +R98 +R29 +L90 +R61 +R152 +L25 +L28 +L99 +L15 +R90 +R38 +L13 +R810 +R90 +L50 +L2 +R15 +L63 +L20 +R20 +L3 +L97 +R98 +R70 +R31 +R16 +L84 +L3 +R72 +L57 +R957 +R5 +R8 +L84 +R71 +R70 +R62 +R84 +R84 +L50 +R30 +R548 +R272 +R295 +L370 +L59 +L66 +R80 +L91 +R81 +L66 +R536 +L40 +L99 +L291 +L94 +R46 +R86 +L46 +R98 +L7 +R5 +R231 +L265 +R33 +L78 +L71 +L44 +R55 +L51 +R61 +R31 +L81 +L80 +R39 +L51 +R58 +R87 +R10 +R915 +L911 +L86 +L338 +R48 +R77 +R41 +L72 +R97 +R758 +L64 +R571 +R82 +L13 +L15 +R28 +L69 +L31 +L93 +R83 +R57 +R53 +R55 +R620 +L75 +L79 +R75 +R4 +R83 +L15 +L337 +L31 +R50 +L50 +R596 +R571 +R292 +R72 +L15 +L316 +L99 +L95 +L6 +R35 +R65 +R37 +L37 +L36 +L16 +L3 +L93 +R48 +L26 +L15 +L173 +L17 +L69 +L8 +L131 +L88 +R45 +L41 +R195 +R31 +L63 +R96 +L9 +R96 +L23 +R90 +R10 +R11 +R26 +L20 +L92 +R469 +L76 +L18 +L863 +R63 +L84 +L16 +L7 +L18 +L37 +L138 +L76 +L557 +L67 +R41 +L70 +R76 +L93 +L352 +L489 +R11 +L96 +L528 +R97 +R39 +L36 +L729 +R29 +L760 +R60 +L61 +R72 +R589 +L28 +R228 +L14 +L78 +R492 +L73 +L70 +R35 +L38 +L96 +R15 +R76 +L8 +R59 +R45 +L45 +L68 +L33 +R24 +L30 +R307 +L54 +L646 +R93 +L85 +L55 +L53 +L62 +L55 +R91 +R226 +R4 +L1 +R197 +L23 +L312 +R95 +R487 +L47 +L17 +R517 +L76 +R931 +R83 +L21 +L63 +L43 +R89 +L27 +R27 +R1 +R69 +R30 +R94 +R72 +R78 +L52 +L40 +R48 +R52 +L52 +R5 +R95 +L98 +R98 +L55 +R555 +L76 +R23 +L847 +L99 +R590 +L91 +R58 +L58 +R24 +L419 +R805 +L44 +L226 +L40 +R39 +R62 +L75 +L16 +R86 +R4 +L530 +L15 +L55 +L937 +R97 +R603 +R83 +R54 +L715 +R15 +R75 +R82 +L57 +L633 +L88 +L504 +R25 +R184 +R617 +R350 +L92 +R241 +L28 +L47 +R55 +L80 +L17 +R17 +L385 +R35 +R66 +L216 +R191 +L79 +R53 +L15 +R72 +R207 +R25 +L77 +L83 +R49 +L95 +L468 +R90 +L70 +L201 +L199 +R22 +L22 +R58 +L30 +L7 +L21 +R657 +R774 +L56 +L275 +L13 +R613 +L29 +R29 +L3 +R36 +R46 +L79 +R126 +L70 +R44 +L64 +R73 +L809 +R860 +L74 +R46 +R68 +L82 +R82 +L3 +L657 +L40 +L60 +R60 +R5 +L5 +L72 +R35 +R74 +R63 +L276 +R76 +R33 +R945 +L78 +L38 +R89 +L51 +L45 +L195 +R476 +L98 +R770 +L8 +R93 +L93 +L937 +R52 +R96 +L11 +R29 +L29 +L79 +R285 +R94 +R67 +R33 +R60 +R70 +R19 +R51 +R816 +L16 +L896 +L89 +L15 +R43 +R57 +L6 +L94 +L99 +L25 +L5 +R29 +L81 +R97 +L16 +L93 +L43 +R7 +R329 +R70 +R82 +L52 +L37 +L81 +L82 +R56 +L56 +R67 +L24 +R57 +L36 +L95 +R31 +R24 +L384 +R24 +R27 +L88 +L248 +L55 +L810 +L34 +R85 +R25 +R99 +R780 +R55 +R80 +L5 +R25 +R47 +R337 +L58 +L99 +R53 +R20 +R85 +R31 +L60 +R3 +R74 +L463 +R30 +R13 +L13 +L73 +L27 +L58 +R48 +L872 +L118 +R99 +R1 +L75 +R95 +L93 +L5 +R981 +L3 +R5 +L60 +L85 +R16 +L84 +R948 +R60 +L73 +R84 +R89 +L33 +L491 +L23 +R71 +L405 +L9 +R37 +L29 +R53 +R29 +L92 +R392 +L48 +R48 +L30 +R16 +L49 +L37 +L30 +R50 +R71 +R9 +R64 +R36 +L39 +R23 +R35 +R5 +L12 +L922 +R18 +L37 +R29 +R51 +L24 +L42 +L85 +R95 +R22 +R807 +R185 +L19 +R910 +R69 +L476 +R91 +L40 +L44 +R97 +R96 +L386 +L7 +L21 +L79 +R30 +L30 +R36 +L17 +L15 +L41 +R93 +L256 +L705 +R76 +L43 +L89 +R35 +L47 +L27 +L40 +L52 +L80 +L26 +R856 +L265 +R7 +R95 +R38 +L71 +L62 +R98 +R65 +R19 +L939 +R52 +L46 +R89 +L38 +L29 +R629 +R92 +L192 +L43 +R90 +L53 +L32 +L62 +L83 +R70 +R84 +R129 +R315 +L61 +R643 +R59 +R47 +R57 +L80 +R86 +L998 +L44 +L5 +R64 +R217 +L50 +L35 +R11 +R344 +L77 +R75 +R816 +L32 +R648 +L10 +R17 +R29 +R80 +L18 +L92 +R880 +R896 +L52 +L111 +R388 +L7 +L28 +R65 +L86 +R67 +R65 +R27 +L94 +R75 +R12 +L66 +L69 +R57 +L54 +L11 +L21 +L39 +R85 +L30 +L27 +R25 +L16 +L15 +L22 +L33 +L27 +R26 +L77 +L4 +L285 +L29 +R24 +R34 +L26 +L903 +L64 +L36 +L85 +R141 +R27 +R40 +L23 +R74 +R5 +L3 +L76 +L15 +L41 +R30 +R26 +L567 +L733 +L761 +R98 +L37 +R162 +L75 +R78 +R35 +R57 +R51 +R92 +R79 +L79 +R4 +L15 +L89 +L474 +R74 +L9 +R82 +L42 +R27 +L58 +R63 +R37 +L73 +L42 +R115 +L49 +R49 +R88 +R12 +R89 +L89 +L38 +L49 +R87 +R602 +L902 +L77 +L43 +R20 +R333 +R94 +L627 +L23 +L540 +R91 +L50 +L12 +L9 +L25 +L62 +R30 +R132 +R13 +R39 +R816 +R57 +L51 +R31 +R669 +R94 +L37 +R29 +R90 +L94 +L12 +L81 +R405 +L68 +R2 +R66 +L57 +R57 +L12 +L71 +R41 +R42 +R67 +R16 +L35 +R71 +L939 +L6 +L36 +R662 +L82 +L78 +L29 +R743 +L36 +L18 +L261 +R881 +R80 +L16 +R416 +L22 +R22 +R90 +R92 +R18 +R59 +L59 +R487 +L87 +L69 +R35 +L25 +L62 +R21 +L63 +R63 +R523 +R77 +L2 +L98 +L661 +R61 +L42 +L58 +L50 +R45 +L25 +R84 +L654 +L22 +L36 +R30 +R288 +L28 +L69 +R37 +L55 +R55 +R317 +R21 +R36 +R26 +R24 +R94 +R84 +L79 +R77 +L496 +L52 +R73 +L23 +R21 +L323 +L72 +R72 +L12 +R36 +R533 +L25 +L10 +L706 +L16 +R7 +L73 +R66 +L26 +R37 +R89 +L54 +R79 +R475 +L547 +L53 +L60 +R70 +R935 +L9 +R462 +R56 +L24 +R56 +L586 +R63 +L36 +R39 +R68 +L40 +L94 +L642 +L258 +R70 +L95 +R41 +R84 +R13 +L562 +R49 +L96 +L20 +R30 +R68 +L309 +R65 +R61 +R1 +R73 +L10 +L58 +R3 +R92 +R565 +L24 +R59 +L29 +R29 +R61 +R33 +L94 +R146 +L323 +L24 +L99 +L920 +R20 +L50 +L50 +R19 +R32 +L268 +R550 +L71 +R38 +R3 +L3 +R59 +L59 +R44 +L24 +L94 +L14 +R12 +L14 +L62 +R52 +R13 +R87 +L94 +L704 +R25 +L29 +L88 +R44 +R50 +L4 +L271 +L507 +R272 +L61 +L33 +R27 +L212 +L815 +R80 +L15 +L127 +R98 +L16 +L440 +L80 +L23 +R63 +R60 +R591 +R9 +L91 +R859 +L68 +R52 +R728 +L43 +L47 +R29 +R981 +L704 +R25 +R179 +L73 +R73 +R58 +L50 +L8 +R139 +L39 +R65 +L95 +L43 +L60 +R95 +L61 +R865 +L158 +L51 +R93 +L235 +R84 +R31 +R70 +L21 +L756 +R77 +R3 +R45 +R52 +R77 +R56 +R101 +R73 +R4 +R89 +R50 +R50 +L35 +R64 +R9 +L12 +L77 +R205 +L54 +L47 +L853 +R70 +L42 +L9 +L19 +R26 +L96 +R24 +R94 +R252 +L39 +L20 +L73 +L68 +R51 +R84 +R79 +R86 +R58 +L58 +L74 +L22 +R67 +L95 +L26 +R694 +R18 +R180 +L142 +L119 +R19 +R153 +R47 +R73 +L10 +R76 +L52 +L575 +R88 +L475 +R58 +L3 +R769 +R82 +R27 +R56 +R70 +R87 +L32 +R68 +R93 +L81 +L47 +L72 +R84 +R70 +L65 +R11 +R79 +L79 +L87 +L10 +L8 +L795 +L21 +L221 +L58 +R48 +R950 +R2 +R391 +L88 +L88 +L915 +R54 +R94 +R61 +L70 +R61 +R47 +L447 +R572 +R28 +R410 +L24 +L72 +L41 +L259 +L66 +R34 +L39 +L291 +R24 +R24 +L711 +L5 +L80 +R27 +L31 +L69 +L31 +L43 +R802 +L322 +L37 +L728 +L52 +R80 +L703 +R529 +R588 +L14 +L64 +R753 +L61 +R47 +R4 +L489 +L90 +L80 +L90 +L52 +L78 +L424 +L76 +R86 +R23 +L71 +L38 +R508 +L508 +R96 +R234 +R67 +R69 +L92 +R124 +L46 +R47 +R4 +R97 +R64 +L64 +R3 +L38 +L4 +L79 +R18 +L8 +L82 +R90 +L32 +L13 +R245 +L12 +L88 +R92 +L748 +L44 +L74 +R6 +R68 +R14 +L8 +R963 +L769 +R217 +L17 +L58 +L42 +L94 +L6 +L94 +R94 +L58 +L542 +R41 +R585 +R36 +R2 +R536 +L13 +R88 +L67 +L13 +L90 +R95 +R57 +R621 +R90 +R23 +R88 +R51 +R70 +L25 +R913 +L88 +L22 +L578 +R65 +L865 +L965 +L23 +R97 +L29 +R52 +R68 +L63 +L639 +L779 +R27 +R62 +R803 +R52 +R37 +R27 +R973 +L56 +R56 +L17 +R96 +L408 +R31 +L63 +R55 +R6 +R29 +R9 +R4 +R11 +R47 +R28 +R84 +R88 +R31 +L54 +R47 +R27 +L251 +R30 +R170 +R83 +R417 +L10 +L90 +L976 +R55 +R221 +R32 +R74 +L42 +R36 +L417 +R704 +R52 +R628 +L730 +R87 +L22 +L2 +L16 +R40 +R23 +R34 +L74 +L45 +L47 +R38 +R20 +L73 +R37 +L860 +L77 +L50 +L220 +L31 +R43 +R58 +L40 +L60 +R33 +L33 +L70 +R38 +L60 +R78 +R53 +L39 +L5 +L95 +L55 +L28 +R84 +L1 +R47 +R53 +L523 +R13 +L90 +R3 +L803 +L3 +R26 +R77 +L30 +R56 +L69 +L157 +R10 +R11 +L175 +R54 +R375 +R25 +L26 +R40 +R441 +R45 +R76 +R60 +R8 +R76 +L162 +R42 +L23 +R89 +R1 +L31 +L36 +R53 +L53 +L72 +L17 +L51 +R40 +R27 +R46 +R627 +L279 +L12 +R55 +R17 +L89 +R9 +L1 +R662 +L18 +L88 +L56 +L940 +R224 +L9 +L74 +R99 +L114 +R67 +R47 +R18 +R74 +R31 +L23 +R21 +L43 +R45 +R82 +R95 +L444 +R44 +R275 +L618 +L10 +L79 +R79 +L847 +R88 +L88 +L13 +R82 +R31 +L24 +R41 +R80 +R44 +L94 +L62 +L10 +L7 +R38 +L91 +L44 +R29 +L64 +L336 +L436 +L30 +L73 +R561 +L322 +R45 +R11 +L65 +L91 +R691 +R809 +R30 +R470 +R64 +L20 +R461 +R95 +R13 +L2 +L95 +R841 +R33 +L724 +R98 +L14 +L335 +L15 +R6 +R94 +L649 +L352 +R8 +R56 +R27 +L55 +R77 +R1 +R58 +L24 +L41 +L757 +R51 +L49 +R773 +R14 +R78 +L16 +R46 +L72 +R17 +L91 +L61 +R76 +R85 +L45 +R94 +R51 +L75 +L25 +R69 +R31 +R34 +L3 +R69 +L85 +R85 +L977 +R37 +R840 +R123 +R745 +L68 +R28 +R72 +L859 +L15 +L26 +R61 +L17 +R16 +R78 +L79 +L11 +L86 +L562 +R799 +L94 +L40 +L65 +R21 +L21 +L47 +R47 +R36 +L27 +L9 +R51 +L51 +L43 +R57 +L14 +R62 +R38 +R90 +L90 +R89 +R4 +L93 +R23 +R20 +R1 +R56 +R15 +L365 +R50 +L88 +R13 +L98 +R54 +L81 +L552 +L48 +R60 +R69 +R22 +R36 +L87 +R71 +L71 +R98 +R93 +L72 +L97 +R47 +R331 +L46 +R13 +R33 +R40 +R427 +L28 +L91 +R52 +R16 +L816 +L67 +R4 +L37 +L31 +R31 +L10 +L90 +L60 +R154 +R68 +L96 +R96 +L62 +R91 +R9 +L49 +L95 +R78 +L653 +R22 +R72 +R25 +L53 +L13 +R14 +L82 +R634 +L86 +L514 +L42 +R645 +R39 +L84 +L58 +L10 +L90 +R85 +L908 +L77 +L47 +R47 +L99 +L270 +L31 +R79 +L5 +R46 +L81 +L59 +R4 +R529 +R87 +L48 +R85 +L20 +R83 +L56 +L77 +R61 +L28 +L85 +L88 +L27 +R36 +R1 +R63 +R54 +R46 +R49 +L34 +R85 +L79 +R58 +R28 +R27 +L28 +L10 +R19 +L59 +R47 +L124 +R80 +L20 +R90 +R17 +R8 +L50 +R755 +L222 +R22 +R768 +L27 +L375 +L4 +R30 +R75 +L26 +L61 +L17 +R72 +L94 +R93 +L15 +L878 +L45 +L43 +R32 +R76 +R39 +R41 +R60 +R58 +R656 +L71 +L3 +L145 +L655 +R55 +R68 +R14 +L21 +L48 +R232 +L56 +R56 +L45 +R2 +R50 +R17 +L1 +L9 +L14 +R4 +R19 +L57 +L66 +L15 +R29 +R698 +L12 +R77 +L87 +R10 +L252 +L9 +R79 +L14 +R496 +R2 +R98 +L6 +L32 +R85 +R53 +L1 +L230 +L69 +L998 +L2 +L1 +L99 +R13 +L122 +R9 +L19 +R84 +L65 +R35 +R65 +L37 +R37 +L9 +L23 +L68 +L51 +R4 +R10 +R928 +R868 +R6 +L50 +R14 +R87 +L916 +R53 +R97 +R10 +R40 +R310 +R13 +R18 +L41 +R33 +L233 +R53 +L798 +R99 +L454 +L96 +L84 +R80 +L98 +L2 +R65 +L37 +R72 +R68 +R32 +L99 +L1 +L21 +R21 +L93 +L7 +R27 +R58 +R96 +L81 +L578 +L222 +R57 +L92 +R35 +L63 +R24 +L61 +L55 +R85 +L4 +L6 +R11 +L75 +L56 +R13 +L715 +L92 +R905 +L82 +R89 +R32 +R50 +L51 +L577 +R269 +R857 +R12 +L12 +L33 +L26 +L843 +L81 +L660 +R45 +L86 +R33 +L87 +L69 +R40 +R616 +R6 +L9 +R16 +L60 +R90 +L36 +L54 +R22 +R111 +R67 +L56 +L44 +R48 +L65 +L92 +R459 +L50 +L45 +L55 +R70 +L57 +L38 +R43 +R82 +R39 +R61 +L58 +L703 +R40 +L84 +R876 +L80 +R922 +R28 +L912 +L29 +R3 +R5 +R992 +R54 +L59 +R56 +R49 +R57 +L87 +L64 +L888 +R43 +R28 +L41 +L648 +R14 +L14 +R10 +L11 +L48 +L51 +L26 +R95 +L78 +L18 +L652 +R29 +R13 +L63 +L53 +R53 +L77 +L39 +R16 +L63 +L22 +R26 +R59 +R305 +R95 +R41 +R15 +R444 +L72 +R60 +R212 +R90 +L890 +L20 +R46 +R74 +R875 +L35 +L73 +L552 +L15 +L12 +R9 +R71 +L10 +R49 +R561 +L43 +L25 +L37 +R15 +L36 +R58 +R81 +R69 +R5 +R145 +L27 +L88 +L3 +L82 +L47 +L795 +R18 +L7 +R31 +R61 +R64 +L26 +R28 +L27 +L179 +L85 +L95 +L381 +L983 +R86 +R39 +R496 +R2 +R33 +R63 +L96 +L64 +L4 +R92 +R57 +L81 +L93 +R4 +L91 +R64 +R39 +R98 +L46 +L91 +L52 +R91 +L423 +L68 +L932 +L65 +R629 +L502 +L36 +R82 +L8 +L89 +R37 +R533 +R19 +R31 +L431 +L60 +L440 +L56 +R64 +R2 +R10 +R38 +L52 +L906 +L70 +L93 +R463 +L22 +R83 +L69 +L92 +R75 +L26 +L149 +L4 +R4 +R67 +R78 +L870 +R8 +L73 +R52 +R38 +L47 +R47 +L9 +L791 +R211 +L99 +L90 +R58 +R648 +L44 +R66 +L928 +R90 +R88 +L21 +L79 +R65 +R36 +L38 +R637 +L31 +L15 +L69 +L85 +R93 +R68 +R39 +R19 +L6 +L13 +R36 +L36 +R1 +R199 +R66 +L66 +L841 +R41 +R33 +R22 +R45 +R6 +L6 +L20 +L39 +L41 +R15 +R85 +R22 +L9 +R83 +L79 +L59 +R43 +L33 +R32 +R80 +R644 +L335 +L22 +R510 +R614 +R9 +L92 +L108 +R1 +L1 +L438 +R81 +L43 +L44 +L756 +R22 +L753 +R15 +R845 +R71 +L6 +R66 +L42 +R82 +L85 +R83 +R33 +L31 +R81 +R39 +R35 +L47 +R92 +L970 +L523 +R22 +R580 +L9 +R5 +L39 +L66 +L52 +R94 +L90 +R48 +R981 +L81 +R942 +R244 +L56 +R52 +L182 +L25 +R25 +R375 +L75 +L85 +R65 +L65 +R65 +L34 +L53 +R37 +R70 +L479 +R468 +R529 +L134 +R116 +R661 +R634 +R134 +R307 +L15 +L21 +L31 +R531 +L89 +R84 +L695 +L70 +R63 +R36 +L49 +L80 +R57 +R96 +R18 +R29 +R14 +R86 +R2 +L54 +L71 +R522 +R20 +L365 +R28 +R1 +R17 +R42 +R58 +R52 +L828 +R70 +R390 +R16 +R41 +R759 +L73 +L68 +R81 +R51 +L16 +L975 +R41 +L82 +L69 +L90 +L757 +L543 +R502 +R80 +L82 +R3 +L53 +R50 +L978 +R78 +R54 +L254 +R25 +R75 +L21 +R68 +L49 +R2 +R82 +R17 +L9 +L283 +R393 +L78 +L22 +L15 +L985 +R5 +R197 +L3 +R1 +L3 +R91 +R76 +R95 +L63 +R72 +R27 +L46 +R51 +R65 +L67 +R902 +R99 +L40 +L516 +L43 +L78 +L41 +R19 +L3 +L321 +L8 +L30 +R510 +L26 +L75 +R59 +R43 +R51 +R84 +R26 +R23 +L32 +R88 +R11 +L36 +L64 +L89 +R83 +R96 +L90 +L3 +R69 +L66 +R42 +R58 +R65 +R7 +L10 +R38 +R94 +R5 +R1 +R99 +R232 +L33 +L98 +L5 +R5 +L88 +R20 +R5 +R63 +L615 +L806 +L32 +R53 +L36 +R36 +L36 +L64 +R44 +L90 +L45 +R91 +L29 +R98 +R4 +L73 +R3 +L54 +L63 +R14 +L70 +L430 +R71 +R63 +L34 +R47 +L647 +R25 +L8 +R86 +L190 +L13 +L54 +R54 +L6 +L78 +R33 +L49 +L85 +R62 +L77 +R495 +R5 +R30 +L71 +L959 +L85 +L12 +L3 +R19 +L350 +L97 +R89 +L441 +R954 +L72 +R66 +R35 +L3 +L4 +L46 +R50 +R78 +R46 +L87 +L34 +L77 +R46 +L21 +L964 +R109 +L7 +L35 +L92 +R98 +R56 +R89 +R29 +L28 +R35 +R659 +L32 +L510 +R42 +L47 +R47 +R872 +L95 +R80 +L8 +L39 +R90 +L5 +L95 +L303 +L97 +R25 +R75 +R810 +L43 +R33 +R80 +L15 +R79 +L49 +L63 +L64 +R679 +L18 +L86 +R735 +R22 +L4 +L922 +L74 +L80 +R80 +R19 +L59 +R40 +R41 +R59 +L39 +R539 +L59 +R959 +R31 +R73 +L76 +R272 +L78 +L99 +L649 +R55 +L29 +L45 +R45 +L58 +L42 +L427 +L46 +L98 +R876 +L405 +L69 +L31 +L51 +L49 +R88 +R43 +R81 +R75 +R849 +R75 +R89 +L514 +R14 +L1 +L489 +L21 +L89 +R53 +L44 +L9 +L95 +R803 +R92 +L8 +R158 +L15 +R34 +L69 +L38 +R38 +R60 +R712 +L126 +L14 +L13 +L11 +R49 +L66 +L14 +R23 +L94 +R7 +L8 +R95 +L661 +R561 +L20 +L180 +L9 +R52 +R57 +R43 +L43 +R91 +L91 +R31 +L631 +L18 +R18 +R79 +R21 +R35 +L9 +L26 +L1 +R1 +L924 +L976 +L72 +L22 +L905 +R813 +R129 +L45 +L20 +L82 +R64 +R97 +L47 +L10 +L92 +L8 +L243 +L757 +L19 +L81 +R98 +L98 +R98 +L275 +L23 +L25 +L921 +L66 +R12 +L5 +R205 +R91 +L10 +R36 +R34 +R81 +R68 +L35 +R44 +R60 +R18 +L93 +L94 +R71 +R1 +L72 +L18 +L82 +L38 +R34 +R4 +R69 +L16 +R650 +R88 +L291 +L41 +L10 +R66 +L44 +R75 +R93 +R82 +L21 +R51 +R49 +L849 +R92 +R57 +R69 +R62 +R86 +L19 +L598 +L33 +R91 +L92 +R534 +R12 +L96 +L35 +R19 +R57 +R643 +R32 +R69 +L85 +L17 +R45 +L72 +R827 +R98 +R935 +R68 +R97 +L21 +R79 +R37 +L92 +L18 +R43 +L21 +L76 +R72 +L357 +R62 +L5 +L33 +L74 +L93 +L11 +R54 +L43 +L5 +R41 +R32 +L68 +L584 +L16 +R8 +L17 +R40 +L31 +R82 +R18 +L12 +R60 +R91 +R22 +R77 +R33 +L71 +R9 +R91 +L87 +L98 +R85 +R399 +L57 +L24 +R82 +L405 +L68 +L943 +L76 +L65 +L643 +R15 +L215 +L597 +R7 +L10 +R94 +R26 +L64 +R44 +L52 +R23 +R29 +R5 +R577 +R680 +R36 +L98 +R662 +R92 +L98 +L76 +L55 +R41 +L59 +L7 +L74 +R74 +L53 +L84 +L12 +L851 +L618 +L71 +L90 +R79 +R410 +L10 +L90 +L10 +L325 +L50 +L39 +R77 +L565 +R402 +L15 +R96 +R29 +L23 +R794 +R872 +L32 +L71 +R89 +R54 +L84 +R4 +R87 +R804 +R96 +L429 +L81 +L53 +L339 +R2 +R62 +R92 +R24 +R97 +L75 +L443 +L57 +L10 +L104 +L16 +R30 +L21 +R921 +L35 +R62 +R43 +R748 +R82 +R13 +R87 +L828 +L14 +L89 +R567 +L36 +R15 +L15 +R99 +L61 +R74 +R56 +R68 +R51 +R82 +L757 +R88 +L97 +L71 +L432 +L62 +L88 +L76 +L74 +R47 +R38 +L85 +L690 +R90 +L98 +L7 +R5 +L792 +R75 +L83 +L60 +L40 +R89 +R45 +R66 +R88 +R90 +L57 +R1 +R67 +L89 +L66 +L939 +R605 +L13 +L87 +L36 +L87 +R905 +R81 +R62 +R75 +L316 +L54 +R80 +L113 +L195 +L202 +R74 +L47 +L27 +R31 +R48 +R79 +R487 +R84 +L29 +L8 +R8 +R76 +L76 +L96 +R96 +L44 +L8 +L48 +R869 +L469 +R44 +R56 +L30 +R78 +L948 +R346 +R29 +L75 +L53 +L38 +R568 +R23 +L39 +L76 +L72 +R225 +R23 +R129 +L25 +L4 +L61 +L3 +R70 +R76 +L78 +R35 +L11 +R8 +L91 +R52 +R565 +R77 +L11 +R23 +R723 +R17 +R7 +R41 +R35 +R265 +R95 +R80 +L75 +R52 +R24 +R73 +L49 +R19 +R950 +L169 +L9 +R85 +L76 +R792 +L82 +L518 +L62 +R63 +L11 +L95 +L540 +R20 +R39 +R94 +L48 +L18 +L34 +L1 +L54 +R17 +R938 +R15 +R75 +L84 +R94 +L72 +L228 +L77 +L523 +L28 +R25 +R3 +R3 +R48 +L51 +L739 +L27 +L75 +L10 +L36 +L38 +L74 +L73 +R35 +L520 +L18 +L25 +L9 +R13 +L998 +R603 +R91 +R986 +L22 +L54 +L510 +L2 +R2 +R47 +R206 +R951 +R93 +R3 +R921 +R18 +L5 +R71 +R889 +L9 +L57 +L11 +L874 +R81 +R15 +L639 +R825 +R407 +R16 +L48 +L31 +R32 +L5 +R933 +R64 +L693 +R52 +R11 +L9 +L54 +L21 +L14 +R30 +R31 +R474 +R78 +L13 +L686 +L39 +R36 +L76 +L37 +R26 +L7 +R918 +R79 +R37 +L16 +L25 +L22 +L624 +R10 +R781 +R58 +R14 +R94 +L4 +L320 +L627 +L363 +L88 +L50 +R27 +L6 +R45 +L76 +L6 +R71 +R11 +R84 +L91 +L93 +R8 +R87 +L95 +R684 +L91 +R11 +R96 +L7 +L521 +R28 +R327 +R340 +L63 +R25 +R793 +R15 +L987 +L28 +R97 +R31 +L2 +L564 +R112 +L934 +L62 +L78 +R61 +L83 +L33 +L45 +L822 +R94 +R6 +L93 +R89 +R77 +R27 +L16 +L22 +R38 +R526 +R748 +R8 +R718 +R703 +L48 +R35 +L90 +L99 +R8 +R34 +R557 +R2 +L7 +R75 +L90 +L80 +L74 +L521 +L5 +L590 +L34 +R80 +L99 +L73 +R16 +L95 +L70 +L79 +L93 +L16 +L9 +L38 +L89 +R40 +L21 +R85 +L87 +R72 +R5 +L5 +L7 +R25 +L3 +L15 +R86 +L791 +L53 +R89 +L7 +R43 +R33 +L32 +R47 +R85 +L19 +L81 +L259 +R86 +L18 +L9 +L5 +R5 +R53 +R58 +R346 +L57 +L26 +L203 +L71 +R51 +R359 +L86 +L97 +L29 +L32 +L82 +R816 +L59 +L4 +L37 +R97 +L18 +L779 +R27 +L27 +L26 +L1 +R27 +L643 +L27 +R45 +R25 +R105 +R37 +R67 +R39 +L335 +R32 +L47 +R244 +R638 +L32 +L13 +L9 +L52 +R98 +R74 +L116 +L30 +R55 +L55 +R25 +L44 +L65 +L16 +L867 +L58 +R62 +L324 +L48 +L27 +L20 +L18 +L35 +R10 +R61 +L11 +R75 +L82 +L18 +L674 +R24 +L7 +L84 +R10 +R431 +R42 +R51 +L99 +L72 +R30 +R142 +R6 +L76 +R76 +R40 +L97 +R49 +L526 +L69 +L97 +R70 +L827 +R8 +L11 +L40 +L841 +L86 +R47 +L71 +R88 +L37 +L58 +L280 +R58 +L3 +L17 +L54 +R54 +L24 +R24 +R44 +L74 +L70 +L69 +R69 +L87 +L13 +L20 +L18 +L47 +R56 +L28 +L817 +L90 +R64 +R157 +R86 +R68 +L85 +R2 +R15 +L84 +L29 +L30 +L160 +L742 +R497 +L995 +L41 +R97 +L73 +L59 +R73 +L597 +L17 +L36 +R97 +R56 +R42 +R58 +L818 +L82 +R902 +L202 +R96 +L84 +R57 +R19 +R12 +L939 +R585 +R54 +L14 +L735 +L446 +L5 +R58 +L56 +R868 +R522 +L72 +R80 +L64 +L101 +L4 +L51 +R375 +L71 +L68 +L56 +L51 +R885 +R35 +L29 +R79 +R721 +R70 +R430 +L16 +L84 +R28 +L65 +R21 +L84 +R31 +L15 +L28 +L346 +R258 +R95 +L44 +L9 +R58 +L674 +R80 +R2 +L51 +R25 +L82 +L43 +R7 +R58 +L65 +R71 +R72 +R3 +L8 +L95 +R582 +R18 +L20 +R53 +L528 +L705 +L76 +L24 +L87 +R87 +L69 +L58 +L27 +R54 +L77 +R77 +R60 +L60 +L46 +L19 +R72 +L68 +L39 +L17 +R29 +L12 +R46 +L17 +L29 +R90 +R99 +L95 +L94 +L26 +L44 +L30 +R97 +R3 +L27 +L60 +R87 +R62 +R38 +R32 +L70 +L62 +R96 +R14 +R41 +L36 +L15 +L71 +R71 +L53 +R53 +L30 +L53 +R83 +R11 +L48 +R50 +R28 +L16 +L7 +R37 +L28 +R14 +R14 +R50 +R42 +R41 +R2 +L10 +R26 +R26 +R49 +L47 +R30 +R24 +R14 +R8 +R30 +R15 +R47 +R9 +L27 +L32 +R17 +R46 +L34 +R40 +R43 +R25 +L3 +L17 +L4 +L3 +R15 +L50 +R9 +L5 +R40 +L7 +R40 +L15 +R20 +R45 +R39 diff --git a/18-12-2025/main b/18-12-2025/main new file mode 100755 index 0000000..dccbbe4 Binary files /dev/null and b/18-12-2025/main differ diff --git a/18-12-2025/main.rs b/18-12-2025/main.rs new file mode 100644 index 0000000..395ad9b --- /dev/null +++ b/18-12-2025/main.rs @@ -0,0 +1,33 @@ +use std::fs; + +fn main() { + + let mut pointer = 50; + let mut zero_count = 0; + + let input: String = fs::read_to_string("input.txt").expect("text file cannot be read to string"); + let input = input.split("\n"); + // let input = ["L68", "L30", "R48", "L5", "R60", "L55", "L1", "L99", "R14", "L82"]; + + for element in input { + if element == "" { + break; + } + let steps: i32 = (&element[1..]).parse().unwrap(); + if element.contains("L") { + pointer -= steps; + } else { + pointer += steps; + } + pointer = pointer % 100; + if pointer < 0 { + pointer += 100; + } + println!("The dial is rotated {element} to point at {pointer}"); + if pointer == 0 { + zero_count += 1; + } + } + println!("Number of Zeros: {zero_count}"); +} + diff --git a/18-12-2025/problem.md b/18-12-2025/problem.md index d38b1c7..b33cc70 100644 --- a/18-12-2025/problem.md +++ b/18-12-2025/problem.md @@ -1,6 +1,5 @@ ---- Day 1: Secret Entrance --- - + # Day 1: Secret Entrance The Elves have good news and bad news. The good news is that they've discovered project management! This has given them the tools they need to prevent their usual Christmas emergency. For example, they now know that the North Pole decorations need to be finished soon so that other critical tasks can start on time. @@ -41,3 +40,22 @@ L1 L99 R14 L82 + +Following these rotations would cause the dial to move as follows: + +- The dial starts by pointing at 50. +- The dial is rotated L68 to point at 82. +- The dial is rotated L30 to point at 52. +- The dial is rotated R48 to point at 0. +- The dial is rotated L5 to point at 95. +- The dial is rotated R60 to point at 55. +- The dial is rotated L55 to point at 0. +- The dial is rotated L1 to point at 99. +- The dial is rotated L99 to point at 0. +- The dial is rotated R14 to point at 14. +- The dial is rotated L82 to point at 32. +Because the dial points at 0 a total of three times during this process, the password in this example is 3. + +Analyze the rotations in your attached document. What's the actual password to open the door? + +