From 66264c20b851bbbbd9de6bb964640948a317f398 Mon Sep 17 00:00:00 2001 From: Alexander Avery Date: Mon, 1 Dec 2025 21:47:51 -0500 Subject: [PATCH] starting with 2025, directory is a mess, will address later --- 2025/01.go | 129 ++ 2025/inputs.0101.txt | 0 2025/inputs/0101.txt | 4232 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 4361 insertions(+) create mode 100644 2025/01.go create mode 100644 2025/inputs.0101.txt create mode 100644 2025/inputs/0101.txt diff --git a/2025/01.go b/2025/01.go new file mode 100644 index 0000000..12d56ab --- /dev/null +++ b/2025/01.go @@ -0,0 +1,129 @@ +package main + +import ( + "bufio" + "fmt" + "io" + "os" + "strconv" + "strings" +) + +var _ = strings.NewReader + +func openf(path string) io.Reader { + f, err := os.Open(path) + if err != nil { + panic(err) + } + return f +} + +func main() { + i := openf("inputs/0101.txt") + _ = i + t := strings.NewReader(`L68 +L30 +R48 +L5 +R60 +L55 +L1 +L99 +R14 +L82 +`) + + //fmt.Println(puzzle_0101(i)) + fmt.Println(puzzle_0102(t)) + fmt.Println(puzzle_0102(i)) +} + +func puzzle_0101(r io.Reader) string { + + turn := func(position, distance int) int { + n := position + distance + for n > 99 { + n -= 100 + } + + for n < 0 { + n += 100 + } + return n + } + + p := 50 + var total int + s := bufio.NewScanner(r) + for s.Scan() { + if p == 0 { + total++ + } + + l := s.Text() + dir, dig := l[0], l[1:] + n, _ := strconv.Atoi(dig) + switch dir { + case 'R': + case 'L': + n = -n + } + + p = turn(p, n) + + } + return strconv.Itoa(total) +} + +func puzzle_0102(r io.Reader) string { + + turnR := func(position, distance int) (pos, clicks int) { + clicks = distance / 100 + r := distance % 100 + pos = position + r + if pos > 99 { + pos = pos-100 + if pos != 0 { + clicks++ +} + } + return pos, clicks + } + + turnL := func(position, distance int) (pos, clicks int) { + clicks = distance / 100 + r := distance % 100 + pos = position - r + if pos < 0 { + pos = 100+pos + if position != 0 { + clicks++ +} + } + + return pos, clicks + } + + p := 50 + var total, clicks int + s := bufio.NewScanner(r) + for s.Scan() { + l := s.Text() + dir, dig := l[0], l[1:] + n, _ := strconv.Atoi(dig) + switch dir { + case 'R': + p, clicks = turnR(p, n) + case 'L': + p, clicks = turnL(p, n) + } + + total += clicks + if p == 0 { total++ } + + //fmt.Printf("INST %s, POS %d, CLICKS %d, TOTAL %d\n", l, p, clicks, total) + + } + return strconv.Itoa(total) +} diff --git a/2025/inputs.0101.txt b/2025/inputs.0101.txt new file mode 100644 index 0000000..e69de29 diff --git a/2025/inputs/0101.txt b/2025/inputs/0101.txt new file mode 100644 index 0000000..07fc133 --- /dev/null +++ b/2025/inputs/0101.txt @@ -0,0 +1,4232 @@ +R29 +R41 +R8 +R50 +L27 +R40 +R31 +R30 +L20 +R20 +R20 +R50 +R22 +L6 +L21 +R15 +L30 +R7 +L4 +R32 +R22 +R20 +L33 +L9 +L8 +L47 +R14 +L27 +L20 +R5 +R30 +L47 +R6 +R21 +R30 +L10 +L20 +L6 +L45 +L18 +R47 +L49 +R7 +L16 +R21 +R44 +R45 +R29 +R26 +L68 +L72 +R91 +R63 +R29 +R22 +R86 +R31 +L31 +R4 +L42 +L7 +L77 +L39 +R61 +L22 +L8 +L17 +L38 +L97 +R82 +R2 +L51 +L51 +L25 +L75 +L20 +R20 +R61 +L14 +L11 +L70 +R94 +L58 +L95 +L48 +L94 +L76 +R95 +R69 +L76 +L50 +R1 +L28 +R62 +L62 +L22 +R22 +R28 +L93 +R83 +L18 +L652 +R7 +L888 +L763 +L24 +L89 +R443 +L34 +R16 +R11 +R68 +L95 +L80 +R80 +R74 +R26 +R72 +R61 +R106 +R19 +L58 +R74 +R63 +R759 +R304 +L62 +L438 +R8 +R91 +R692 +L59 +L41 +L49 +R84 +R99 +L1 +L24 +R35 +R37 +R28 +L34 +R70 +R64 +R50 +R450 +R1 +R499 +R39 +R61 +L96 +R333 +L37 +R106 +L76 +R14 +R84 +L30 +L98 +R77 +R16 +L93 +L36 +R36 +L63 +L13 +L532 +L992 +R98 +L98 +R33 +L96 +L37 +L82 +R20 +L57 +R302 +L483 +R49 +L426 +L71 +L38 +R71 +L78 +R93 +R56 +R590 +L98 +R42 +L90 +R20 +L10 +R51 +R28 +L62 +L39 +L26 +L615 +L47 +R67 +R89 +L256 +L65 +L5 +L46 +R21 +L370 +L864 +R29 +R61 +R11 +L72 +R688 +L88 +R27 +R73 +L88 +L32 +R61 +L92 +L49 +L328 +L77 +L53 +R458 +R35 +L814 +L21 +R467 +R95 +R38 +R323 +L574 +R51 +R28 +L58 +L91 +R24 +L989 +R86 +L35 +L61 +R96 +L22 +R89 +R55 +L59 +L61 +L2 +R96 +R37 +R67 +R29 +L1 +L950 +L14 +L92 +L1 +L32 +L39 +R80 +R5 +L2 +L438 +R38 +L83 +L444 +R99 +L55 +R758 +R50 +R89 +L986 +R89 +L84 +R853 +R31 +L53 +L33 +L51 +L66 +L29 +L768 +L185 +L292 +R77 +L932 +L85 +L46 +R63 +L973 +R73 +L86 +R6 +R352 +R28 +L35 +L65 +R97 +L97 +R60 +R55 +R532 +R53 +R407 +L8 +L999 +L58 +L42 +R5 +R571 +R430 +R60 +L91 +R25 +L52 +R252 +R66 +R34 +R13 +R19 +L432 +L896 +L3 +R99 +R71 +R85 +L56 +L13 +R483 +L970 +L97 +R30 +R678 +R61 +L72 +L308 +R19 +R95 +R710 +L16 +L949 +L51 +L18 +L94 +R82 +R30 +R91 +L4 +R91 +R55 +R267 +R82 +R915 +L97 +R61 +L683 +L16 +L19 +R57 +R521 +R79 +R96 +R94 +R10 +L98 +L56 +L85 +L49 +L121 +R9 +R37 +L9 +L78 +L350 +R52 +L66 +L960 +R57 +R17 +L514 +L20 +R45 +R50 +L668 +L86 +L86 +R95 +L54 +L62 +L46 +R47 +L1 +R67 +L67 +L46 +R46 +L98 +R13 +R67 +L82 +R905 +R49 +R14 +L68 +L454 +L46 +R82 +R18 +L94 +R6 +L994 +R82 +R61 +L64 +L897 +L135 +R35 +L33 +R36 +L3 +R85 +R58 +R97 +R72 +R83 +L446 +R51 +R96 +R30 +R18 +L44 +R52 +R48 +R37 +L23 +L32 +L50 +R10 +R858 +R30 +L65 +L308 +L80 +R3 +R81 +L61 +R11 +R89 +R13 +R87 +R26 +L65 +L23 +L38 +R47 +R16 +L44 +R3 +L66 +L70 +L28 +L94 +R37 +R99 +L37 +R883 +L23 +L80 +L82 +R72 +R740 +L96 +L77 +L728 +R11 +L17 +L25 +R16 +L83 +R98 +L57 +L15 +R556 +R1 +R57 +R86 +L59 +L78 +R753 +R81 +L75 +R46 +R1 +L54 +L51 +R82 +R454 +L97 +R91 +L649 +R55 +R85 +R899 +R13 +R6 +L903 +L894 +R97 +L3 +R82 +R76 +L58 +R87 +L53 +L34 +L945 +R875 +L83 +L47 +R51 +R47 +R2 +L334 +L716 +L50 +L30 +L970 +L95 +L5 +R219 +R39 +L58 +R81 +L81 +L49 +L51 +L46 +R550 +L4 +R49 +L29 +R80 +R62 +R74 +R64 +L4 +R87 +L27 +R17 +R511 +R282 +R2 +R5 +L39 +L560 +L3 +R629 +L887 +L13 +L31 +R31 +R532 +R44 +L413 +L74 +L95 +R6 +L98 +R91 +R81 +L96 +R22 +L1 +L33 +L24 +R58 +L81 +R381 +R10 +R37 +L47 +L24 +L176 +L28 +R53 +L441 +R21 +R45 +L32 +L58 +R42 +R472 +L431 +R38 +R51 +R12 +L63 +R19 +L56 +R28 +L15 +L254 +L597 +R87 +R481 +R76 +R35 +R88 +L10 +L33 +L30 +R156 +L56 +L25 +R91 +R605 +L671 +L66 +L93 +L37 +R96 +L32 +R11 +L21 +R22 +R26 +R594 +L61 +L39 +R76 +L90 +R93 +R16 +R91 +R20 +L54 +R59 +L833 +R89 +R33 +R78 +L78 +R92 +R36 +R72 +L95 +L20 +L165 +L65 +L50 +R195 +L674 +L10 +L99 +R98 +R46 +L32 +R377 +R194 +R99 +L27 +L872 +R26 +R74 +R580 +L7 +R48 +R79 +R10 +L981 +R29 +R42 +R32 +L32 +R20 +R59 +R21 +L62 +L87 +L851 +R15 +L79 +R64 +L80 +R96 +L16 +L56 +R19 +L373 +L90 +L886 +L88 +L26 +R7 +L85 +L12 +L87 +R77 +R97 +L8 +L589 +R57 +R1 +L58 +L62 +R18 +R77 +R94 +R73 +R862 +L62 +L71 +R71 +L3 +R46 +L60 +L32 +R915 +R91 +L42 +R17 +R9 +R22 +R3 +R63 +L29 +R96 +R58 +R37 +L60 +R297 +R83 +L2 +L73 +L20 +R590 +L15 +R76 +L73 +R66 +R40 +L69 +R82 +R290 +L23 +L80 +L50 +R250 +L66 +L34 +R213 +R83 +L96 +L339 +L61 +L98 +L69 +R94 +L27 +L4 +L34 +L76 +R83 +L469 +L618 +R952 +R17 +R49 +R16 +R64 +L80 +R65 +R35 +L178 +R36 +L11 +R153 +R64 +L62 +R68 +R24 +L78 +R84 +R47 +L26 +R102 +L881 +L47 +L95 +R93 +L50 +L643 +L77 +L71 +L48 +L4 +L68 +R41 +L6 +R666 +R67 +R70 +R61 +L53 +L32 +L59 +L87 +L85 +L207 +R92 +L55 +R68 +L58 +R93 +R52 +L824 +R54 +R52 +R18 +L62 +R62 +L35 +L81 +L784 +L296 +L39 +L24 +L41 +L72 +R97 +R10 +R45 +L96 +R55 +L439 +R98 +L50 +R53 +R65 +L2 +R44 +R96 +R15 +L52 +R91 +R202 +R14 +R26 +R718 +L62 +L79 +R52 +R513 +L42 +R229 +L532 +R50 +L516 +R94 +L88 +R63 +L27 +L106 +R30 +L49 +L48 +L13 +L54 +L24 +L32 +R23 +L73 +R50 +L77 +L83 +L557 +L43 +L880 +L37 +L98 +L30 +L27 +L60 +R77 +L20 +R11 +R81 +L39 +R96 +R58 +L29 +R80 +R16 +L557 +L59 +R40 +R960 +R490 +L934 +L23 +R76 +L9 +L74 +R74 +L23 +R757 +R66 +R60 +L25 +R13 +L34 +R66 +L12 +L31 +R63 +L56 +L343 +R92 +L64 +R73 +R176 +R68 +L40 +R164 +L6 +R36 +R88 +R81 +R8 +L28 +R51 +L245 +R97 +R36 +L88 +R72 +L72 +L21 +R14 +R6 +R89 +R18 +L93 +L52 +L54 +R10 +L61 +R544 +R97 +R203 +R91 +R21 +L12 +R168 +R68 +R661 +R69 +L1 +L665 +R338 +L38 +L25 +L944 +L31 +L32 +L13 +R11 +R528 +R42 +L36 +L304 +R4 +R56 +L65 +R733 +L36 +L57 +L380 +R24 +R2 +R92 +L594 +L57 +L18 +L17 +R46 +L97 +L58 +R94 +R37 +R69 +L19 +R85 +R760 +L49 +R958 +R60 +L69 +R118 +L49 +R32 +L61 +L67 +L73 +R519 +L19 +R42 +R1 +L64 +R21 +L962 +R66 +R96 +R84 +R16 +R12 +L12 +L98 +R98 +L81 +L306 +L40 +R27 +R82 +L82 +R4 +R82 +R47 +L98 +L59 +R24 +L77 +R1 +R453 +R37 +R58 +R33 +L959 +L46 +R11 +L11 +L92 +L8 +R98 +R31 +R10 +L35 +R96 +L56 +R62 +L30 +R64 +R90 +R591 +R79 +L68 +R33 +L762 +R97 +L15 +L78 +L4 +L844 +R28 +L87 +L61 +L539 +R14 +L14 +R10 +L10 +L73 +L38 +L12 +R45 +R73 +L85 +L245 +L54 +R9 +L20 +R47 +R32 +R42 +R79 +L39 +L818 +L3 +R64 +R590 +R406 +R97 +L997 +L39 +L558 +L40 +R37 +L82 +R29 +L47 +L23 +R93 +R97 +R23 +R10 +R514 +R96 +R90 +R71 +L20 +L14 +L67 +L85 +R15 +R76 +L1 +R25 +L30 +L51 +L619 +L34 +R411 +R354 +R69 +L878 +R34 +L56 +L7 +R7 +R275 +L834 +L99 +L230 +L90 +R78 +L77 +L723 +L840 +R368 +L328 +L27 +R27 +L29 +L36 +R114 +L649 +R79 +R710 +R67 +L27 +L29 +L62 +R39 +R93 +R61 +R43 +R70 +L274 +L70 +L208 +L92 +L829 +L54 +R53 +L70 +R26 +L73 +L24 +R271 +R209 +L509 +R48 +L48 +R61 +R39 +L3 +L197 +R64 +L86 +L18 +L91 +L55 +L14 +L77 +L31 +R90 +L788 +R417 +R19 +L822 +R947 +R16 +L601 +L91 +L79 +R1 +L41 +R40 +L64 +L36 +R593 +L23 +R909 +L79 +L40 +R46 +R6 +R88 +R2 +R55 +L69 +R410 +R558 +R596 +R56 +R34 +R58 +L58 +L90 +L91 +L61 +R22 +R78 +R962 +L5 +R571 +R22 +L48 +L2 +L63 +R42 +R76 +R53 +L54 +L58 +R25 +L43 +R22 +L43 +L45 +R81 +R51 +L39 +L9 +L90 +L5 +R47 +R98 +L66 +R126 +L36 +L35 +R65 +L274 +R74 +R57 +L93 +R35 +R1 +L84 +R93 +R54 +R37 +L74 +R120 +L23 +R17 +R96 +L36 +L34 +R63 +L29 +R292 +L705 +L87 +L2 +L98 +R724 +R76 +R98 +R24 +R30 +L69 +L83 +L84 +L16 +R631 +R69 +R10 +L10 +R25 +L55 +R85 +L55 +L65 +L35 +R86 +R14 +R603 +R76 +R21 +R7 +L7 +R95 +R12 +R50 +R337 +R6 +L42 +R542 +R91 +R13 +R50 +R59 +L85 +L28 +L93 +L54 +L942 +L3 +L890 +R79 +R845 +L342 +R588 +L42 +L46 +R40 +L40 +L48 +R62 +L59 +R45 +R6 +R13 +L19 +R16 +L66 +R856 +L62 +R11 +L55 +R423 +L26 +L81 +R16 +L90 +L42 +L37 +L970 +L55 +R17 +R26 +R351 +R368 +L443 +L75 +L71 +R89 +R901 +L325 +L576 +L95 +R14 +R38 +L57 +L66 +L34 +L586 +R91 +R86 +R9 +L85 +R85 +R31 +L824 +L7 +R219 +L96 +R72 +R4 +R58 +R69 +L13 +L813 +L4 +R667 +L60 +L23 +R93 +R27 +L41 +R41 +L61 +L648 +R55 +R49 +R38 +R67 +L2 +R52 +L66 +R20 +R45 +R46 +R35 +R2 +R432 +R33 +R40 +L37 +L69 +R869 +R678 +R76 +L654 +R89 +R38 +L927 +L777 +R456 +R21 +R479 +R21 +R587 +L87 +L47 +R74 +R173 +L44 +L16 +L48 +R83 +L348 +R803 +R219 +L91 +R42 +R20 +R58 +R8 +R369 +L19 +R28 +L3 +R39 +R97 +L857 +R689 +R275 +L62 +L41 +L54 +L81 +R85 +L12 +R61 +L45 +R86 +R17 +R42 +R47 +R53 +R99 +R1 +L297 +L94 +R93 +R998 +R90 +L660 +R189 +R31 +R50 +R90 +L61 +L61 +R47 +R90 +R146 +L956 +L87 +L97 +L80 +R68 +L99 +L69 +L58 +L8 +L365 +L75 +R77 +R37 +L622 +R83 +R29 +R28 +L57 +L68 +L32 +R66 +L244 +L60 +L62 +L47 +L553 +L66 +R66 +R30 +R570 +R18 +L18 +L2 +L345 +R147 +R179 +R21 +R952 +R464 +L16 +R69 +L7 +R38 +L368 +R325 +R43 +L75 +L82 +R80 +R16 +R6 +L2 +R57 +R54 +L54 +R121 +R679 +R33 +R67 +R17 +R30 +R56 +R56 +L94 +R735 +L10 +L899 +L91 +L13 +L75 +R247 +R76 +R65 +L45 +L64 +R23 +L97 +R180 +L42 +R45 +R71 +R86 +R742 +L351 +R81 +R69 +R30 +L28 +R67 +L167 +L33 +L349 +R1 +R60 +R21 +L50 +R42 +R8 +R96 +R26 +L22 +L969 +L88 +R769 +R64 +L76 +R52 +R67 +R72 +L91 +R55 +L646 +R991 +R45 +R92 +R17 +R73 +L75 +L11 +L29 +L27 +L85 +R20 +R80 +L809 +L9 +R94 +R28 +R94 +L98 +R45 +R55 +L48 +R48 +L56 +L92 +R59 +L48 +L63 +R89 +L55 +L34 +R54 +R946 +L41 +L59 +L47 +L93 +R93 +L26 +R91 +L72 +L909 +R63 +R63 +R37 +L75 +L42 +R47 +L61 +L14 +L69 +R89 +R28 +L31 +R78 +R11 +L61 +R57 +L20 +L37 +L59 +L54 +L87 +R45 +R55 +R518 +L18 +R77 +R23 +L91 +R87 +L96 +L42 +L75 +L916 +R33 +L305 +L95 +R17 +L1 +L50 +R26 +L18 +L44 +R5 +R27 +L45 +L17 +L13 +R13 +R46 +R719 +R775 +L29 +L11 +R551 +L61 +R10 +L58 +R358 +R48 +R51 +R410 +R2 +L789 +L7 +R12 +R24 +L51 +R769 +R80 +L346 +L92 +L561 +R29 +L56 +L23 +L847 +L85 +L768 +R93 +R39 +L81 +R42 +R36 +R371 +L237 +L92 +L50 +R986 +L22 +R3 +L92 +R504 +R112 +R88 +L24 +L43 +R34 +R97 +R80 +R51 +L90 +L34 +R29 +L20 +R91 +R35 +L46 +R41 +L75 +L826 +L64 +R64 +R8 +L8 +R924 +R76 +R95 +L62 +L983 +L74 +R806 +L85 +L95 +R98 +R79 +L42 +L37 +R2 +R23 +L74 +R97 +R30 +L78 +L66 +R77 +R89 +L56 +R84 +L228 +L57 +L43 +L26 +R98 +L27 +L73 +L33 +L39 +L39 +R93 +R46 +R725 +R75 +R584 +L84 +L830 +L1 +R31 +L64 +R64 +L75 +L25 +R86 +R12 +L98 +L94 +R554 +R87 +R66 +R7 +L38 +R36 +L7 +L33 +L78 +R68 +R7 +R43 +L50 +R986 +R46 +L86 +R34 +L40 +L454 +L35 +R81 +R70 +L8 +R85 +R353 +L355 +L47 +R37 +R65 +L19 +L481 +R94 +R81 +L97 +R170 +R52 +R97 +L194 +L506 +R53 +R12 +L90 +L457 +R85 +R72 +R452 +R476 +R582 +L94 +R62 +R82 +R68 +L1 +R915 +R98 +L12 +R79 +R85 +L764 +L86 +R31 +L45 +L98 +L26 +L381 +L95 +R62 +R991 +R19 +R52 +R276 +R50 +L91 +R80 +R77 +L16 +R45 +L968 +R78 +R795 +R13 +L63 +R10 +L95 +R970 +R43 +R72 +R35 +L435 +R318 +R86 +L4 +R59 +R13 +R28 +R43 +L670 +L97 +R88 +R45 +R48 +L442 +R125 +R69 +L9 +R721 +L43 +L344 +L89 +R71 +R84 +L352 +R56 +L4 +R913 +R435 +L48 +R23 +L91 +L832 +L426 +R99 +L73 +L2 +R20 +L701 +L5 +L12 +R37 +R26 +R437 +R74 +R224 +R35 +L833 +R984 +R38 +L45 +R18 +R5 +L726 +L44 +L40 +R63 +R47 +R21 +R57 +L24 +L927 +R70 +L97 +L72 +R72 +L978 +L22 +L71 +L620 +L93 +L16 +R82 +L82 +L9 +R40 +L431 +R52 +R155 +L871 +R68 +L29 +L75 +R98 +R57 +R54 +R91 +R289 +L47 +L36 +R23 +R86 +R72 +L28 +L59 +R42 +R99 +L49 +R54 +R96 +L91 +L41 +L94 +L58 +R705 +L83 +R920 +L64 +L36 +L3 +R69 +L20 +L46 +L56 +L97 +R53 +R76 +L85 +L48 +R196 +R61 +L1 +R101 +R88 +L82 +R30 +L313 +L23 +L663 +L40 +L37 +L60 +R4 +R504 +L28 +R20 +R54 +R46 +R96 +R4 +R18 +R82 +L479 +R79 +L604 +L96 +L31 +R42 +R654 +L965 +R46 +L37 +L19 +L90 +L49 +L2 +R75 +L66 +L944 +L26 +R18 +R22 +R954 +R18 +L780 +R3 +L23 +L74 +R274 +R39 +L39 +R95 +L974 +L42 +L934 +R98 +L90 +R7 +L49 +L947 +L72 +L678 +L814 +R13 +R87 +R371 +L36 +R16 +R49 +L13 +R5 +L80 +R88 +R33 +L33 +R60 +R40 +R71 +L71 +L76 +R6 +L574 +L56 +L12 +R90 +R122 +R46 +R41 +R20 +R93 +R70 +L270 +L77 +R77 +L36 +L102 +R238 +R611 +R42 +L677 +L76 +L76 +L584 +L40 +R82 +L582 +L62 +L38 +R888 +L50 +R21 +L23 +L581 +L55 +R60 +L96 +L94 +L71 +L29 +R1 +R55 +L48 +L19 +R37 +L96 +L13 +R421 +L508 +L11 +R371 +R11 +L84 +L93 +L43 +L74 +R23 +R81 +R71 +R49 +L607 +R24 +L46 +R58 +R11 +R1 +L25 +L61 +L479 +R296 +L3 +L70 +L94 +R56 +L62 +L41 +R601 +R40 +L87 +L174 +R17 +R44 +R47 +R75 +L22 +L38 +L92 +R61 +R75 +L6 +R72 +L67 +R95 +L78 +L22 +L21 +R460 +R65 +L652 +R59 +R28 +L39 +R10 +L744 +L66 +R38 +L92 +R350 +L54 +L86 +R50 +L11 +L855 +L19 +L943 +L18 +R982 +R51 +R707 +L86 +R58 +L72 +R96 +L78 +R82 +L6 +R6 +L14 +L6 +L74 +R1 +R1 +L8 +L529 +L71 +R23 +L51 +R8 +L80 +L61 +L63 +R76 +L52 +R341 +R659 +L215 +R68 +L96 +L57 +L18 +R18 +R88 +L22 +R27 +L48 +R70 +R30 +L89 +L60 +R49 +L55 +R675 +L517 +L46 +R98 +L42 +L791 +L50 +L17 +R910 +R601 +L11 +R52 +R48 +R62 +L62 +L20 +R20 +R53 +L37 +L16 +R87 +R76 +R37 +R97 +R47 +L67 +R240 +R83 +R23 +R66 +L169 +L20 +R55 +L855 +R3 +R73 +R124 +R89 +R67 +L6 +L61 +R14 +R97 +L63 +L62 +R676 +L51 +R18 +L12 +R94 +R4 +R24 +L28 +R17 +L16 +L82 +R958 +L18 +R41 +R41 +L855 +L86 +R57 +L83 +L45 +R27 +R44 +L43 +L31 +L426 +R84 +L96 +L90 +L16 +L69 +R58 +R78 +R89 +L16 +R47 +R515 +R64 +L56 +L92 +L33 +L67 +L60 +L40 +L75 +R75 +L15 +L29 +R71 +R40 +L67 +R69 +L8 +L61 +L934 +L36 +R70 +L83 +R97 +R32 +L31 +L45 +L70 +L32 +R80 +R69 +L1 +R84 +L6 +L94 +R76 +R24 +L10 +L90 +L21 +R70 +L59 +L90 +R45 +R580 +L25 +R79 +L79 +L47 +L497 +R44 +R6 +L6 +R86 +R59 +L45 +L26 +R936 +R90 +R897 +R198 +L16 +R21 +R88 +L67 +L66 +R845 +R36 +L86 +L5 +L945 +L49 +L40 +L90 +R879 +R58 +R84 +L42 +R20 +R5 +R37 +L62 +R58 +R752 +R90 +L88 +R988 +L88 +R85 +L97 +L67 +L933 +R47 +R3 +R37 +R50 +R72 +R85 +L16 +R48 +L26 +L734 +R33 +L59 +R60 +L46 +R83 +R55 +R8 +L53 +R63 +R19 +R969 +L50 +R60 +L12 +L96 +R66 +L21 +L94 +L72 +L31 +R452 +L1 +L61 +R24 +R94 +R10 +R40 +R56 +L162 +L29 +R39 +L910 +R391 +R84 +R25 +L72 +R21 +R65 +R7 +L24 +R1 +L94 +L234 +R30 +L77 +L23 +L94 +R34 +R931 +L29 +R57 +L64 +R65 +L28 +L56 +R84 +L23 +L593 +R82 +R81 +R53 +L41 +L19 +R29 +R17 +L86 +R55 +L55 +R86 +R40 +L24 +R398 +R75 +L75 +L516 +L28 +R62 +R59 +L68 +L9 +L69 +L66 +L775 +R10 +R48 +L15 +L6 +L364 +L76 +L13 +R26 +R85 +L76 +L74 +L35 +L86 +R80 +R6 +L344 +R83 +R2 +L1 +L957 +R22 +R61 +L28 +L58 +L37 +R75 +R82 +L60 +L640 +R25 +L25 +R53 +R47 +L97 +R24 +R202 +R71 +L588 +R157 +L69 +L42 +R842 +R95 +L95 +L2 +L798 +L42 +R45 +L24 +L79 +L79 +R79 +L25 +L95 +L851 +R55 +L61 +L39 +R16 +R28 +L28 +L97 +R83 +R14 +L26 +L74 +R24 +R45 +R42 +R89 +R835 +L35 +R32 +R70 +R98 +R81 +R222 +L939 +L64 +R29 +R188 +R9 +L26 +R42 +L42 +R65 +L65 +R78 +L78 +L11 +R611 +R15 +R7 +L95 +L27 +L861 +R6 +L95 +L82 +L68 +R76 +R97 +L904 +L69 +R558 +L58 +L34 +R34 +R20 +R80 +L37 +L10 +R447 +L78 +L22 +R37 +R50 +R35 +R78 +L5 +L718 +R23 +R30 +L97 +R67 +R64 +L24 +L540 +L85 +R85 +R116 +L63 +L53 +L56 +L44 +R82 +L68 +L68 +L50 +L96 +R31 +R69 +R74 +R7 +R76 +L62 +R5 +R82 +L94 +L750 +R81 +R81 +L42 +R96 +R38 +L92 +R696 +L96 +R639 +R61 +L17 +R26 +L9 +L67 +R8 +L24 +R22 +R97 +R79 +L27 +R57 +R55 +L38 +R45 +R38 +L86 +L59 +L38 +R13 +L948 +L3 +R78 +R69 +R97 +L68 +R2 +L50 +L39 +R34 +R93 +R61 +L1 +R411 +L78 +R32 +L350 +L84 +R69 +L77 +R52 +L75 +R413 +R7 +L41 +R754 +R26 +L473 +R66 +R12 +L89 +L375 +R63 +L40 +R564 +R13 +R18 +L18 +L792 +R92 +R66 +L33 +R67 +L81 +R81 +R494 +L19 +R40 +L17 +L10 +R12 +L606 +L94 +L57 +R26 +L69 +L30 +R30 +L85 +R85 +R273 +L840 +R62 +R5 +R36 +L87 +L626 +R54 +R23 +L292 +L67 +R60 +L401 +L34 +L66 +L18 +R65 +R853 +L36 +L70 +L28 +R134 +L542 +L4 +L87 +L67 +L30 +L70 +L90 +R21 +L31 +L785 +L25 +R10 +L32 +R61 +R60 +L71 +L18 +R45 +L74 +L79 +L398 +R6 +R51 +L51 +L43 +R43 +L69 +L22 +R749 +R41 +R359 +R73 +L24 +R211 +R382 +L61 +R6 +R855 +L383 +L17 +R86 +L25 +L3 +L58 +R39 +R14 +R72 +R37 +R52 +L914 +R3 +R2 +R57 +L14 +L554 +L95 +L93 +R50 +R61 +L29 +L888 +R98 +L81 +L17 +R71 +L88 +R74 +R43 +R84 +R4 +L53 +R97 +L73 +L7 +R48 +R98 +L772 +L67 +L990 +R31 +R14 +L18 +L55 +L3 +L50 +R70 +L78 +L97 +R94 +L241 +R66 +R22 +L24 +R31 +R69 +R31 +R69 +L6 +L94 +R130 +R564 +L71 +R707 +L30 +R530 +R26 +R26 +R20 +R582 +R70 +R435 +R73 +R734 +L246 +L630 +R80 +L18 +L38 +R44 +L88 +R39 +L39 +L97 +R97 +L36 +L964 +R70 +L70 +L830 +L77 +L793 +R81 +R19 +L6 +L671 +L423 +R453 +R35 +L88 +L61 +R23 +L21 +R59 +R20 +L12 +L99 +L9 +R5 +L5 +R702 +R90 +R8 +R489 +R48 +R63 +L420 +L78 +R247 +R51 +R16 +L63 +R47 +R57 +L4 +R366 +L15 +L59 +L45 +L888 +R837 +R5 +L54 +R85 +R29 +R87 +R3 +R96 +L55 +L79 +L355 +R66 +L92 +R79 +L97 +L43 +R76 +R32 +R664 +R15 +L11 +R575 +R25 +L308 +R31 +R57 +R94 +L89 +R40 +L573 +R48 +L4 +L14 +R705 +R64 +L378 +L73 +L12 +R12 +R6 +R293 +R88 +R13 +R53 +L607 +L40 +L6 +L57 +R72 +R56 +R712 +L38 +R264 +L9 +R47 +L31 +R15 +R169 +R20 +R80 +R18 +R88 +R744 +R334 +L48 +L36 +L11 +R411 +R34 +L62 +L59 +R5 +R37 +L48 +R93 +R69 +L43 +L26 +L67 +R48 +L81 +R49 +L896 +R47 +R82 +L91 +R9 +R1 +L99 +R96 +L98 +L95 +R46 +R198 +R51 +R2 +L2 +R80 +R20 +L61 +R54 +L47 +R54 +L9 +R62 +R9 +L64 +L6 +R37 +R71 +L18 +L690 +L33 +R41 +L77 +L58 +L24 +R59 +L21 +R62 +L41 +R124 +L46 +R857 +R1 +L44 +L192 +R11 +L87 +R471 +L95 +R33 +L84 +L10 +L11 +R36 +R36 +R19 +L319 +L79 +L21 +L51 +L49 +L52 +R57 +L51 +L50 +L99 +L19 +R614 +L48 +L52 +L23 +L82 +R39 +L34 +R938 +R20 +L258 +L48 +L19 +L33 +L44 +L98 +L98 +L760 +L73 +L1 +R74 +R31 +L386 +R76 +R20 +R59 +L940 +L870 +R9 +R23 +L222 +L21 +L88 +R109 +L77 +L23 +R13 +L43 +R92 +R14 +R76 +R35 +R13 +R12 +R88 +R940 +R60 +R96 +R32 +R47 +R25 +L27 +R54 +L13 +R186 +R96 +R4 +L584 +R84 +L824 +R69 +L45 +L82 +L165 +R11 +L36 +R278 +R94 +R88 +R912 +L36 +R27 +L56 +R11 +L446 +R46 +L18 +R72 +L46 +L62 +R91 +L38 +L45 +R762 +R54 +R384 +R12 +L12 +L498 +L602 +L98 +L102 +L89 +R4 +R650 +L76 +R19 +L35 +R497 +L85 +L22 +L15 +R688 +R39 +L75 +R16 +R53 +R79 +L24 +L24 +L89 +R307 +R79 +L47 +R41 +R58 +R95 +R18 +L14 +R52 +L36 +L52 +R94 +L49 +R7 +L68 +R4 +R38 +R60 +R31 +R6 +R18 +R75 +L42 +L57 +R871 +L920 +L940 +R32 +L99 +L73 +L28 +R52 +R44 +R35 +R67 +R30 +R24 +L805 +L18 +R81 +L73 +L9 +R2 +R126 +R87 +R85 +R9 +L9 +R76 +R70 +R92 +L554 +L32 +R54 +L6 +L578 +L11 +L33 +R636 +L58 +R50 +R1 +L7 +L66 +R89 +R77 +L64 +R371 +L7 +L58 +L12 +L30 +L19 +R56 +R663 +R26 +L79 +R23 +L39 +L64 +L97 +R32 +R598 +R98 +R302 +R77 +L54 +R47 +L70 +R43 +L62 +L81 +R75 +R80 +L55 +R19 +R96 +R85 +L44 +L8 +L49 +R1 +L31 +R67 +L15 +L234 +R20 +L167 +L40 +L948 +L52 +R20 +R80 +R916 +L45 +R29 +R22 +R51 +L128 +R39 +R78 +R38 +R3 +L912 +R69 +L70 +L5 +L519 +R234 +L13 +L27 +L64 +L86 +R48 +R84 +L542 +L97 +L3 +L71 +L24 +L7 +R49 +R240 +R13 +R903 +L95 +R92 +L2 +L29 +R20 +R42 +L731 +L79 +R38 +R41 +L932 +L225 +R48 +R76 +L584 +R49 +L49 +L86 +L97 +R71 +L290 +R19 +R158 +L958 +R8 +L308 +R289 +L36 +R47 +L60 +L940 +R63 +R37 +R67 +R89 +L19 +R81 +L167 +L480 +L98 +R58 +L64 +R86 +L53 +L40 +R17 +R8 +R29 +L14 +L52 +L48 +R2 +L2 +R85 +R65 +L50 +L61 +R92 +R369 +L56 +R26 +R16 +L28 +R11 +R48 +L43 +L632 +R89 +L79 +R1 +R204 +R26 +R99 +L82 +R87 +L87 +R99 +R252 +L14 +R66 +L84 +R81 +R64 +R754 +R25 +L45 +R2 +R879 +L36 +R43 +R254 +L40 +R231 +L27 +L14 +L9 +R23 +L4 +R76 +R325 +R99 +L56 +L33 +R17 +R98 +R82 +R92 +R59 +R703 +L46 +L10 +R94 +L75 +R75 +L71 +R95 +R76 +R20 +R80 +R16 +R944 +L80 +R75 +L60 +L14 +L369 +L96 +R64 +R20 +L36 +R171 +L35 +R77 +L77 +R6 +R494 +L88 +R6 +L18 +L73 +L727 +R257 +R3 +R3 +L71 +R47 +L637 +L2 +R95 +R78 +R40 +R81 +R73 +R33 +L70 +R82 +R477 +L89 +R246 +R68 +R86 +L32 +R18 +R49 +R77 +R88 +R49 +R23 +R96 +L67 +L1 +L93 +L9 +L68 +L87 +R29 +L46 +R74 +R55 +R45 +R99 +R123 +L22 +L72 +R72 +R89 +R64 +R66 +L19 +R98 +R2 +R7 +R80 +R259 +R25 +L48 +L15 +L11 +R87 +L32 +L75 +L49 +L38 +R10 +R2 +L10 +L92 +L743 +R638 +L39 +R42 +R723 +L661 +L21 +R581 +R93 +R187 +L783 +L835 +R83 +R835 +L98 +R35 +L49 +R916 +L44 +R640 +L84 +R26 +L42 +L834 +R34 +L14 +R60 +L55 +L91 +L15 +R34 +L945 +L15 +L513 +L46 +R52 +R648 +R30 +R70 +L864 +R265 +R83 +L702 +R92 +R8 +R58 +L14 +R564 +R81 +R29 +L26 +L1 +L990 +R517 +L14 +L528 +L97 +R86 +L47 +R765 +L69 +R99 +R35 +R70 +R92 +L606 +L131 +L20 +L35 +L9 +L91 +R2 +L9 +R94 +L87 +L95 +L86 +R60 +R79 +L58 +R38 +L81 +R43 +L24 +L76 +R51 +L81 +L92 +L78 +R40 +L14 +R78 +L970 +L73 +R76 +L37 +L87 +L47 +R61 +L27 +L41 +R73 +L26 +L6 +R30 +R70 +L97 +R712 +R19 +L42 +L79 +L58 +R76 +R69 +R75 +L75 +R11 +R53 +L44 +L21 +L99 +L38 +R93 +R245 +R53 +L47 +L12 +L194 +L77 +L99 +R21 +L45 +R249 +R56 +R72 +R23 +R706 +L6 +L9 +L60 +L61 +R8 +L578 +R509 +R208 +L14 +L1 +L2 +L18 +L195 +R163 +R507 +L57 +R23 +L423 +R11 +R89 +L120 +L135 +R67 +L58 +R46 +R24 +L40 +R31 +R35 +R45 +R84 +R96 +R625 +R71 +R129 +L80 +L325 +R76 +L42 +R71 +L40 +R89 +L37 +R7 +R84 +R54 +R43 +L32 +L57 +L85 +L26 +L50 +R50 +L69 +L16 +R319 +L56 +L591 +L84 +L186 +R811 +R715 +R8 +L18 +L33 +L62 +L38 +L58 +L687 +L816 +L39 +R152 +L489 +L763 +R71 +R14 +L8 +L4 +R731 +R14 +L18 +L16 +L95 +R11 +R14 +R86 +R89 +L89 +L20 +R26 +R94 +R15 +R85 +L93 +R58 +R35 +R39 +R927 +L765 +L1 +R44 +R98 +R46 +R4 +R8 +L22 +L78 +R16 +L78 +L87 +R83 +L91 +R69 +L23 +L389 +R70 +R230 +L71 +L74 +L55 +L72 +L562 +R97 +R69 +R68 +R77 +R93 +L85 +R52 +L78 +L59 +R93 +R37 +R61 +L39 +L82 +L170 +R728 +L84 +L241 +R79 +R18 +R83 +R864 +L835 +L10 +R41 +L34 +R91 +L55 +L746 +L98 +R641 +L87 +R45 +R304 +L1 +L15 +R12 +L372 +L97 +L65 +L66 +R90 +R935 +R81 +R36 +L42 +R324 +L32 +R13 +L5 +L7 +L47 +L868 +L52 +L26 +L99 +L1 +R555 +R45 +L72 +R631 +L459 +L99 +R14 +R85 +R82 +L482 +L93 +R92 +R1 +L874 +L72 +R484 +L57 +L946 +L535 +L79 +R24 +L778 +L930 +R29 +R619 +R515 +R663 +L94 +L69 +L34 +R34 +L78 +R4 +R74 +R976 +R44 +L78 +R58 +L87 +L82 +L31 +L468 +L32 +L14 +R61 +R11 +L74 +R116 +L2 +L98 +L70 +R84 +L14 +L99 +R99 +L498 +R32 +L14 +R80 +R34 +L63 +L71 +L6 +L52 +R10 +L95 +L970 +L82 +R63 +L83 +R97 +L717 +R99 +L64 +L69 +R588 +L529 +L490 +L7 +L93 +L85 +L376 +R93 +L596 +R26 +L86 +L76 +L15 +L85 +L11 +R26 +L19 +R4 +R75 +L29 +L36 +L40 +R99 +L20 +R72 +L21 +R96 +R33 +R71 +L81 +R621 +L40 +L120 +L826 +L54 +R29 +L829 +R71 +L48 +L35 +L58 +L21 +L9 +R61 +R39 +R746 +L25 +R42 +R28 +R8 +R287 +L869 +L359 +L46 +L346 +L10 +R78 +L34 +L57 +L90 +R20 +R27 +L550 +L78 +L72 +R91 +R30 +L21 +R48 +L48 +L33 +L77 +R56 +L459 +L81 +R39 +R55 +L82 +R65 +R17 +L93 +L7 +L6 +L21 +R487 +L60 +R90 +R910 +R33 +L57 +L30 +L746 +L98 +R98 +L93 +R45 +R67 +R81 +R49 +L83 +L17 +L89 +R68 +R26 +L54 +L53 +R16 +L4 +L59 +L93 +L7 +R17 +R49 +R62 +R72 +R61 +R52 +R87 +R18 +L32 +L31 +L527 +R67 +L22 +L473 +L979 +R65 +R14 +L82 +L95 +R12 +R365 +L46 +L54 +L943 +L57 +L95 +L99 +R94 +R57 +L29 +L28 +L90 +R90 +R95 +L595 +L8 +L592 +L4 +L2 +R61 +L55 +L12 +R51 +R20 +R41 +L65 +L45 +R841 +R18 +R51 +L40 +L51 +L302 +R81 +R11 +L77 +L48 +L8 +L75 +L91 +L51 +R188 +L79 +L2 +R48 +R96 +R83 +L83 +R77 +R39 +R33 +R705 +L97 +R43 +L38 +L897 +L53 +R916 +L36 +R72 +L42 +R51 +R86 +R43 +L2 +L52 +L39 +R10 +R10 +R48 +L42 +R76 +L76 +L59 +R24 +L49 +R49 +R36 +L82 +L72 +L82 +R95 +L95 +L30 +L82 +L12 +R39 +R16 +L18 +L89 +L24 +R31 +R4 +R51 +R45 +L20 +L72 +R52 +L91 +L24 +L54 +R78 +R63 +R19 +R13 +R5 +L80 +R13 +R49 +L13 +L10 +R21 +L35 +L38 +L24 +L26 +R2 +L39 +R39 +R2 +R20 +L12 +L7 +L9 +L47 +R39 +L34 +R17 +R31 +R16 +R9 +L10 +L4 +L39 +L8 +L21 +L10 +L48 +R13 +L41 +L33 +L32 +L20 +R45 +R14 +L2 +R45 +L8 +L8 +R37 +R29 +L45 +L29 +R14 +L42 +R29 +L45 +L34 +R14