heh
2025/1
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | rust-toolchain.toml | 2 | ||||
| -rw-r--r-- | src/inp.txt | 5687 | ||||
| -rw-r--r-- | src/main.rs | 29 | ||||
| -rw-r--r-- | src/util.rs | 14 |
5 files changed, 4690 insertions, 1044 deletions
@@ -27,4 +27,4 @@ swizzle = "0.1.0" lto = true codegen-units = 1 debug = true -overflow-checks = true +# overflow-checks = true diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 5d56faf..dc17ccf 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly" +channel = "nightly-2025-11-13" diff --git a/src/inp.txt b/src/inp.txt index e9f0021..e629639 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1,1033 +1,4654 @@ -+9 -+15 --14 -+10 -+13 -+15 -+10 --16 --5 -+2 -+8 -+7 --4 -+11 -+7 -+10 --9 -+15 --10 -+12 --5 -+6 -+7 --12 --12 --19 --6 -+4 -+11 --3 -+8 -+10 -+15 -+7 -+12 --14 -+7 -+12 -+4 --6 --6 -+5 -+15 -+13 -+15 -+15 --11 --12 -+18 --12 --17 -+14 -+1 -+6 -+5 --10 --11 --3 -+10 -+18 --6 --6 -+14 --7 -+13 -+20 -+2 --1 -+17 -+6 --3 --11 -+12 -+15 --18 --13 --15 -+13 -+19 -+7 --15 --16 -+17 -+16 -+14 --4 -+16 --2 -+9 -+17 --9 --2 --5 -+12 --3 -+4 -+10 --6 --16 --5 --18 -+6 --12 -+14 -+18 --16 --18 -+19 --20 -+13 -+13 --20 -+18 --20 -+4 -+10 -+16 --12 -+19 -+15 -+6 -+4 -+9 --18 -+15 --5 -+12 --19 -+9 --16 -+17 --6 -+18 -+15 -+17 --12 -+6 --3 -+11 --7 --2 -+8 --17 --12 --3 -+5 --8 --3 --1 --3 --8 --10 -+19 -+13 --16 -+13 -+12 --7 -+3 -+2 -+6 -+3 -+1 -+9 --14 --4 -+17 -+8 --14 --13 -+17 --19 -+20 -+16 --9 -+19 -+7 -+14 -+9 --4 -+2 --16 -+11 -+6 -+10 --19 -+15 -+11 -+5 -+2 --17 -+7 -+16 -+16 --14 -+7 --3 --9 --2 --5 --12 --6 -+10 -+6 -+15 --4 --18 -+4 -+6 --8 -+10 --18 --16 --7 --5 --8 -+16 -+1 -+4 -+13 --5 -+6 -+12 --21 --23 -+3 --15 -+10 --3 -+17 --8 --2 --11 -+16 --17 --5 -+1 -+22 --16 --8 -+3 --8 -+15 -+2 -+19 --14 --18 --2 -+12 -+23 -+8 -+32 -+7 -+6 --3 -+13 --14 -+12 --18 -+13 -+3 --2 -+15 --10 --8 -+13 -+20 --17 --1 -+9 -+17 --4 --2 -+7 --3 --19 --6 -+8 --5 -+6 --17 -+21 -+2 -+16 --26 -+9 -+19 --3 -+9 -+19 -+1 --6 --7 -+8 --3 --2 -+11 -+7 -+20 --4 --4 -+9 -+9 --5 --6 --6 -+15 --4 --16 --3 --6 --2 --14 -+13 --21 --25 --33 -+14 -+20 -+25 --3 -+30 -+32 -+2 -+5 --6 -+5 -+6 -+7 --14 -+16 -+8 -+4 -+9 -+21 --16 -+17 --8 -+16 -+19 --1 --1 -+14 -+6 --14 -+9 -+23 -+15 --4 --20 -+7 -+21 -+17 -+11 --16 -+23 -+17 --22 -+27 --9 --29 -+7 --22 --27 --12 -+1 -+17 --22 --1 --1 --18 --4 -+15 --17 --15 --7 -+14 -+19 --24 --3 --3 --5 --9 -+27 --1 --19 -+16 --11 -+1 -+6 --16 -+19 -+16 --10 --36 -+13 --23 --3 --10 -+6 --9 --4 -+3 -+3 -+2 --10 --4 --21 -+9 -+6 -+11 -+6 -+13 --2 --50 --66 -+10 --52 --7 --10 -+25 --41 --12 --46 --43 --16 --3 -+7 -+3 -+29 --27 --23 --56 --111 -+14 --511 --59243 -+6 --3 --11 --6 --15 --10 --13 -+8 -+17 --4 -+19 --8 -+4 -+17 -+8 --5 -+4 -+14 -+4 --6 -+15 -+4 -+21 --17 -+12 --31 --70 --10 -+6 --11 -+13 -+11 --5 -+2 --15 --19 --20 -+14 --11 -+5 --12 --3 --17 -+4 --8 -+5 --10 --14 --13 --2 --9 -+10 --11 --21 -+12 -+1 -+11 --21 --15 -+4 --6 --14 --13 --5 --7 -+6 -+10 -+14 -+6 -+14 -+2 -+8 -+18 --15 -+18 --13 --19 --20 --19 --16 --18 --7 --1 --12 -+14 -+15 -+14 --4 --16 -+19 --9 -+16 --12 -+3 -+6 --15 --10 --10 --15 -+11 -+20 --23 --19 -+1 --12 -+3 -+17 -+4 -+3 -+17 --9 -+1 --2 --19 --11 --5 --14 --1 -+11 -+3 --6 --1 -+14 --11 --5 -+18 -+9 -+2 --9 --16 --12 --13 --1 --7 -+12 -+4 -+11 --22 -+14 -+23 -+6 -+11 --9 --9 --4 -+17 --8 --10 --16 --10 --4 -+7 --9 --14 --14 -+12 -+10 -+13 --16 --13 --18 -+19 -+10 -+10 -+20 --5 -+8 --27 -+16 -+7 --5 --8 --20 -+8 --19 --7 -+16 --22 -+9 --19 --19 -+15 -+16 -+18 -+7 -+10 --16 --6 --18 --2 --7 -+8 --7 --20 --2 --2 --19 -+18 --4 --18 -+8 --19 --16 -+3 -+17 --12 --10 -+3 --17 --15 -+19 -+4 -+3 -+16 --1 -+13 -+6 --15 -+14 -+19 --3 -+16 -+1 -+5 -+3 -+1 -+8 -+12 -+7 --18 --16 -+23 -+6 -+3 -+6 -+13 --15 --22 --13 --16 -+19 --9 --7 --13 -+2 -+25 --19 --16 --4 --27 -+19 --21 --7 --23 --19 -+17 --8 --3 --10 -+1 -+16 --6 -+15 --8 -+17 --16 --14 -+11 --10 --10 --16 --6 -+2 -+1 --17 --19 -+17 -+12 --11 -+7 --13 -+15 -+15 -+10 --9 -+3 --1 --1 --20 --1 --9 --13 --13 --10 --15 -+17 -+4 --9 -+16 --4 -+17 --14 --11 -+17 -+20 --11 --2 -+19 --20 --21 --4 --8 --7 --6 --16 -+15 --12 --13 --4 -+16 -+4 --14 -+9 --18 --12 --19 --12 --19 -+9 --15 -+8 --12 -+8 -+8 -+16 -+6 -+10 --5 -+2 --17 --13 -+24 -+26 --11 --17 -+37 --3 -+14 --5 -+4 -+16 -+3 -+12 -+4 --25 --18 -+7 -+16 --11 --22 -+11 --19 --11 -+23 --21 --14 -+26 -+17 -+19 --29 -+33 -+45 -+14 -+9 --22 -+10 -+7 -+13 -+9 -+12 -+9 --20 -+3 --9 --19 --18 --23 --7 -+34 -+11 -+46 --16 -+21 --8 -+18 -+10 -+7 --15 --7 -+1 --16 -+28 -+16 -+2 --8 --3 --3 -+39 -+15 --10 --3 -+6 -+17 --27 --19 --10 --43 --42 -+133 -+19 -+19 -+27 -+59 --14 --18 -+5 --10 --7 --21 -+108 --41 -+53 --309 --42 -+123 --1005 --59069 --4 -+3 --7 -+5 --14 -+7 --4 --2 --5 -+9 --13 --7 -+1 --13 -+3 --21 -+9 --12 -+18 -+10 -+8 --19 -+13 -+12 --19 --1 -+16 --11 --7 --5 -+11 --15 --4 --3 -+6 --18 -+5 --1 --10 --16 -+13 -+12 --18 --16 --4 --13 --9 -+7 --1 --18 --18 -+6 --11 --16 --17 --7 --3 --3 -+15 --11 -+6 --14 --12 -+13 --9 -+7 -+13 -+6 -+18 --10 -+19 --12 --3 -+5 -+6 -+2 -+9 -+1 -+1 -+12 -+6 --3 -+6 -+7 --17 -+6 -+15 -+17 -+3 --16 --16 -+19 --10 --7 --18 -+6 --17 -+10 --17 --1 -+5 --15 -+2 --6 --19 --8 -+15 --4 -+7 --13 --18 --7 -+8 -+8 -+3 -+24 --16 --15 -+6 --20 --8 --18 -+3 --7 -+14 -+5 -+18 --11 --6 --9 --14 --9 -+15 -+18 -+6 -+8 -+10 --2 --18 -+9 -+13 --16 -+7 --9 -+4 --18 --7 -+8 --20 --17 --16 --3 --15 -+9 -+16 -+14 -+8 -+17 -+120917 +L47 +R26 +L18 +R18 +R26 +R15 +L33 +R8 +L26 +L25 +R6 +L47 +L7 +R40 +L1 +L4 +R43 +L30 +R3 +L1 +R8 +L18 +L25 +R20 +L45 +R12 +R12 +R32 +L14 +L50 +R32 +L31 +R37 +L34 +R8 +L18 +R15 +R14 +L10 +R38 +R34 +L45 +L34 +L13 +R32 +R2 +L12 +L19 +L2 +L22 +L19 +L87 +R6 +R34 +R74 +L66 +R58 +L40 +R79 +R74 +R33 +R3 +L22 +L71 +L62 +R91 +R5 +L61 +L30 +L99 +R43 +R44 +R3 +R80 +R59 +R96 +L27 +L98 +R28 +L98 +L4 +R13 +L97 +L42 +R81 +L81 +L80 +L91 +R6 +R65 +R48 +R86 +R44 +R22 +L80 +L20 +R55 +R45 +R58 +L42 +L41 +L75 +L41 +L966 +R402 +R5 +L384 +L616 +L88 +R45 +R8 +R24 +R11 +R512 +R88 +R84 +L549 +R26 +R25 +R60 +L70 +L76 +R362 +L162 +L447 +R95 +L30 +R182 +L16 +R916 +R919 +L19 +L24 +L56 +R11 +R8 +L35 +L4 +L77 +R45 +L68 +R50 +R53 +L303 +R50 +R27 +L77 +L44 +L956 +R622 +L19 +L677 +L4 +L76 +R62 +L50 +L84 +R23 +R89 +R97 +L94 +L89 +R99 +R7 +R53 +L59 +R76 +R93 +L31 +L15 +L23 +R88 +R12 +L93 +L36 +R460 +R47 +R22 +L69 +L58 +R45 +L718 +R94 +L23 +L28 +L43 +R80 +L80 +L85 +L15 +R85 +R35 +R180 +R67 +L43 +L79 +R54 +L99 +L90 +L10 +R64 +R408 +L72 +R38 +L87 +R36 +L48 +L39 +L67 +L33 +R30 +R37 +R2 +R94 +R441 +L521 +L47 +R12 +L40 +R671 +R21 +R7 +R147 +L54 +L889 +L74 +L258 +L51 +R10 +L796 +R30 +R79 +L51 +R78 +L84 +L5 +R54 +R55 +L30 +L68 +R79 +L10 +L269 +L65 +L53 +R61 +R240 +R29 +L28 +R330 +R25 +L54 +L585 +R71 +L41 +R47 +L507 +R30 +R156 +L56 +L724 +L76 +R33 +R1 +R94 +L37 +L7 +R52 +L47 +R611 +R72 +L13 +L97 +R38 +R92 +R65 +L57 +R858 +L83 +L75 +R30 +L330 +L476 +L47 +R33 +L87 +L52 +R29 +L55 +L45 +R1 +R99 +R39 +R61 +L17 +L783 +L33 +L67 +R42 +R86 +R22 +L450 +R69 +R31 +R30 +L930 +L3 +L39 +R973 +L38 +R25 +R23 +R79 +R39 +L59 +R605 +L334 +L98 +L973 +L15 +R11 +L82 +R86 +L57 +R29 +R65 +R5 +L52 +L8 +R26 +R33 +R59 +L31 +L18 +R49 +R81 +L81 +R357 +L57 +L51 +R51 +L17 +R67 +L108 +R58 +R12 +R373 +R15 +R18 +L618 +R768 +L4 +L29 +R31 +L25 +R39 +L880 +R81 +L56 +R75 +R77 +L452 +R75 +R49 +R35 +R85 +L103 +L97 +R9 +L934 +R53 +R46 +L43 +L10 +L436 +R47 +R65 +R25 +L6 +R223 +R411 +L19 +R532 +L21 +L69 +L89 +L37 +R88 +R94 +R2 +L83 +L16 +L717 +R18 +L49 +L37 +L16 +L65 +R65 +L454 +R26 +R210 +L58 +R50 +R526 +R97 +R92 +R20 +L196 +L13 +L12 +L88 +L17 +R48 +R984 +L15 +L50 +L70 +R20 +R49 +L49 +R42 +R60 +L13 +R11 +R50 +L71 +R79 +R96 +R46 +R57 +R21 +L778 +L803 +R3 +L865 +R22 +L40 +R407 +L79 +L57 +R12 +R11 +L864 +L47 +R90 +R98 +R12 +L216 +L84 +L97 +L2 +L25 +L33 +R33 +L990 +L58 +L167 +L28 +R33 +R340 +R94 +L38 +R80 +L42 +L21 +R28 +R474 +R4 +L85 +R59 +L59 +L979 +R79 +R77 +R123 +R515 +L15 +R32 +L32 +L21 +L116 +R37 +L74 +R74 +L51 +R35 +L37 +L26 +R90 +L56 +R45 +L280 +R604 +L60 +R328 +L92 +R913 +R60 +L21 +L34 +L18 +R4 +R93 +L97 +R54 +L54 +R86 +R2 +R12 +L11 +R11 +L177 +L22 +R99 +R25 +L25 +R7 +L41 +L30 +L36 +R86 +R53 +L606 +R67 +R5 +L505 +R164 +L64 +R98 +L3 +L195 +L54 +L97 +R51 +L20 +R20 +R92 +L92 +R65 +R35 +L42 +R63 +R79 +R31 +R94 +R75 +R18 +R82 +R32 +L547 +R153 +R35 +L573 +R599 +R90 +R27 +L16 +L20 +R20 +L855 +R255 +R925 +R75 +R729 +L29 +L899 +L1 +L86 +R29 +L3 +L40 +L149 +R69 +L458 +R11 +L61 +L580 +R321 +R247 +L57 +L63 +L14 +R57 +R19 +L42 +L54 +R31 +R769 +R57 +L637 +L544 +L94 +R7 +L81 +L73 +R352 +L8 +L25 +L878 +R478 +R70 +R90 +L37 +L811 +L70 +L42 +L92 +R54 +R43 +R95 +L161 +L22 +L17 +L93 +L565 +L42 +L63 +L611 +L726 +L80 +L42 +L378 +L81 +L49 +L83 +L287 +R819 +L54 +L53 +R488 +R47 +R14 +L141 +L420 +L72 +R72 +L17 +L939 +L36 +R192 +R66 +L50 +R84 +R27 +L85 +L69 +L646 +L85 +R25 +R33 +R97 +L686 +R989 +R90 +R67 +L57 +L14 +L70 +L17 +L375 +R37 +L61 +R2 +L2 +R443 +R22 +R611 +R83 +L59 +L451 +L304 +R48 +L24 +L69 +R8 +R92 +R12 +L12 +L76 +L424 +L351 +L51 +L98 +L4 +L42 +R77 +L87 +R33 +R17 +R6 +R21 +L342 +R321 +R32 +L54 +R206 +R67 +R27 +L30 +L71 +R34 +L88 +R77 +R68 +R6 +L30 +L93 +R62 +L141 +R26 +R3 +L942 +L20 +R16 +R19 +R26 +L71 +R957 +L43 +R42 +L10 +R21 +R4 +L27 +L85 +L3 +L64 +L21 +L87 +R3 +L816 +R47 +L46 +R99 +L75 +L25 +L71 +R83 +L67 +L25 +R41 +L61 +R28 +R192 +L20 +L11 +L989 +R64 +R25 +L62 +L227 +R92 +L692 +L68 +L14 +R82 +R81 +L77 +R62 +R88 +R46 +L91 +R59 +R57 +L88 +L687 +R38 +L88 +R90 +L190 +R24 +L82 +L73 +R540 +R136 +L888 +R443 +R40 +R260 +L1 +L99 +L6 +R88 +L82 +L37 +L63 +L790 +L28 +L40 +R69 +L11 +L83 +L95 +L61 +R29 +L54 +L236 +R25 +L90 +R399 +L49 +L67 +L18 +R47 +L46 +L866 +L2 +R41 +R62 +R64 +L67 +L5 +L10 +R199 +L61 +L556 +R26 +R31 +R25 +R9 +R9 +L50 +L76 +R26 +L303 +R3 +R2 +L35 +L1 +R98 +R87 +L51 +R28 +L28 +L23 +L2 +L175 +L12 +L21 +L22 +R555 +R952 +L52 +R345 +R63 +R639 +R679 +R54 +L13 +L67 +R12 +L12 +R23 +L64 +L33 +R874 +L932 +R32 +L99 +L34 +R92 +R41 +L37 +R22 +L8 +L73 +L427 +R23 +R15 +R17 +R61 +L44 +R67 +L116 +L66 +L32 +R80 +L11 +L44 +L27 +R60 +R40 +L66 +R66 +L60 +L40 +R372 +L772 +R52 +R48 +R90 +L77 +R94 +L7 +R81 +L381 +L60 +R854 +R95 +L989 +R40 +R32 +L41 +L68 +L63 +R919 +R781 +R57 +L32 +L25 +R18 +L861 +L815 +R698 +L16 +L875 +L49 +L58 +R68 +R86 +R16 +R788 +L15 +L85 +L69 +R23 +L50 +R96 +R76 +L88 +R12 +L71 +L31 +L14 +R20 +L4 +L51 +L549 +L74 +L35 +L91 +L13 +R13 +L891 +L85 +L76 +R37 +L660 +R75 +L9 +L322 +L69 +R817 +R83 +L75 +L25 +R85 +R57 +L669 +R1 +L74 +L57 +L48 +R76 +L71 +R394 +R98 +R44 +R93 +R91 +L90 +R35 +L193 +R57 +R31 +L60 +R240 +R60 +R62 +L44 +L18 +R6 +L506 +R46 +R54 +R74 +L74 +R80 +L294 +R277 +R49 +R8 +R88 +R92 +R78 +R611 +L611 +R22 +L928 +R89 +R839 +L27 +R66 +L39 +R11 +L11 +R56 +R97 +R922 +L574 +L1 +L89 +R15 +L73 +R947 +L61 +L85 +R46 +L72 +L28 +L72 +R29 +L23 +R66 +L33 +L67 +L2 +L798 +L90 +R31 +L46 +L61 +L934 +L85 +R85 +L17 +L83 +L14 +L4 +R518 +R43 +L5 +L78 +R40 +L9 +R9 +L814 +L444 +L90 +R5 +L57 +R35 +L435 +R780 +L80 +L98 +L2 +R57 +R269 +R23 +R51 +L17 +L385 +L991 +L5 +L26 +L27 +L28 +R19 +R93 +L33 +R18 +L34 +L9 +L66 +L48 +L92 +R17 +R214 +L368 +L38 +R98 +R18 +L10 +R88 +L288 +L41 +L267 +R8 +R38 +L745 +R7 +L23 +L1 +L44 +L91 +L89 +R87 +L639 +R12 +R86 +L98 +R182 +L93 +R397 +L86 +R50 +R50 +L84 +R84 +R29 +R44 +R98 +L96 +L53 +L90 +R837 +R31 +R355 +R45 +L22 +L18 +R68 +R3 +R54 +L20 +R12 +L43 +L47 +R70 +L86 +R74 +L45 +R867 +L85 +L82 +R46 +R48 +R898 +L98 +R30 +R2 +R74 +L47 +R1 +L48 +R36 +L26 +L97 +R81 +L91 +R413 +L22 +R78 +L78 +R19 +R263 +L382 +L45 +L18 +R476 +L44 +L112 +R22 +L79 +R34 +L9 +L25 +L22 +R22 +R8 +R39 +L47 +R46 +L229 +L996 +R79 +L12 +L47 +L15 +R74 +L70 +L22 +R92 +R505 +L33 +R28 +R15 +R80 +L47 +L27 +L87 +L34 +L37 +L97 +L24 +L42 +R10 +R90 +R98 +L44 +R46 +L546 +R88 +R46 +R558 +L46 +R62 +R738 +L93 +R16 +L340 +R17 +L32 +L168 +R12 +L175 +L37 +L19 +L81 +L51 +L8 +L903 +L38 +L62 +L38 +R77 +L185 +R33 +L94 +L10 +R91 +L12 +R72 +L63 +R17 +L26 +R55 +R58 +R87 +R660 +L77 +L77 +L71 +L68 +L80 +R13 +L81 +R36 +R1 +L56 +R71 +R63 +R66 +L77 +R51 +L186 +R45 +R14 +L47 +R92 +R707 +L21 +L886 +L92 +L50 +L50 +R870 +R74 +L75 +L59 +L40 +L35 +R65 +R24 +R15 +L78 +R73 +R66 +R267 +L48 +L19 +R2 +R83 +R99 +R355 +L39 +R72 +R37 +R91 +R22 +L22 +R83 +L83 +L62 +L25 +R278 +R77 +R809 +L48 +L29 +R89 +L18 +R29 +R50 +L24 +L24 +R83 +R15 +R10 +L741 +R68 +R86 +R6 +L29 +L9 +L8 +L419 +R36 +L187 +L13 +R989 +R56 +L466 +L296 +R158 +L41 +L81 +L65 +R86 +R22 +R938 +L81 +R652 +L49 +L22 +L75 +R793 +R82 +R98 +L373 +R10 +L116 +L11 +L93 +R85 +L759 +R22 +R37 +L13 +L20 +L45 +L12 +R77 +R54 +R583 +R50 +L370 +R96 +R672 +R48 +R3 +R77 +L45 +L42 +L13 +L55 +L81 +R87 +L51 +L4 +L96 +L55 +L45 +R151 +R374 +L16 +L52 +L957 +R94 +L194 +L94 +R34 +L18 +L97 +R475 +R337 +R74 +R35 +L346 +R74 +L74 +R169 +R36 +R242 +R61 +R78 +L161 +R798 +R37 +R59 +R567 +R14 +R38 +R73 +L52 +R39 +L29 +L35 +R6 +L31 +R87 +R4 +R656 +L43 +R65 +L78 +R8 +R14 +R14 +L29 +L7 +L15 +L36 +L49 +R189 +R53 +L55 +L759 +L70 +R860 +R7 +R36 +L570 +L91 +R57 +L787 +R30 +R77 +L93 +L84 +L62 +R54 +L91 +L1 +R69 +L37 +L21 +R91 +R33 +R72 +R53 +R40 +R58 +L58 +R72 +L62 +R87 +R3 +L17 +R229 +R865 +L77 +L61 +L67 +R28 +R16 +L88 +R1 +R71 +L507 +L193 +L446 +R46 +R38 +R62 +R53 +L653 +R94 +L94 +R57 +R402 +L32 +L1 +R25 +R49 +R51 +R57 +L8 +R43 +R857 +L88 +R88 +R83 +R17 +R322 +L46 +L81 +L795 +L32 +R732 +R76 +L276 +L181 +L19 +R33 +R16 +L61 +R555 +R457 +L28 +L953 +L79 +L69 +L71 +L25 +L715 +R53 +L25 +R12 +L72 +R523 +L451 +L37 +L42 +R45 +L12 +R46 +R99 +R23 +L59 +R37 +R97 +R91 +R410 +R2 +R46 +R220 +R998 +R36 +R63 +R37 +L522 +R222 +L714 +L703 +L1 +R18 +R534 +L60 +R26 +R39 +R391 +L630 +L3 +L97 +L132 +R32 +L499 +R69 +L70 +L30 +L83 +L72 +R87 +L2 +R40 +R60 +R50 +R44 +L56 +R62 +L45 +L77 +L23 +L83 +L94 +R22 +L67 +R65 +L98 +L57 +R25 +R32 +R67 +R45 +R787 +R1 +L31 +L69 +L42 +L58 +R831 +R568 +R51 +L50 +L75 +L25 +L833 +R426 +R72 +R35 +L299 +L65 +R263 +R1 +R89 +R11 +L80 +R43 +L63 +L38 +R38 +R6 +R80 +L919 +L40 +L27 +L66 +R45 +L79 +L80 +L776 +R56 +L87 +L8 +L15 +R13 +R997 +L89 +L6 +L28 +R27 +L99 +L5 +R79 +R96 +L75 +L72 +L54 +L74 +R74 +L19 +R1 +L56 +R41 +L20 +L6 +R80 +R5 +L9 +L813 +R62 +R760 +R51 +R61 +R23 +R365 +L62 +R62 +R39 +R67 +L66 +R468 +R9 +R538 +L55 +R20 +R280 +L71 +L629 +L78 +R728 +R39 +L50 +L139 +R119 +L23 +R3 +L62 +L37 +R96 +L338 +R302 +L87 +L17 +R644 +R82 +R64 +L46 +L16 +L23 +R1 +R38 +R28 +L18 +L1 +L83 +L4 +L82 +L7 +L533 +R93 +R41 +L66 +R32 +R259 +L8 +L22 +R36 +R35 +R85 +R82 +L745 +R78 +R68 +R92 +L96 +L64 +R5 +L85 +L20 +L65 +L35 +R22 +L21 +L8 +R307 +L29 +R29 +R94 +R65 +L910 +R74 +R77 +L561 +L72 +R71 +R96 +R48 +R37 +R837 +R860 +L93 +L349 +R26 +L99 +L347 +R146 +L58 +R16 +L898 +L362 +R777 +L75 +L33 +R19 +L79 +R473 +L61 +L32 +L26 +R34 +R5 +L55 +R82 +L85 +L642 +L44 +R844 +R33 +R994 +R51 +L78 +R39 +L8 +R69 +R2 +R98 +R60 +L60 +R89 +R11 +L701 +R77 +R72 +L952 +L96 +L813 +R91 +R22 +R82 +L650 +L59 +R21 +L57 +R63 +R82 +L60 +L60 +L59 +R33 +L69 +L47 +R12 +R468 +L69 +R69 +R96 +R25 +R46 +L10 +L57 +L56 +R56 +R940 +R60 +L62 +L38 +L54 +L341 +L83 +L22 +L56 +R39 +L72 +L7 +L302 +R98 +L37 +L96 +L9 +R453 +L11 +R42 +L16 +R4 +R670 +L76 +R1 +L94 +L231 +R24 +L50 +L74 +R79 +L679 +L880 +L820 +L468 +L18 +R55 +R579 +R49 +L97 +L45 +R874 +R71 +L76 +L951 +R27 +R54 +L54 +L9 +L33 +R542 +R53 +R59 +L76 +L12 +L24 +R34 +L34 +L15 +R56 +L56 +L16 +R69 +L64 +R53 +L27 +R93 +L85 +L10 +L242 +R44 +L38 +L45 +L26 +L91 +L196 +L204 +L9 +R9 +L812 +L954 +R66 +R83 +R42 +L608 +R83 +L70 +R375 +L38 +L19 +R52 +L44 +L18 +L41 +R33 +L10 +L820 +L27 +R601 +L24 +R50 +L90 +R90 +L5 +R23 +L73 +L86 +R601 +R70 +L33 +R303 +R22 +L22 +L384 +L65 +L51 +R45 +L82 +L922 +R3 +L75 +L5 +L864 +L4 +R67 +L63 +L70 +L134 +R704 +R21 +R79 +R943 +L43 +R89 +L38 +R23 +L74 +L18 +L782 +R41 +R59 +L47 +L345 +R18 +R74 +L832 +R811 +R485 +L622 +L56 +L522 +R92 +L56 +R96 +R389 +L49 +L70 +L43 +R41 +L638 +L26 +L85 +R735 +R88 +R84 +L82 +L78 +R38 +R72 +L20 +L30 +R66 +L596 +R76 +L68 +L317 +R17 +R313 +R72 +R99 +R16 +R18 +R38 +R244 +L116 +L466 +L3 +R696 +R89 +R830 +R63 +R64 +L57 +R15 +R69 +R99 +R48 +R949 +R26 +R951 +R33 +R10 +L40 +L60 +R59 +R79 +R32 +R29 +L820 +L56 +R72 +L41 +R66 +L20 +L110 +R10 +L844 +R44 +R171 +R94 +L65 +R8 +R611 +R48 +R33 +L211 +L61 +L728 +L91 +R21 +R70 +L199 +R20 +R18 +L51 +L33 +R10 +R47 +R90 +L95 +L186 +R36 +R43 +R684 +L84 +R221 +L16 +R776 +L581 +L83 +L17 +R902 +R98 +L277 +L223 +L47 +R43 +L75 +L21 +L612 +R56 +L88 +L24 +L26 +R45 +R49 +R82 +L82 +L1 +R1 +L741 +R719 +R52 +R70 +R59 +R60 +R64 +L74 +R30 +L902 +R63 +R38 +L93 +R888 +R97 +R741 +L171 +R88 +R88 +R46 +R86 +R92 +L580 +R80 +L493 +L7 +L787 +R87 +L52 +R58 +R97 +R51 +R10 +R36 +R96 +L96 +L88 +L610 +R898 +R95 +L268 +L33 +L94 +R10 +L394 +R40 +R80 +R364 +L327 +R58 +R16 +R53 +R11 +R42 +R54 +L6 +R68 +R88 +R43 +R93 +R15 +R92 +R4 +L4 +R28 +L70 +R42 +R73 +L73 +L46 +L16 +L38 +L68 +L32 +R635 +L789 +L43 +L32 +R34 +R95 +R86 +L21 +L265 +L931 +L26 +R22 +L68 +R3 +L90 +L10 +R85 +L11 +R934 +R72 +L32 +L8 +L40 +R46 +L36 +L58 +L52 +L12 +L55 +L22 +L11 +L795 +L244 +R585 +L46 +L1 +R1 +L376 +R25 +R42 +R981 +R39 +R39 +R768 +L254 +L51 +R87 +R47 +L491 +R44 +L888 +L735 +R730 +R56 +R37 +R262 +L894 +L868 +L53 +L75 +L42 +R65 +L795 +R412 +L20 +R25 +L98 +R434 +L78 +R62 +L26 +L711 +R61 +L98 +R37 +R64 +R36 +L768 +L57 +R25 +R14 +R57 +L60 +L33 +L346 +L32 +L1 +R1 +L80 +R36 +L17 +R78 +L17 +L57 +L49 +R79 +L430 +L543 +L21 +L79 +R37 +L55 +R3 +L85 +L31 +L83 +R10 +R4 +R79 +L79 +L39 +R68 +L29 +R221 +L21 +R395 +L95 +L57 +L504 +L843 +R704 +R960 +L83 +L99 +R17 +R48 +L61 +L93 +R11 +L59 +R59 +R73 +L73 +R45 +R39 +R16 +L982 +R82 +R62 +L62 +R105 +R775 +L38 +L42 +R43 +L43 +L74 +L45 +R61 +L33 +L33 +R71 +R90 +R266 +R88 +L74 +L17 +L924 +L51 +L89 +L9 +R93 +R7 +L89 +L18 +R80 +L967 +L96 +R63 +R491 +L33 +R54 +L12 +L53 +R2 +R54 +L3 +R89 +R7 +L96 +R94 +R38 +L32 +R95 +L542 +R99 +L85 +R10 +L177 +L92 +R80 +R12 +R32 +L54 +R140 +R77 +R5 +L18 +L982 +R13 +R52 +L65 +L92 +L8 +L8 +L96 +L22 +L516 +R42 +R81 +L81 +R51 +L43 +L808 +R2 +L402 +R66 +R12 +R22 +L54 +L37 +L11 +L32 +R34 +R5 +R395 +R11 +L11 +L28 +L74 +L98 +R615 +L15 +R86 +L16 +R51 +L87 +R90 +R76 +L22 +R22 +R46 +L21 +L25 +L51 +L49 +R22 +R78 +R550 +L75 +L75 +R811 +R89 +R80 +R49 +L77 +L52 +R61 +R779 +R77 +L65 +R23 +R72 +L47 +L45 +L66 +R13 +L2 +L70 +L766 +L45 +L15 +L98 +L60 +L46 +R93 +L39 +L91 +L87 +L6 +L70 +R97 +R70 +R304 +L5 +R6 +L86 +R39 +L80 +L45 +R470 +R21 +L135 +L56 +L63 +R93 +R15 +L911 +R66 +L22 +L15 +R44 +R38 +L45 +R23 +R59 +R18 +R30 +L53 +R42 +R81 +L258 +R58 +R412 +R36 +R99 +L47 +R26 +R33 +L370 +R748 +R39 +R26 +L716 +R40 +R433 +L34 +R75 +R18 +L18 +L39 +R46 +L30 +L50 +L29 +R46 +L70 +R59 +R870 +L97 +L27 +L32 +L93 +L54 +L81 +L19 +R89 +L42 +R153 +L37 +R37 +R94 +R6 +L192 +L89 +R93 +L24 +L6 +R77 +L87 +R28 +L52 +L35 +L877 +R18 +R8 +R27 +L30 +R3 +R8 +R53 +L23 +R470 +R930 +L13 +L87 +R42 +R58 +L96 +L604 +L29 +L68 +R90 +L51 +R601 +L54 +R911 +L12 +L28 +L28 +L44 +L442 +R88 +R61 +R1 +R58 +R46 +L67 +R96 +R84 +L713 +L37 +R88 +R3 +R1 +R87 +L37 +L5 +R78 +L16 +R39 +R775 +L76 +L49 +R49 +L30 +R30 +R82 +R618 +R21 +L546 +L88 +R18 +L805 +L84 +L62 +L54 +L134 +L573 +R53 +L494 +L52 +R95 +R338 +L23 +L10 +L72 +L469 +R16 +L75 +R64 +L65 +L62 +R63 +R66 +R3 +R35 +R96 +R33 +L37 +R4 +L69 +L31 +L80 +R62 +L82 +L66 +L21 +R35 +L84 +L73 +L28 +R37 +L91 +L9 +R80 +L13 +L16 +L96 +L69 +L71 +L77 +R5 +L43 +R73 +L73 +R40 +L56 +L689 +L474 +R79 +L33 +R978 +R57 +L18 +R39 +R77 +L38 +L86 +L376 +R38 +R62 +L28 +L565 +L62 +R95 +R60 +R56 +R28 +L94 +L95 +R5 +R46 +L94 +L752 +R77 +L8 +L69 +L60 +L175 +R42 +L670 +R866 +R864 +R19 +L23 +R70 +L33 +L50 +R50 +L2 +R802 +R78 +L84 +L26 +L20 +R52 +L57 +L52 +R36 +R68 +L682 +R14 +L83 +L44 +R25 +R44 +L64 +L20 +R92 +R23 +L5 +R14 +R201 +R86 +R20 +R34 +R950 +R886 +L89 +R71 +L90 +L21 +R81 +L4 +L34 +R392 +L22 +L70 +R29 +R271 +L4 +R4 +R87 +L53 +R525 +L78 +R75 +R944 +L75 +R46 +R29 +L18 +R18 +L54 +L91 +R45 +R7 +L41 +R14 +L80 +R8 +R92 +L76 +R76 +L39 +R27 +R85 +R99 +L98 +L60 +L14 +L35 +L24 +R71 +L60 +R648 +L88 +R6 +L12 +L606 +L49 +L751 +L94 +R337 +R53 +R4 +R58 +R42 +R136 +L36 +R72 +R57 +R71 +R97 +R86 +L83 +L15 +L466 +R81 +L3 +L81 +R84 +R15 +R57 +L305 +L67 +L155 +R762 +R59 +R633 +L62 +L37 +R97 +R28 +L25 +L32 +L37 +R380 +R89 +R49 +L49 +R11 +L82 +L3 +R74 +R8 +R892 +R57 +L57 +R14 +R286 +R421 +L89 +R81 +R597 +R90 +L2 +R89 +L431 +L98 +R42 +L50 +L92 +R45 +R58 +L438 +L94 +R181 +R91 +L67 +L18 +L54 +R78 +L7 +R67 +R96 +L11 +L85 +R83 +R78 +R12 +R58 +L16 +L77 +L26 +L712 +L75 +L83 +R70 +L52 +L197 +R18 +L81 +L18 +L82 +L3 +R3 +R58 +L91 +R934 +L1 +L6 +L9 +R15 +L447 +R947 +L42 +R42 +L797 +L240 +R68 +R69 +R51 +L51 +R85 +L785 +L381 +R39 +R42 +L47 +R29 +R18 +L90 +L970 +R108 +L48 +R152 +L66 +R15 +R38 +L31 +L8 +R42 +L42 +L18 +L355 +R73 +R15 +R67 +R49 +R61 +L71 +R201 +R36 +R6 +R807 +L57 +L2 +R59 +L67 +L29 +L75 +L103 +R903 +R6 +R94 +R770 +R13 +R17 +L46 +L61 +L62 +L10 +L679 +L69 +R91 +R36 +L31 +L69 +L85 +R85 +L30 +L70 +R75 +L75 +R43 +R45 +L33 +R16 +R37 +L8 +L893 +R93 +L23 +R93 +R82 +L452 +R941 +L41 +L57 +R57 +R44 +R52 +R304 +R45 +L745 +L9 +L91 +R901 +R104 +L205 +R24 +L498 +L61 +L56 +L9 +R96 +L896 +L648 +R87 +R61 +L84 +R8 +L41 +R53 +R64 +L31 +L69 +L27 +L73 +R310 +R517 +R14 +R131 +R328 +R44 +L844 +L61 +L35 +L96 +L8 +R82 +R9 +R98 +L841 +R58 +R11 +R83 +R87 +L58 +L17 +R91 +R97 +L227 +L55 +L18 +L11 +L89 +R79 +L21 +L858 +L84 +R869 +R62 +R53 +R73 +L73 +R95 +R92 +L87 +R38 +R22 +L62 +L44 +L445 +R42 +R65 +R84 +L6 +R4 +R10 +L52 +R44 +L66 +L22 +R88 +R127 +R72 +R86 +R15 +R1 +L1 +R22 +L722 +L68 +R317 +R75 +R2 +R95 +R79 +L81 +R81 +R70 +L97 +L67 +L87 +R75 +L932 +R2 +L64 +L5 +L56 +L84 +L37 +L80 +L38 +L931 +L96 +L11 +R38 +L965 +L529 +L22 +R299 +L80 +R49 +L52 +L689 +R696 +L97 +L8 +L802 +L50 +L31 +L76 +R82 +L17 +L8 +L46 +L54 +L159 +R59 +L71 +R271 +L52 +L19 +R50 +R52 +R69 +R87 +L87 +L62 +R62 +R47 +R53 +R76 +R655 +L976 +R45 +R83 +R75 +R981 +L39 +R10 +R90 +R84 +L30 +R48 +R98 +R65 +L212 +R348 +R99 +R637 +L24 +L13 +L29 +R29 +L557 +L43 +L3 +L10 +R13 +R88 +L48 +L42 +L19 +L79 +L7 +R591 +R47 +L724 +L57 +L53 +L97 +R35 +L87 +R52 +L9 +L57 +L33 +L1 +L86 +R26 +L440 +L58 +L42 +R14 +L656 +L58 +R2 +R198 +R23 +R77 +L55 +L45 +L37 +L316 +L82 +R45 +R2 +R53 +R935 +L2 +R50 +R48 +L86 +L18 +L792 +L32 +L89 +R86 +R35 +L65 +R65 +R38 +L38 +R33 +L8 +R825 +L87 +L63 +R367 +R64 +L93 +R15 +R623 +R26 +R71 +L373 +L40 +R54 +R43 +L57 +R30 +L99 +R469 +R92 +L551 +L92 +R51 +L49 +R491 +L42 +L936 +L464 +R930 +R19 +R557 +R40 +R521 +L67 +R4 +L88 +L944 +L172 +R42 +R82 +L99 +R62 +R13 +R54 +L64 +R52 +L42 +R29 +L67 +L62 +L57 +L143 +L289 +R89 +L33 +L1 +L87 +R47 +L20 +R18 +R322 +L27 +R135 +L43 +L58 +R27 +R20 +L89 +L58 +R47 +L88 +L512 +L73 +L79 +R352 +L10 +L423 +R33 +L6 +L94 +R86 +L86 +R5 +L705 +L28 +L611 +L55 +R34 +L884 +L168 +L88 +R33 +L33 +L10 +L90 +R61 +R528 +R11 +L24 +L76 +L11 +R261 +R50 +R1 +L30 +R129 +R40 +R69 +L19 +R80 +L43 +R73 +R42 +R27 +R65 +R99 +L33 +R58 +R92 +L39 +R91 +L71 +R69 +R95 +L395 +L812 +L975 +L79 +R28 +L149 +L98 +L15 +R32 +R68 +R121 +L48 +R27 +R362 +R21 +R45 +L92 +R10 +L46 +L73 +R73 +L99 +R99 +L810 +R93 +L52 +R65 +R63 +R41 +R62 +R93 +R45 +R15 +R85 +R55 +L55 +L98 +R98 +L13 +L93 +L94 +R38 +L38 +L59 +R759 +L79 +R892 +R65 +L81 +R3 +L85 +R69 +R92 +L76 +L448 +L52 +L15 +R53 +R62 +R78 +R31 +R71 +L21 +L59 +L67 +L33 +R3 +R90 +L93 +R44 +L44 +R312 +R625 +R63 +L532 +L718 +R50 +R17 +L69 +R12 +L33 +R73 +R92 +L92 +L733 +L95 +R328 +L97 +L234 +L96 +L773 +L38 +L62 +R57 +L64 +L59 +L897 +L637 +R554 +R3 +L99 +L87 +R629 +R21 +R67 +R6 +R6 +L7 +L93 +L337 +R60 +R77 +R64 +L39 +L3 +R78 +L664 +R64 +L56 +L58 +L11 +R95 +R21 +L82 +L618 +L95 +R1 +R666 +L22 +L41 +R18 +L45 +R27 +L21 +L59 +R92 +L74 +R9 +L47 +R1 +L545 +R290 +L205 +L21 +L68 +L53 +L21 +R22 +L789 +R39 +R73 +L23 +R21 +R24 +R74 +R81 +L89 +L217 +R9 +L287 +L55 +L20 +L41 +R490 +R405 +R10 +R62 +R33 +R33 +R17 +L207 +L61 +L82 +L42 +L25 +L33 +R93 +R3 +R91 +L5 +L67 +L15 +R96 +L69 +L13 +L554 +L60 +R12 +L65 +L649 +L94 +R596 +R73 +L74 +L99 +R560 +R40 +R62 +L62 +R13 +R87 +R16 +R84 +L134 +L36 +R70 +R64 +R27 +L91 +R215 +L43 +R12 +R3 +R13 +L44 +L856 +R78 +R22 +R157 +L57 +L36 +R36 +L25 +L89 +R215 +R99 +L3 +L97 +R55 +L35 +L9 +L23 +R49 +R66 +R10 +L63 +L50 +R49 +R151 +L42 +L58 +R78 +L93 +R19 +R54 +R54 +R72 +L13 +L89 +R16 +R56 +R89 +R64 +L28 +L6 +L6 +R84 +R343 +L94 +R71 +L10 +R39 +L719 +R19 +L67 +L82 +L62 +L89 +L79 +R77 +L51 +R933 +R72 +R19 +L34 +R63 +L80 +R80 +L398 +R98 +L80 +L73 +L76 +R17 +L67 +L32 +L85 +L88 +L13 +R48 +R816 +L19 +R52 +L85 +L19 +L406 +L12 +R45 +L914 +R35 +R56 +R35 +L72 +R917 +L4 +L897 +R626 +R95 +R48 +R102 +L50 +R44 +L997 +L647 +R72 +L72 +L81 +R81 +L32 +R52 +R687 +R363 +R80 +R48 +R65 +R50 +L95 +R82 +R1 +R99 +L11 +L40 +R51 +L94 +L6 +R206 +R33 +L78 +L73 +L566 +L91 +R53 +R42 +R686 +L12 +R44 +R19 +R37 +L79 +R93 +R86 +L711 +R11 +L731 +R59 +L21 +L807 +L371 +L229 +L72 +R72 +L31 +L20 +R78 +R35 +L97 +L85 +R42 +R37 +L59 +R77 +R23 +L20 +L280 +R48 +L75 +R603 +R29 +L298 +R80 +L67 +R30 +R12 +L14 +R581 +R71 +R66 +L32 +L453 +R27 +L8 +R8 +L39 +R31 +L787 +L13 +R50 +R50 +L84 +R60 +R49 +L25 +L99 +R993 +L542 +L52 +L29 +L71 +L46 +L43 +R7 +L32 +L91 +L59 +L1 +L11 +R3 +L47 +R120 +L41 +R841 +R1 +L457 +R48 +R608 +R10 +L10 +R34 +L5 +R71 +R563 +L95 +L51 +R83 +L83 +L17 +L28 +R50 +R15 +L37 +L267 +L63 +L689 +R72 +L4 +L73 +L176 +L93 +L62 +L45 +R32 +R236 +R732 +R2 +R62 +R36 +L913 +L49 +R62 +L324 +L76 +R61 +R839 +R69 +L853 +R52 +R26 +L94 +R32 +L70 +R23 +L98 +R13 +L30 +R21 +R419 +L210 +L98 +R35 +L237 +L54 +L643 +L94 +R392 +R4 +L5 +L39 +L41 +L20 +L48 +L46 +L6 +R944 +R5 +R34 +R17 +R33 +R91 +R31 +R325 +L80 +R14 +R54 +R936 +R96 +R442 +L797 +L22 +L723 +R30 +R70 +L760 +R51 +R9 +R434 +L376 +R31 +L76 +L22 +R9 +R32 +L144 +L30 +R689 +L4 +L94 +R66 +L658 +L69 +R86 +R66 +R78 +R422 +R23 +R37 +L43 +L2 +L52 +L19 +L85 +R88 +R813 +R28 +R69 +L97 +L43 +L47 +L440 +R60 +L30 +L17 +L22 +R72 +R67 +L21 +L610 +R78 +L47 +L64 +R164 +R49 +R51 +R1 +L401 +R67 +R36 +R32 +L915 +L870 +R49 +R1 +L70 +R470 +R305 +L72 +L70 +L63 +R26 +R94 +L791 +L9 +R12 +L278 +L854 +L52 +L10 +L68 +L1 +L69 +R711 +R26 +L85 +L5 +L147 +L52 +R72 +L9 +L11 +R42 +R68 +L10 +L49 +L21 +R74 +R67 +R65 +R90 +R74 +R305 +R58 +L43 +R68 +R39 +L24 +L3 +R30 +L30 +L6 +L894 +L98 +R98 +R19 +L99 +L167 +L53 +L87 +L99 +R312 +R20 +L58 +L88 +R95 +R5 +L60 +L8 +R87 +L82 +L59 +R22 +R8 +L8 +R49 +L35 +R86 +R75 +R43 +R82 +L718 +R11 +L99 +L61 +R67 +L10 +L190 +R47 +L92 +L55 +R18 +R16 +L64 +R44 +R93 +L7 +L35 +R635 +R92 +L35 +L395 +R738 +R97 +L97 +L35 +R50 +L815 +L65 +R23 +R59 +L817 +L8 +L83 +L29 +R504 +L84 +L85 +R81 +R324 +L70 +R650 +L123 +R23 +R51 +L82 +L69 +L814 +R630 +L79 +L14 +L50 +R35 +R992 +L796 +L63 +L41 +L75 +L72 +R447 +R431 +L20 +R29 +L40 +L55 +R885 +L47 +R17 +R11 +R89 +R70 +L70 +R27 +L387 +L40 +R59 +R65 +L72 +L41 +L88 +L670 +L41 +R88 +L123 +L861 +L164 +R10 +R583 +L470 +L64 +L72 +R84 +R14 +R63 +R34 +R70 +L4 +L718 +L63 +R181 +R70 +R3 +L24 +L39 +L210 +L97 +L76 +R21 +R68 +L16 +L75 +R975 +L62 +L93 +L45 +L24 +R6 +L91 +L891 +L31 +L213 +L42 +R28 +R31 +L21 +R80 +L32 +R51 +R49 +R21 +L21 +L51 +R81 +R80 +R79 +R11 +L74 +R909 +R65 +R53 +R46 +R1 +R59 +L163 +L811 +R423 +R26 +R25 +L82 +R723 +R38 +R683 +R779 +L20 +R57 +L13 +R176 +L57 +L74 +R164 +L33 +R48 +L19 +R13 +L11 +L931 +R835 +L49 +L786 +L26 +L10 +L92 +L80 +L69 +R37 +R74 +L34 +L77 +L57 +R527 +L593 +R359 +L78 +L69 +L2 +R90 +L7 +L93 +R10 +R550 +R89 +R73 +R178 +R26 +R74 +R15 +L3 +L523 +L28 +L619 +R57 +R37 +L236 +L74 +L26 +R87 +R55 +R20 +R38 +L98 +L97 +R88 +R552 +L7 +R86 +L84 +R148 +R21 +L92 +R97 +L14 +R8 +L15 +R5 +R66 +R427 +L79 +L45 +R33 +R29 +L61 +L11 +L91 +L780 +L86 +L72 +L28 +R76 +R93 +L34 +R865 +L47 +L53 +R55 +L589 +R34 +R30 +R47 +R43 +R80 +R70 +R30 +R257 +R637 +R14 +R4 +L502 +L810 +L70 +R84 +L4 +R48 +R6 +L56 +R20 +L31 +L46 +R149 +L98 +L102 +R63 +L78 +R46 +L73 +L16 +L42 +R37 +L337 +R92 +R68 +L29 +R92 +L289 +L34 +R48 +L9 +L239 +L23 +R385 +L82 +R20 +R24 +R76 +L413 +R13 +R38 +L93 +R55 +L99 +L1 +R75 +R91 +L542 +L24 +L22 +L78 +L68 +R277 +L91 +R38 +R26 +L82 +L55 +L33 +L770 +L77 +L65 +L55 +R83 +L60 +R368 +L36 +L614 +R92 +L27 +L51 +R15 +L45 +R30 +L435 +L723 +R75 +R601 +L18 +R60 +R98 +R46 +L4 +L70 +R78 +R51 +R692 +L151 +R38 +R16 +R46 +R27 +R61 +L5 +R38 +R435 +R10 +L66 +R54 +R20 +R526 +R41 +R44 +L34 +R94 +L245 +R65 +L75 +R769 +L75 +R16 +L19 +L81 +R91 +R9 +R70 +L70 +R54 +L396 +R247 +L30 +L81 +R606 +R7 +L7 +R6 +R2 +L564 +L25 +R15 +L65 +L69 +L78 +L93 +R358 +R674 +L61 +L15 +L153 +L32 +L33 +L67 +L51 +L82 +R35 +R44 +R54 +L66 +L498 +R64 +L44 +L92 +R26 +R10 +L73 +R46 +L73 +L41 +L61 +L98 +R507 +L7 +L76 +R88 +L31 +R4 +R37 +L22 +L4 +R404 +R74 +R78 +R48 +R49 +L49 +L53 +L91 +R44 +R27 +R73 +L75 +R75 +R77 +R51 +R7 +R16 +L932 +R50 +L69 +R8 +R92 +L21 +L872 +R318 +L325 +L98 +L70 +R7 +R36 +R53 +R72 +L580 +L20 +L90 +R88 +R57 +L55 +R89 +R5 +L715 +R28 +L7 +R50 +L50 +R8 +R92 +L87 +L764 +R26 +L75 +R4 +L65 +R61 +L14 +L25 +L50 +R89 +R70 +R30 +L26 +L74 +L63 +R1 +R342 +L80 +L94 +R94 +L29 +L492 +L28 +R52 +L86 +L75 +L50 +R732 +L24 +L61 +R21 +L60 +L836 +R43 +L75 +R80 +R52 +R36 +R323 +L40 +R22 +L80 +R7 +R60 +R51 +L7 +R16 +L57 +R5 +R20 +R279 +R1 +L64 +L271 +R68 +L80 +R78 +L31 +L80 +R7 +L94 +L77 +R402 +L4 +L254 +R585 +R72 +L943 +R86 +R203 +R581 +L18 +R123 +L289 +L64 +L96 +R60 +L59 +R59 +R25 +R66 +L37 +L754 +R91 +R90 +R77 +R77 +L16 +L19 +R75 +R25 +L64 +R39 +R25 +L54 +L63 +L63 +L196 +L86 +R133 +R16 +R41 +R869 +R3 +L80 +R80 +R46 +R63 +L67 +R80 +L35 +R515 +R71 +L7 +R34 +L27 +L2 +R65 +R69 +L59 +R58 +L7 +R92 +L87 +R44 +L46 +R36 +R26 +L36 +L26 +R79 +L67 +L55 +R82 +R33 +L72 +L1 +L99 +R22 +L22 +L20 +L75 +R95 +L37 +R61 +R64 +L88 +L44 +R44 +R59 +R82 +R19 +R62 +L47 +R25 +L42 +R28 +L74 +L24 +R82 +L70 +L27 +R91 +L67 +L77 +R89 +R91 +R1 +R79 +L93 +L53 +R66 +L12 +R34 +L50 +L9 +L1 +L43 +L32 +L13 +R17 +R14 +R43 +R40 +L4 +R29 +L31 +L24 +L6 +L24 +R29 +L8 +L19 +R12 +L18 +R7 +R4 +L36 +R4 +R5 +L35 +R12 +L45 +R39 +R29 +L36 +R3 +L11 +R23 +L22 +L41 +R14 +R26 +L30 +L47 +R40 +L37 +R24 +R32 +R28 +L44 +L47 +R9 diff --git a/src/main.rs b/src/main.rs index 49f6081..7ce0244 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,6 +12,7 @@ redundant_semicolons )] #![feature( + int_roundings, type_alias_impl_trait, iter_from_coroutine, iterator_try_reduce, @@ -71,15 +72,29 @@ use crate::util::{MapF, UnionFind}; #[unsafe(no_mangle)] #[implicit_fn::implicit_fn] pub unsafe fn p1(x: &'static [u8; ISIZE]) -> impl Debug { - let mut set = HashSet::default(); - let mut n = 0; - for freq in util::ints::<i32>(x).collect::<Vec<_>>().into_iter().cycle() { - n += freq; - if !set.insert(n) { - return n; + let mut p = x.as_ptr(); + let end = p.add(ISIZE); + let mut n = 50; + let mut c = 0; + while p != end { + let dir = p.λ(); + let mut rest = 0; + while let x = p.λ() + && x != b'\n' + { + rest *= 10; + rest += (x - b'0') as i32; } + let f = 1 - 2 * (dir == b'L') as i32; + // n += rest * f; + // n = n.rem_euclid(100); + // c += (n == 0) as u64; + + let new = n + rest * f; + c += ((new * f).div_floor(100) - (n * f).div_floor(100)).abs(); + n = new; } - panic!() + c } const ISIZE: usize = include_bytes!("inp.txt").len(); diff --git a/src/util.rs b/src/util.rs index 55cbd44..e762270 100644 --- a/src/util.rs +++ b/src/util.rs @@ -22,8 +22,8 @@ use std::{ pub mod prelude { pub use super::{ AndF, BoolTools, DigiCount, Dir, FilterBy, FilterBy3, GreekTools, GridFind, - IntoCombinations, IntoLines, IterͶ, MapWith, NumTupleIterTools, ParseIter, PartitionByKey, - Position, Printable, Skip, Splib, SplitU8, Str, TakeLine, TupleIterTools2, + IntoCombinations, IntoLines, IterͶ, MapWith, NumTupleIterTools, PRead, ParseIter, + PartitionByKey, Position, Printable, Skip, Splib, SplitU8, Str, TakeLine, TupleIterTools2, TupleIterTools2R, TupleIterTools3, TupleUtils, TwoWayMapCollect, UnifiedTupleUtils, UnsoundUtilities, Widen, countmap, even, gcd, gt, infinite_successors, l, lcm, lt, nail, pa, python, r, rand, reading, reading::Ext, sort, spiral, twice, Ͷ, Α, Ι, Κ, Λ, Μ, @@ -2289,3 +2289,13 @@ impl<T: PartialEq> Position<T> for [T] { self.iter().position(|y| &x == y).ψ() } } +pub trait PRead<T> { + unsafe fn λ(&mut self) -> T; +} +impl<T> PRead<T> for *const T { + unsafe fn λ(&mut self) -> T { + let b = self.read(); + *self = self.add(1); + b + } +} |