This commit is contained in:
Arthur 2024-06-07 03:12:49 +02:00
parent 32e3dbdf4f
commit f39dceb721
21 changed files with 2938 additions and 6 deletions

View File

@ -1,4 +1,2 @@
467..114..
467....114
...*......
..35..633.
......#...

140
d03/input.txt Normal file
View File

@ -0,0 +1,140 @@
...................305.124................................432..............................................576..313.....514.................
.............113...-......&....................&...819...........654..../..........................&901................*....869.257.........
...377..&783../.................................9...........855*......940..463................-.........................844.*....@......679.
......*...........197.261.....817..336.759............&742......548.......&........748......844.............#.......&........254...169..*...
.......36....368.*...............*....*.........*..88......%866.......135.........*..................515.682.....114...%...........*.....768
...233......*....909..698.........427..........127.*...................*...........450.........482..../.................312.....621.........
.../.......882...............776...................555......180.........971....217.......857.../........212....674.917......736.....441*760.
............................*.....@....907....%940.....%.......+.#..........45*...........$............#..........*...............=.........
..................370.225.425..211...................932..........381..267.............45.....=....549....238........367..&.....488.........
.468.............*.......................761...677.......&.................929..907.....%....79...*.......*....324..*....515................
....-.#103.504...388...........$..........*.....@........766.%................*....*623.........532..881...573....*..840..............497...
...........*.........305....412..687.......971................676....@640....657........709......................807............98.....+....
....279...502...62...*.............*..............................................838%.....$.........585..........................*.........
....=...=......*....209.825.482.993..........972............620*664..-759............................*.......184.........952....160.....156.
.......814.....931......*...*............551..*....711...65.................224*115...851.772..104..505.....=........796*...................
....................723.103..275........*......564..*.........830........................*...../..............................232...........
.............$......&....................951........703......=............160+.....138......*........257*809.............$298........284....
.....684....464.333..................827.....*211..................................#.....855.86.....................$913............*.......
.......*...........*..*......917.163....*.409......294.......................#..39.......................511....358.......$671.......237....
.......663.......311..163....*...%...158........*....-.442.........958....108.....#.....941*837.........*..........*........................
............865=..........409....................128...*.......283....................................680.........730.935@........768.......
....../................=.............54.....857.........418.....*..911.......610..643............381...............................@........
.......925............984...........-...800*.................194.../.........*.......*.........../.....................................@....
.................................@...............................&......615...16....695.....-..........................*750.............855.
....611..136...................108.540.........362..711......*....420.....................190.......................213.............86......
204*....@.........288..825..+........&...........*....*......733.........................................7..387.......................*.....
...........795..../.......+.505.834.....228....192...619..........886......467.....942.............................%838.........512...340...
.......957.........................*...*..................962........................*..............211...$..............624................
.......*....................349....144......./786..350.......*.......................541..21.......$.....284..190*......*............518....
....484...@....17..........*..../........309..........*....530...118..........208..............253................489.828...........*.......
..........309...........715.....531........+.516#...645.........$........369....*.......*185...@............=.#...........@............&....
491*192..............................................................233.........711.948.........572.....869..289......932...........149....
........274.....511.....425..........421.288*965...652=.919........./....*.786...........676.....*..................+.........=.............
.........*.........@......$...*.........................*........*....791...+..113......*....527..897..499+.904...166........580.........389
.......306.....................353.497..929/.......=....553......495.................884.....&........................794........774........
...................../...........................582....................................................489..........*...............&......
.605......537.....247.....................479................74................227*995.761.....@...........+.......958...87.....547.795.....
...*.....*....................289+.....*.....%........967..............*...............*........611.....28....367.................*.........
..690....916.497....................894.440......547$.............596.492......23...............................*...............237.221..786
.........................681.....=..........580+.................+...............+.......696............@..542..56..........................
...936..639*947.............+...48.*709..................307.257...-248.697.553.............+.........146.....#.......*241..................
...*................568....................=378....41.......*............*...%..11......*..........................982.............#........
..323..704.+724..*....*..195*....812..879...........*.....*....508@.....852....$.....664.......317....*......332..............326.158.......
.......*........610..767.....936...#...&..744.290..839.382.543....................................&.827...../.............323*.........884..
...........962...............................*...................46....502.265.150...................................639...............*....
955*818.......*...@...124*512..256...................+....&..............*....*.......170....996...#........................786.......4.....
..............284.697...........*......172...........398.435.......-.....380..........+..........698....428...361................206........
.822...#..............936$...745..........*..%59..................726...........+.........249......../...*.....*..................%.........
.....870................................978.......761=.......179.............692.........*..........477..550.....676..281.............507...
..............913.................215.........................*..745...#.............882..130..569....................&..........*472..*....
...27..710.....*.....................*.205*403..............59....+..172................=.............................................697...
....*....*....731.......865.......155..........849*....#..............................................679...854....................&........
.985..%.............599....#..........191..520.......473..#........./...........708....406..677+...=............................599.....133.
......501...........*........@.........*...*..............446....767...*444........@......&.........49......#...311*413.....................
..................157.......830..13.90.398.945.978............................950.................%.......88................$...............
.............297........618.......+.*............%............317.............../.........709..481............503.........570...305*845.....
......661....*....632.....@..+......524......../.....+...........*...590..............944....*...............*................+..........681
.......*.....820...@..........829...........671.......206.......239.+......................339..#............106......415..213..........-...
........114........................903.669=............................764...319....373........642...................................-......
.................*...........................*.......121.......898&.....$......*...*.....................................211#.......579.....
........*.......362......787.440..........842.825.....*......................590...357..........949......523....470..292....................
.....594.459........98.....*....*.......................355&..*..................*..........554..*.......*.......*....*..222...243..........
.........................535.....674.........804....#..........455.............847............=.32...23..951.....217.346....+.*....+272.....
..183...........443..........119.......833....#..693......818#........................@..699..............................*....678..........
...*......455/...%..826.............#.....*.........................$...........868.739....=..753...181....773.........323.508..............
...382................*...169..510..590.295....212.767....*970......711.........*........#.......*..*............651...........36..766*.....
............&..61..697.....*................46.*....*..691......970............786....953.....775...235..................*550....*.....417..
..........45.....*........689...645.....549*...821.601.............*......................952..............#..........464.....609...........
.....657.........48...888.......*...................................305......+47..........................254.27......................123...
818......388............*....412....../491.........#336...506..422.................989....15...70..............*..354............@.....*....
..............506........11......./...........643..........#..=..........703...963*........@.........613.....413....%...485.......265...33..
....589.......*................207..............%...............................................+................*......*.....94............
...*.........663...413+....................................819...........655.%...648..823.......770....385......457..150...#.../............
515.......................475....825......33../350.....459...%..........*....681...*...*..............%..................437.......689......
....$993..897@..............*.......*837...-...........*..............726........372....922......&198................................*......
180............*..........679.................71.629=.796......109...........................527..................682.....558.....798.......
........437.742.46.................@.......&...................*......498.......@.............*............./......$........*...............
..761..$...........148.......856....701.377..536*510...604...540.....&........929........172.799.............310.....700...........440.%....
.....*........808*....=.........@......................*.........577.....................*................&...........$...417.39.....&.229..
........794.......446..............................214.543...%...*..........935......865..445...../....%.615................=..*............
..572..+...............................419....932@.........924..72.902.......-..579.-...........997.203................873......945..567....
.....*.................273.............*...........................*...142............688................755.850...........846.........=....
...880................*..............883.698.....$.......=........197.*...........316*.........365.........$...*............*............904
.........385..977..179....+...................652......875.............350...863............73......464.........214.852..478................
......22....*..@.........93............*682..................*137..309.........*....557.....*........................=.......698.....+.218..
......*...645......163...............89......*853..................*...386..341.......*...228............718*492...............*..153..*....
.....576......................857.........513....................509......*.....322.710.........615.......................613.165.......292.
................................@.....370.......598......487...........503..*.....................*...738#..#..$901...$.....#.......648.....
..19*454.............78................/..876..#..........*......+..........937.......383........523........69......326.678.....212....*....
.....................*.....436.@...646...*..........100....367..325.....361.......207*....50............621...............*..........237....
757.........714......502...%...54......909.411.....*.....................*..........................=..$................415.................
...$.......&.................................*...471..985...508.472....891.842..$.................418.........&.....&.......................
.................$........906..........*215.338...............*..............*..606.#235......................813..259........229...........
........472...222.........*.....245.572.......................927...769....344.............291.239.....................94....*..............
...818...$.............291..............288...........163.734......+...........699............*.......981&...514*.............224.....=.....
.....*..................................*.........................................+..189..........452............644...................669..
....850................326$..............869..&985......784..../..............592.......*..153.....*....887..493.....211........%...........
.............................457....834.....................94..564..........&.........498....*...304....../...*.....*..........845.....&...
.......12*48.753...244..196....=......$..721....90*29.........*.................+.522.......487...............317.....531..311........20....
.177...............*.....*.................*.............*969.611.......*565..338...*.............712..922$.......770......*....522.........
....*..459......149......165...=........879...........103............497..........258.931..75....*..........400*.....*......972.............
.269...*............#........715.............................*475..........................*....145.............414.....228........893......
........209......508...................../331......469....894............347.890$..541.....56...............#........#..*...................
......................=...........37................*...........................................$...........197...119.....=...........756...
...........&.......850.....367.34...*............517........178*716..........=...................892......-............883...755............
.....@496.125.................*......965.....428.....908..................405.....650...................=..493..89..........................
..............581........396.............596.........*....964........672......159.%....463............768......./.............391...........
.............*...........*.....871.660..*......577.73......@.....932....#....*............*574...186........154......996........*......720..
............914..132..137......=.......746......*..................*......376.......&661............*560.%.......%....*...264....511........
...%...151................*851...................................*..284.........754..........190.19.......611...326.841...............89....
644.....*...797........133.....476..............................810.............*.....866......+.*..............................#903..*.....
........839..*..478...........*........372.#.....744.....227*............477.3.253.%....&..746.....289.&860.....720*708.....................
............443...%.....68*....283.......%..900...%....%..........584......*.$......308....*......*......................592................
...239................@....250........50........&...%...192.$111.*........74............831....914...#.....886*492..........=...............
...*......425.....181..680..............*......873.502............93.................................503.@..............116........372......
492..........*.....$.............302...789.................861.......................290.......452........83....626....*.....76.......*.....
......178...528..........*739...@..........................*......804....320....#.........&878.*.....746........./..&...148...$......741....
...&....*.............262..............325...........599..592.579.....%...+..808...............386..*...............761.....................
663..462...........*..........109..706*.................=.............553........712......*971......674.396...635*..........................
........../...728.952...413......*......744.......%..........................300..*....782................*.......742..&424........41+...564
........375...%.........*......450.456.$.........714........851.327..#...+......*...+.......179.630....854..................................
..251................195...887.....*........*209.......430.*......-.83.596....956..966.274.%.....*........................83.359........411.
....%.......................*..........89.........194..+...491.........................&.....*.762..+741..........598.......*.....910..*....
..........618+..............677........*..598........+..........-.....58....290...........795...........................*.....580.&....559..
...................561..............910......-..321....834....602.752*....=..+........191..............463....@..........792..*.............
............216.......%...722*668.....................$..................109............*....222...195*.......689....380.......637..........
.....846.......*..436..............=827...263@.764*.......*.464.................729.....934...*......................................289+...
.127*.......757.....&......./954...................965..664........./......716*.+...........266....781.........989..........844...$.........
................57.....................&118......=...........385.623...245..............345........*.....615-.....*..........*...768........
...538...........#..860......................783.460..........*............401.............*796..354..............37......797........725.193
....*..#620../.........*..........578..54...*..........780..251...634..946....*........................./....702........................*...
..202.......815........724....#..............822..972...................$..........*.....#....@........27.....*...........268.....347.......
.................+..........98.....703..............&....*52.....320.............670...318....734.............47..................+....239..
.953*919...=......273................=...454.....@....601...........*...958.........................+.................758...=...............
..........905./50.........@...................971..................762.*..................169........915.682..........=......533.......502..
.....884.................24...........262.........@.....531..698.......234.................................................%.......149..*...
....................834.....994.......*........266.....*......*............................................/.....941.434...812.......*..211.
.............133......*......*.....613...85..........871.......497..346...737....88.....176.....192$........128.*.......&......./163.26.....
....734..543....*.....656....461........*......531..................*........../...*..&................$971.....931.........................
................606....................506............................779.......30...211.....243..........................153...504.........

1197
d03/output.log Normal file

File diff suppressed because it is too large Load Diff

208
d04/input.txt Normal file
View File

@ -0,0 +1,208 @@
Card 1: 57 76 72 11 8 28 15 38 54 46 | 77 87 71 98 40 7 84 43 61 64 5 50 19 83 79 99 36 47 4 95 30 44 37 55 26
Card 2: 44 69 14 83 54 48 21 6 20 26 | 80 26 86 3 9 4 62 34 15 87 60 88 90 29 65 46 92 73 24 12 40 10 99 37 74
Card 3: 15 60 63 84 20 93 36 39 17 19 | 68 80 17 91 20 84 69 72 15 39 5 61 74 99 60 85 19 45 24 79 53 36 7 63 93
Card 4: 22 74 83 58 88 46 7 52 84 5 | 75 20 95 8 37 56 31 42 73 43 40 48 4 28 99 45 90 63 81 93 68 50 46 30 7
Card 5: 4 97 41 50 32 26 68 84 5 11 | 91 70 87 4 88 13 48 51 32 34 38 82 86 11 1 50 40 43 28 5 61 89 84 41 37
Card 6: 79 97 39 26 57 69 38 87 60 44 | 22 92 80 38 27 66 54 2 9 62 3 4 71 99 24 97 14 7 93 28 53 50 77 68 73
Card 7: 73 91 51 23 90 67 19 81 50 12 | 4 76 97 64 19 85 31 3 74 12 23 60 20 68 52 39 43 65 37 63 40 59 99 80 6
Card 8: 23 64 38 82 68 79 49 56 5 76 | 68 25 64 30 40 52 16 53 95 96 85 9 4 7 26 80 62 67 73 35 32 44 90 69 93
Card 9: 75 87 69 31 8 11 89 49 95 24 | 35 26 68 69 42 66 37 77 25 45 75 72 38 50 27 24 32 46 11 10 14 95 62 7 86
Card 10: 37 25 47 36 57 81 44 6 79 98 | 67 34 86 70 39 97 80 69 27 17 7 50 99 84 45 32 49 53 15 95 19 18 47 37 41
Card 11: 87 98 16 76 21 53 8 42 40 75 | 21 7 89 85 65 30 32 19 68 22 64 82 48 62 39 46 4 57 77 18 55 24 34 29 67
Card 12: 60 11 44 35 9 56 93 91 15 32 | 31 45 37 63 26 12 15 14 48 92 81 1 97 65 29 95 57 77 99 93 27 25 58 66 61
Card 13: 25 75 5 60 47 83 8 37 2 43 | 52 30 68 13 1 92 89 63 78 57 87 75 28 82 59 46 33 3 65 41 47 69 21 2 96
Card 14: 64 44 89 88 1 38 20 99 9 81 | 71 68 91 21 92 75 49 22 27 12 9 26 57 13 66 45 40 37 16 4 44 90 98 85 61
Card 15: 16 56 91 62 12 83 25 3 70 61 | 81 55 73 96 13 7 67 99 88 90 87 48 83 35 19 97 9 31 20 49 38 44 41 45 5
Card 16: 78 68 81 18 76 41 88 45 24 87 | 59 84 67 36 33 57 42 32 11 74 65 31 54 46 72 39 98 40 16 49 79 19 3 44 22
Card 17: 84 11 48 66 54 86 28 4 45 23 | 4 54 42 62 81 8 92 45 47 66 84 48 18 72 28 86 23 34 3 24 73 82 96 11 59
Card 18: 46 40 41 22 75 92 68 10 52 3 | 84 73 9 22 7 19 3 65 32 6 99 77 97 63 62 59 57 17 8 68 91 28 39 4 41
Card 19: 19 57 22 85 75 69 50 62 65 61 | 35 24 50 47 74 97 61 27 66 57 77 75 22 30 70 41 62 69 85 58 81 65 19 91 63
Card 20: 18 13 96 41 20 44 62 97 57 52 | 18 59 96 40 23 58 20 57 41 97 44 62 75 54 85 78 94 52 64 34 37 45 84 13 53
Card 21: 34 3 13 85 81 19 37 97 29 91 | 9 97 52 3 35 48 24 34 17 50 21 71 57 36 94 82 19 4 14 83 98 37 80 91 59
Card 22: 18 14 95 74 23 71 31 83 51 57 | 94 14 63 18 16 73 57 31 5 23 51 69 85 45 70 35 74 49 79 27 40 95 83 13 71
Card 23: 54 12 52 31 58 93 9 45 27 64 | 48 54 93 12 44 64 56 83 35 94 33 4 58 89 8 45 27 1 86 90 52 31 19 57 9
Card 24: 56 75 17 67 59 37 76 94 25 36 | 24 14 56 53 82 35 92 96 17 34 25 1 16 86 41 95 64 45 38 63 31 18 80 33 66
Card 25: 32 22 47 24 80 92 96 67 5 26 | 22 81 87 47 26 96 92 60 57 64 66 16 5 83 67 49 32 39 71 80 40 63 99 75 53
Card 26: 62 36 66 9 3 71 75 67 29 61 | 9 31 66 82 29 41 67 71 38 36 28 76 14 75 69 61 99 57 62 88 70 95 63 10 59
Card 27: 46 38 59 90 1 65 16 80 76 34 | 70 15 49 31 27 71 54 46 76 1 8 77 93 2 90 39 14 67 62 16 78 56 68 9 58
Card 28: 47 85 54 21 37 14 44 73 12 51 | 78 70 14 77 98 88 25 49 9 79 58 23 52 2 43 17 12 84 59 51 56 89 47 48 6
Card 29: 74 37 60 11 56 21 87 44 33 46 | 80 61 34 54 9 3 45 7 55 13 98 84 10 19 14 8 90 81 50 69 31 12 38 29 78
Card 30: 29 20 44 62 79 34 52 15 49 48 | 17 84 34 1 33 9 23 55 94 10 95 69 42 79 78 44 51 82 20 25 81 29 15 13 32
Card 31: 88 41 38 98 34 40 92 36 25 50 | 33 54 18 53 46 69 8 22 25 36 51 34 42 92 85 45 40 60 84 27 97 39 10 70 41
Card 32: 5 28 85 29 95 37 60 34 24 16 | 74 8 48 73 34 65 66 56 64 85 78 17 39 67 92 30 75 22 95 12 29 24 6 2 51
Card 33: 71 31 99 53 62 80 65 32 13 23 | 87 20 55 24 42 19 67 77 37 89 32 83 44 9 60 46 47 36 49 35 92 10 82 2 81
Card 34: 78 61 12 81 96 82 7 30 80 32 | 62 8 56 89 11 12 39 31 17 18 79 51 30 92 48 5 45 78 41 44 77 98 71 67 73
Card 35: 59 35 63 76 51 8 53 70 24 97 | 20 36 31 17 77 26 34 15 41 39 61 24 35 46 80 74 2 71 5 91 16 11 55 87 4
Card 36: 46 51 79 66 57 52 21 11 75 33 | 88 64 74 99 22 39 42 11 14 65 1 56 86 8 26 16 72 13 55 20 60 40 19 85 58
Card 37: 83 88 1 19 95 30 38 43 14 51 | 98 20 22 55 13 58 93 21 68 11 76 70 71 35 44 90 52 53 75 17 96 27 49 31 26
Card 38: 87 49 43 19 16 34 88 66 67 9 | 70 46 63 58 7 53 96 1 59 35 91 85 18 21 93 68 90 73 11 92 60 61 98 38 15
Card 39: 24 68 25 61 54 63 30 37 21 73 | 50 84 48 10 81 5 62 28 92 66 96 6 20 83 78 88 31 89 12 71 60 8 34 70 90
Card 40: 18 72 44 15 3 19 69 63 73 57 | 14 3 52 76 71 12 50 13 86 21 55 31 27 29 43 47 90 75 9 97 6 32 96 37 18
Card 41: 81 66 49 20 86 80 4 55 93 44 | 87 81 7 47 25 85 80 51 76 27 78 10 16 50 33 66 13 64 35 18 44 63 29 92 48
Card 42: 27 21 14 28 69 89 94 9 19 46 | 92 13 27 99 96 19 43 54 4 14 45 16 44 83 24 61 2 28 5 90 49 51 63 64 73
Card 43: 34 49 58 85 23 88 84 78 89 55 | 72 45 73 23 75 52 84 78 46 55 58 71 98 5 56 91 49 39 88 70 42 59 89 85 34
Card 44: 18 69 46 58 73 59 56 23 12 40 | 71 23 87 93 21 84 10 79 47 92 91 13 52 1 32 78 59 95 72 55 97 56 43 61 75
Card 45: 33 47 58 69 57 1 82 6 61 48 | 48 97 4 1 67 66 82 12 6 29 21 96 90 33 57 28 47 69 74 27 2 32 58 61 9
Card 46: 42 54 98 50 36 86 27 66 29 60 | 32 23 40 62 38 91 43 98 29 85 18 30 66 28 81 35 68 61 11 27 50 22 41 46 42
Card 47: 1 31 87 71 53 17 5 93 84 56 | 48 26 14 47 34 44 18 93 17 88 61 8 95 74 53 50 56 80 62 84 99 49 87 52 1
Card 48: 40 75 79 29 64 57 33 49 95 68 | 7 39 63 79 89 10 23 40 22 86 92 13 57 29 9 19 90 87 58 12 77 16 75 4 91
Card 49: 4 45 87 47 71 35 9 2 81 77 | 93 33 49 75 11 34 62 39 83 40 55 17 84 43 80 60 46 7 18 56 48 66 95 57 74
Card 50: 88 42 2 30 24 89 15 93 16 45 | 93 45 72 68 30 28 17 82 64 91 29 98 14 24 88 70 55 48 58 10 42 83 66 2 77
Card 51: 91 96 87 48 6 73 95 55 71 89 | 94 49 84 33 82 9 21 32 25 46 65 15 86 83 66 11 37 1 14 61 92 36 35 45 27
Card 52: 48 3 94 56 41 13 34 8 96 25 | 40 88 46 14 68 25 75 66 87 55 64 78 92 43 19 97 53 90 83 59 69 31 84 95 13
Card 53: 13 45 61 92 91 32 49 58 43 36 | 44 70 55 28 2 6 35 79 24 54 82 95 52 73 75 84 34 57 21 23 33 22 80 88 1
Card 54: 61 52 20 8 73 54 83 60 29 6 | 74 40 27 46 81 75 3 42 47 69 22 59 58 49 90 63 57 50 79 70 82 5 53 91 39
Card 55: 41 51 64 55 57 44 26 70 62 34 | 24 82 49 39 56 84 31 27 86 77 22 6 73 72 99 47 60 18 53 68 42 19 66 9 50
Card 56: 30 89 82 17 72 46 98 5 54 58 | 4 86 18 15 84 41 16 63 44 91 12 31 66 96 94 87 49 59 67 64 80 33 5 11 40
Card 57: 39 80 17 47 15 96 69 50 46 24 | 5 83 16 52 57 27 98 43 78 1 66 90 19 6 58 3 49 94 85 62 44 54 75 14 9
Card 58: 42 77 37 13 74 40 31 92 36 46 | 16 74 80 59 51 31 95 85 40 93 23 15 32 18 46 97 36 13 79 10 37 99 77 25 92
Card 59: 39 1 78 7 57 46 91 26 12 94 | 46 13 26 83 21 1 67 78 50 94 8 12 39 61 86 91 35 29 32 72 30 97 57 16 7
Card 60: 62 32 18 51 40 96 93 36 80 84 | 42 93 65 8 2 52 84 70 11 1 92 21 80 99 18 14 17 47 56 90 49 67 19 48 97
Card 61: 6 83 74 89 44 73 39 42 47 88 | 72 74 42 21 88 77 18 6 83 85 49 73 5 39 78 44 64 10 47 14 89 53 98 13 92
Card 62: 91 86 35 23 30 28 77 88 56 41 | 54 26 90 20 96 78 14 5 47 98 31 55 74 83 33 15 67 92 19 40 73 72 52 81 94
Card 63: 87 91 78 92 33 71 80 47 13 65 | 32 33 56 55 2 4 61 71 91 97 93 78 83 74 3 13 47 70 54 80 65 60 49 26 96
Card 64: 70 61 63 52 32 35 85 46 54 4 | 42 54 32 84 56 46 29 61 63 78 4 36 80 86 26 17 3 87 48 21 85 52 35 70 22
Card 65: 83 95 45 97 49 67 13 92 1 90 | 68 75 20 96 6 33 73 1 50 14 17 66 34 78 54 84 92 9 64 61 85 88 72 42 12
Card 66: 1 7 99 75 17 21 48 70 30 13 | 70 80 45 89 75 7 21 99 20 54 42 46 67 85 61 17 1 16 30 92 77 48 13 68 90
Card 67: 69 55 20 91 47 31 33 75 56 39 | 69 31 62 20 58 1 93 48 35 55 47 13 56 60 50 75 25 37 91 81 10 39 32 33 54
Card 68: 14 97 54 28 73 64 81 32 47 17 | 86 48 88 25 47 65 22 81 28 95 41 14 27 26 46 64 79 61 45 96 32 9 21 54 53
Card 69: 6 21 89 82 75 48 46 56 68 47 | 48 32 74 30 13 56 93 90 68 33 41 58 21 47 8 17 65 6 89 97 75 82 46 26 59
Card 70: 35 48 78 92 64 30 88 77 76 10 | 76 33 48 67 78 64 24 69 36 14 77 85 30 73 53 91 3 35 96 88 43 84 10 95 92
Card 71: 59 78 57 66 15 18 41 83 70 35 | 7 62 19 30 48 97 89 71 40 27 11 63 60 47 23 86 10 84 4 75 80 69 61 67 25
Card 72: 80 82 46 70 10 14 55 49 62 9 | 31 76 62 17 8 49 19 50 85 72 77 75 42 48 33 60 54 45 12 91 20 92 15 3 25
Card 73: 38 83 96 47 42 99 13 82 36 85 | 74 86 59 16 49 45 81 61 44 39 3 91 9 26 35 25 55 21 19 41 90 70 10 29 4
Card 74: 92 36 96 65 24 6 98 13 33 86 | 17 83 30 5 46 51 54 81 44 99 33 56 45 14 57 34 8 16 77 48 40 94 82 73 75
Card 75: 14 21 57 66 33 8 90 7 4 28 | 91 61 3 84 89 45 60 56 51 10 58 20 96 78 73 93 97 44 19 15 12 90 35 87 42
Card 76: 37 91 60 44 43 3 40 33 95 51 | 24 39 81 1 46 83 97 88 87 6 67 40 22 96 93 2 71 33 29 15 41 16 89 21 68
Card 77: 91 84 43 9 87 96 37 64 41 31 | 35 13 30 43 78 32 23 85 84 19 88 68 10 63 27 77 61 50 41 94 54 12 97 86 33
Card 78: 9 78 53 16 80 56 91 3 62 70 | 85 64 21 88 51 16 15 4 69 30 13 1 70 17 52 23 90 5 24 50 19 81 41 67 12
Card 79: 59 28 42 51 66 58 63 9 24 47 | 69 95 26 36 14 62 13 20 35 25 34 74 40 41 9 39 45 77 5 10 55 96 22 81 49
Card 80: 72 83 73 23 85 2 53 22 3 43 | 14 50 67 63 19 76 39 60 31 33 62 92 29 12 49 75 69 78 44 8 96 95 34 65 20
Card 81: 2 46 29 50 65 57 55 83 74 12 | 4 70 97 54 68 99 81 5 84 10 73 61 88 66 27 8 56 33 79 47 85 49 17 16 34
Card 82: 37 30 10 3 8 34 44 24 57 13 | 42 17 25 65 48 71 4 64 51 83 75 27 72 96 45 18 11 15 70 53 91 14 12 87 59
Card 83: 82 81 15 4 54 96 74 72 37 70 | 37 78 72 25 4 66 81 97 6 83 43 96 61 44 15 71 40 54 27 70 82 98 74 93 7
Card 84: 97 52 96 23 80 53 57 83 16 62 | 5 31 89 91 84 33 52 83 76 23 64 67 10 97 29 63 96 58 74 53 62 57 80 81 92
Card 85: 53 33 76 24 81 68 51 47 40 89 | 70 38 51 50 85 57 89 40 30 61 1 24 54 75 32 33 96 19 14 53 76 20 7 99 47
Card 86: 19 96 52 18 15 53 82 16 86 13 | 69 27 32 85 87 30 33 83 11 47 3 21 68 70 42 61 46 2 64 65 44 1 97 48 74
Card 87: 18 40 55 62 39 95 60 11 76 46 | 82 81 22 46 92 80 62 91 12 40 76 60 69 78 17 18 11 93 56 39 37 88 3 64 95
Card 88: 72 65 91 61 57 4 49 24 45 31 | 28 49 91 31 19 59 65 36 34 87 72 24 60 89 17 12 57 30 75 32 63 8 21 4 25
Card 89: 18 24 64 43 33 56 6 67 8 16 | 40 21 27 52 3 23 65 89 16 7 96 31 48 73 33 37 18 99 12 50 74 26 71 84 8
Card 90: 75 3 92 35 12 26 49 59 60 55 | 65 58 39 73 3 56 11 44 4 47 68 24 86 10 61 6 72 13 82 42 29 93 97 77 8
Card 91: 78 40 49 75 60 15 59 7 31 93 | 71 9 48 10 69 29 65 40 21 57 68 87 12 35 81 70 30 94 36 97 51 43 8 82 5
Card 92: 3 53 23 43 15 4 98 11 67 29 | 35 3 93 87 83 60 5 92 1 90 67 23 78 98 20 37 81 71 31 82 95 47 53 75 21
Card 93: 20 61 6 36 52 77 59 16 18 81 | 66 29 4 87 61 92 78 30 68 69 67 57 88 83 71 54 24 21 13 56 84 35 60 86 53
Card 94: 25 52 87 17 94 41 23 30 72 53 | 93 62 38 77 31 24 21 36 75 64 45 83 56 39 90 29 55 43 71 54 42 98 76 74 28
Card 95: 84 66 91 8 26 82 85 96 31 36 | 93 51 40 98 69 74 53 67 86 23 77 41 62 89 64 34 5 26 50 73 42 43 13 19 91
Card 96: 7 6 90 39 14 73 66 81 33 67 | 63 26 1 58 29 10 3 13 94 9 85 68 69 19 53 96 90 36 49 99 31 74 54 45 77
Card 97: 66 64 77 7 88 18 40 24 10 63 | 28 22 62 41 30 21 19 12 50 43 46 42 56 6 60 36 95 82 97 2 73 55 38 53 8
Card 98: 48 10 16 15 93 40 37 72 57 88 | 10 59 38 19 97 23 51 40 35 31 56 54 21 27 28 81 15 67 12 57 37 65 9 22 74
Card 99: 45 57 7 23 86 82 15 14 75 35 | 55 19 84 37 82 39 15 77 42 52 44 18 75 45 7 69 67 23 86 6 89 14 43 57 35
Card 100: 68 85 29 69 17 44 19 56 92 8 | 8 4 20 98 36 39 78 79 72 81 51 22 13 47 2 77 30 28 64 41 89 57 50 34 16
Card 101: 6 91 90 43 85 1 19 2 28 9 | 63 25 2 9 83 85 87 43 91 6 62 64 74 28 19 82 92 29 36 1 71 90 60 99 84
Card 102: 20 72 12 52 58 28 30 76 42 55 | 30 47 59 29 20 93 90 33 76 58 78 28 52 83 48 72 54 42 67 17 55 12 36 2 37
Card 103: 58 18 40 8 73 69 22 74 26 63 | 61 40 63 41 82 87 22 8 34 6 73 95 69 44 45 85 62 74 27 28 26 4 96 58 15
Card 104: 42 71 57 39 22 79 43 80 90 37 | 43 37 76 94 40 67 4 55 74 21 7 42 3 39 28 12 80 57 32 61 95 58 64 90 13
Card 105: 60 9 50 14 56 11 54 33 77 84 | 77 81 17 99 11 84 70 60 5 43 83 19 80 13 54 33 50 30 87 31 9 4 37 56 14
Card 106: 79 87 86 96 1 8 63 43 39 91 | 6 2 75 63 67 38 11 96 90 91 87 97 86 9 21 77 43 36 79 8 40 85 39 1 13
Card 107: 97 83 21 39 74 64 79 70 77 14 | 85 32 55 18 24 14 79 57 51 12 4 21 23 70 26 83 39 66 63 1 64 73 30 8 77
Card 108: 18 41 11 62 88 38 73 4 47 36 | 82 53 41 92 65 15 42 47 85 96 26 43 58 62 11 3 54 55 89 63 30 17 20 93 2
Card 109: 28 34 55 39 22 99 98 89 86 54 | 58 76 46 70 91 43 2 79 16 25 89 42 78 52 12 56 44 69 80 85 84 99 62 19 15
Card 110: 32 38 50 41 8 97 84 60 92 40 | 43 7 51 76 69 38 92 34 41 71 8 49 95 79 32 45 42 58 60 40 4 3 98 31 20
Card 111: 61 7 67 98 74 21 79 4 85 68 | 90 80 4 8 46 55 40 28 30 38 64 86 73 51 42 66 69 15 29 6 52 78 82 49 41
Card 112: 13 92 98 37 72 52 1 30 42 36 | 17 65 49 6 5 33 40 10 57 72 12 53 7 15 44 18 90 46 81 99 26 16 23 52 66
Card 113: 39 30 46 62 55 42 32 77 9 37 | 37 21 50 40 63 97 28 11 51 26 75 86 80 32 16 69 77 60 6 99 9 72 22 55 79
Card 114: 54 6 72 17 56 76 23 78 7 38 | 15 76 40 56 8 50 51 97 94 64 13 3 69 24 54 66 14 25 82 1 71 41 47 74 92
Card 115: 50 66 30 89 46 20 35 59 22 88 | 96 72 32 97 61 64 25 70 4 11 88 34 46 6 10 73 71 79 45 33 66 50 24 13 42
Card 116: 83 33 99 22 90 32 11 28 47 85 | 80 58 57 7 15 1 23 59 86 54 67 36 83 38 34 18 37 35 19 90 45 24 46 4 84
Card 117: 95 23 58 8 76 82 60 1 15 80 | 75 77 10 85 36 52 91 54 44 96 97 89 25 67 16 31 99 51 68 83 55 29 3 20 33
Card 118: 53 7 99 97 39 37 80 52 18 77 | 76 78 83 34 75 69 39 14 27 44 89 56 23 30 43 48 57 61 29 82 87 93 67 62 12
Card 119: 19 22 6 97 71 68 59 95 67 75 | 91 40 20 74 87 46 4 85 63 64 50 88 14 1 54 39 3 62 58 10 28 55 27 86 60
Card 120: 37 76 87 74 15 84 14 11 99 60 | 24 15 92 60 25 3 86 1 33 5 62 65 79 6 91 45 11 14 10 2 43 4 68 85 54
Card 121: 74 43 96 14 67 85 19 51 80 95 | 27 53 14 15 72 99 85 30 33 20 13 58 12 25 36 18 45 67 34 79 32 76 96 95 55
Card 122: 93 51 95 32 2 18 40 72 31 45 | 8 98 70 17 62 22 63 72 69 73 3 26 42 25 1 41 28 13 77 92 32 60 56 2 65
Card 123: 9 82 93 20 35 69 87 40 30 67 | 87 10 67 63 76 23 45 35 54 5 75 79 66 40 1 89 71 20 77 43 90 65 9 82 37
Card 124: 93 48 59 54 75 8 83 35 4 64 | 71 59 41 35 4 65 49 5 98 91 54 45 76 64 93 75 8 83 48 87 94 32 16 89 82
Card 125: 24 14 40 22 2 57 67 35 36 98 | 36 82 19 88 23 55 15 97 78 35 94 24 67 52 14 30 40 56 38 57 2 31 22 98 71
Card 126: 22 7 97 12 95 66 69 51 59 88 | 94 88 59 58 70 64 95 29 7 93 68 21 16 19 36 39 41 66 10 76 78 82 63 34 56
Card 127: 46 9 32 85 22 20 14 68 98 61 | 69 25 4 70 64 57 14 89 41 98 22 53 27 77 20 56 84 42 85 40 90 6 61 71 60
Card 128: 53 84 81 45 23 13 93 34 42 80 | 80 74 39 50 75 49 7 61 43 5 1 51 36 54 57 97 26 32 82 98 68 45 93 37 86
Card 129: 40 29 85 88 86 7 49 67 91 92 | 86 38 79 31 57 34 78 17 52 53 22 36 62 75 21 70 88 7 3 49 28 6 85 14 4
Card 130: 63 20 36 62 43 98 99 12 46 57 | 14 32 99 22 17 70 5 91 57 95 49 15 28 46 84 89 78 79 43 98 45 50 88 16 23
Card 131: 7 16 87 36 73 82 11 40 14 69 | 25 31 82 24 50 38 2 28 4 23 72 6 51 79 86 46 55 97 42 90 84 1 39 32 27
Card 132: 67 56 15 63 40 9 59 23 94 27 | 26 65 80 40 46 23 37 78 27 12 34 98 41 59 94 16 50 79 90 15 4 7 6 62 17
Card 133: 18 91 27 52 4 34 12 32 65 41 | 45 55 7 3 84 79 54 91 75 80 17 49 42 9 18 48 59 6 8 22 94 10 93 53 57
Card 134: 78 75 48 26 14 8 91 41 34 68 | 18 29 57 5 17 22 56 97 74 34 13 50 40 33 62 20 10 71 58 1 21 88 87 8 25
Card 135: 5 97 16 92 74 51 61 65 3 14 | 15 50 86 24 99 90 59 32 45 81 97 75 6 25 29 80 9 89 46 70 40 57 42 63 60
Card 136: 81 35 23 70 51 14 31 50 67 7 | 32 28 40 58 4 99 18 95 11 90 86 13 84 74 61 5 44 47 24 38 21 1 77 48 78
Card 137: 74 99 57 81 5 1 90 9 69 30 | 88 23 97 7 25 68 78 91 53 15 55 81 92 90 12 18 50 71 61 75 8 76 36 19 34
Card 138: 37 2 84 13 78 51 29 15 42 71 | 49 30 16 88 79 67 76 75 38 80 91 6 28 83 14 26 1 19 40 18 32 98 74 17 44
Card 139: 49 75 16 61 39 4 51 55 17 97 | 11 45 56 47 81 78 67 21 57 42 84 58 8 13 10 91 7 19 46 14 90 87 26 1 18
Card 140: 39 19 41 45 17 30 29 66 61 25 | 61 53 29 41 37 30 95 93 45 17 8 21 66 10 14 78 65 18 39 5 52 91 19 25 4
Card 141: 7 66 29 40 9 14 34 64 4 31 | 98 63 65 6 92 56 81 67 48 88 49 18 38 61 13 95 28 85 20 17 21 30 58 52 89
Card 142: 32 88 54 27 21 86 49 87 44 45 | 15 44 67 75 87 79 21 10 34 70 54 49 88 3 28 32 65 27 43 98 53 64 45 86 9
Card 143: 14 7 67 53 37 73 45 18 62 34 | 87 68 3 22 40 86 26 85 70 4 61 78 1 29 48 12 37 10 77 54 99 36 94 79 15
Card 144: 92 35 52 27 19 16 58 4 22 85 | 47 37 30 51 96 28 58 81 85 9 19 10 46 22 27 7 35 52 16 60 4 92 53 13 84
Card 145: 71 32 62 83 43 20 97 57 78 24 | 88 34 23 25 67 52 11 9 49 80 70 29 43 2 44 45 62 56 33 3 20 98 28 77 79
Card 146: 99 11 17 93 16 77 1 46 55 68 | 25 17 77 99 35 53 3 84 98 2 21 74 27 58 16 20 33 22 39 28 69 9 92 46 52
Card 147: 56 26 30 23 66 94 82 47 14 49 | 68 41 6 13 99 7 71 67 35 93 57 84 44 40 70 89 42 63 74 22 20 55 33 91 64
Card 148: 21 6 43 36 7 44 61 23 93 57 | 53 20 51 59 74 77 16 92 47 25 62 58 18 85 3 63 46 81 99 5 79 70 69 75 34
Card 149: 31 36 91 20 17 50 1 18 64 52 | 66 90 80 33 26 24 30 58 45 77 25 29 44 48 6 35 96 13 78 65 68 98 93 89 94
Card 150: 81 91 37 66 12 33 59 97 38 32 | 61 38 91 95 75 85 48 44 37 47 84 66 35 62 79 94 25 22 97 17 10 31 96 5 78
Card 151: 32 35 11 75 63 61 42 62 10 56 | 4 44 53 12 50 76 51 5 82 25 30 8 89 41 34 98 54 96 37 74 35 16 31 57 65
Card 152: 96 60 29 43 99 19 80 8 5 2 | 87 52 19 11 99 35 20 60 55 80 24 21 8 61 38 78 42 28 95 6 64 65 49 59 26
Card 153: 53 30 75 13 87 77 56 89 63 6 | 7 54 93 80 47 4 72 9 69 44 97 96 23 24 94 67 55 8 33 30 37 6 14 5 3
Card 154: 10 65 46 58 13 25 69 52 19 3 | 47 41 9 3 40 79 89 21 33 73 14 7 74 65 31 62 24 69 60 87 12 16 53 80 82
Card 155: 24 51 35 95 93 73 36 65 27 20 | 14 83 97 94 29 39 19 38 33 32 44 92 60 25 76 64 49 71 65 34 91 31 53 74 23
Card 156: 52 31 50 54 82 42 23 9 39 3 | 29 64 88 70 48 74 12 90 75 57 23 25 58 68 36 33 73 5 84 28 47 92 50 41 21
Card 157: 66 20 50 96 6 84 54 67 59 81 | 77 60 38 65 37 44 15 73 23 83 18 71 89 53 90 36 40 32 2 39 78 63 8 51 19
Card 158: 38 46 85 81 87 86 98 90 37 34 | 41 71 35 26 12 19 51 93 39 20 76 24 7 80 50 56 49 2 57 84 68 92 54 1 75
Card 159: 61 36 84 47 4 22 49 17 31 75 | 77 83 49 55 84 80 18 44 31 47 22 67 4 68 69 35 75 5 59 13 61 39 36 54 17
Card 160: 90 70 62 65 87 95 15 77 76 35 | 70 94 97 10 90 80 35 27 84 87 42 62 54 26 95 57 82 63 1 18 92 25 49 64 21
Card 161: 44 6 28 50 79 16 15 83 45 53 | 79 72 12 45 50 35 67 6 89 28 15 61 16 7 46 36 44 55 27 92 1 59 83 53 94
Card 162: 29 51 46 64 4 75 37 78 81 71 | 83 71 37 39 74 66 32 1 51 93 43 46 20 3 15 50 81 64 75 73 78 29 33 4 22
Card 163: 1 52 37 97 88 47 94 10 98 5 | 85 31 33 46 15 1 16 61 98 59 64 94 83 68 35 11 44 80 38 36 84 72 86 40 29
Card 164: 60 40 94 62 18 71 92 25 21 64 | 64 18 58 76 38 55 40 45 71 92 73 75 25 62 12 94 68 79 23 91 21 60 72 39 7
Card 165: 63 88 91 22 85 18 39 55 33 84 | 95 88 37 5 39 46 33 61 32 45 74 20 27 35 76 85 84 18 54 86 91 75 22 55 63
Card 166: 72 11 31 50 53 82 41 74 62 87 | 42 34 50 11 96 3 77 7 37 22 44 38 62 1 87 68 12 54 74 53 47 82 69 89 85
Card 167: 79 26 70 95 25 16 18 37 75 61 | 39 11 68 61 44 53 42 94 37 45 75 78 62 18 95 26 79 92 38 13 16 64 21 91 57
Card 168: 94 86 69 88 31 15 62 44 19 14 | 3 24 29 8 44 61 89 7 75 15 91 36 45 70 66 4 35 6 71 22 25 39 55 33 18
Card 169: 86 68 72 15 42 99 9 35 2 74 | 42 84 59 86 6 15 53 89 85 79 20 68 62 61 10 2 9 51 99 54 33 35 13 48 93
Card 170: 83 6 15 80 93 63 79 50 69 5 | 15 25 6 93 69 50 83 68 16 40 66 58 63 79 52 7 80 34 61 95 5 33 78 91 32
Card 171: 33 85 4 12 72 62 49 67 17 53 | 4 17 53 72 47 6 49 56 82 48 12 26 30 85 61 15 36 70 64 25 2 33 67 46 62
Card 172: 98 63 26 82 12 61 56 95 27 99 | 76 30 14 95 26 97 71 19 57 67 73 48 63 54 82 18 98 27 61 5 12 44 1 56 74
Card 173: 7 32 34 4 22 79 27 10 78 65 | 3 81 65 36 91 62 94 54 41 32 12 28 39 34 18 61 78 79 80 66 9 63 43 72 97
Card 174: 14 78 60 32 26 31 15 80 11 72 | 1 31 33 35 73 83 97 36 21 3 26 9 91 23 51 84 82 70 22 20 34 90 98 87 69
Card 175: 73 14 7 11 20 64 30 90 62 23 | 60 53 15 73 63 19 71 92 48 89 80 44 78 79 2 76 45 64 42 35 81 27 10 21 26
Card 176: 32 30 39 10 1 3 67 66 94 62 | 86 95 56 54 58 35 90 19 74 43 5 48 17 2 46 65 97 71 36 31 69 8 47 94 42
Card 177: 24 90 40 47 51 75 63 29 57 10 | 49 68 61 43 30 26 84 59 99 75 44 41 17 24 12 38 90 37 36 35 91 9 89 46 8
Card 178: 73 74 31 76 10 21 70 3 30 41 | 39 14 30 70 79 75 97 44 87 20 92 12 86 56 18 46 8 90 23 98 2 59 28 53 3
Card 179: 78 44 89 84 50 97 55 90 77 99 | 79 1 88 65 2 50 72 68 7 15 85 41 64 93 37 16 53 44 42 48 89 97 59 60 8
Card 180: 55 98 13 45 33 91 88 4 49 37 | 18 44 64 83 56 79 81 26 78 54 72 75 11 70 66 57 73 61 62 34 19 95 93 94 76
Card 181: 94 47 65 55 8 45 1 67 71 25 | 99 34 43 64 36 50 6 51 27 59 37 40 3 98 72 78 38 74 82 46 85 90 48 32 84
Card 182: 78 75 63 31 30 70 84 50 28 19 | 61 18 58 87 77 48 71 50 91 92 60 86 73 94 85 57 97 15 1 25 74 67 11 68 47
Card 183: 94 27 68 41 8 72 48 85 97 49 | 81 35 90 69 76 18 53 1 59 25 88 31 4 93 84 32 9 55 66 50 22 62 43 60 17
Card 184: 40 31 56 54 59 98 93 81 24 44 | 62 42 93 56 99 10 81 59 37 6 41 66 44 72 31 30 20 54 51 24 27 83 40 73 98
Card 185: 38 73 79 48 3 46 99 93 50 24 | 65 34 40 2 20 92 10 32 67 57 22 47 96 11 7 31 87 6 28 95 77 25 58 29 27
Card 186: 47 65 99 98 90 68 13 49 51 10 | 90 82 27 68 84 83 57 50 18 5 49 65 85 10 46 13 21 81 73 51 71 47 98 88 99
Card 187: 25 56 18 15 59 47 20 86 50 83 | 25 57 83 36 56 87 50 34 9 70 4 64 77 45 92 13 20 47 48 15 97 18 86 28 59
Card 188: 99 16 44 2 85 17 71 45 49 11 | 94 13 45 36 77 89 26 6 39 27 84 1 80 21 73 41 33 90 46 72 65 96 34 71 83
Card 189: 34 24 76 68 47 19 85 15 50 46 | 43 67 4 44 14 34 19 61 47 68 50 46 99 94 16 76 15 28 36 27 52 85 88 24 89
Card 190: 56 20 43 86 2 88 87 30 14 4 | 43 14 19 92 3 23 87 74 50 97 2 88 18 80 20 86 36 41 95 27 57 98 49 30 26
Card 191: 47 2 18 84 91 66 24 6 42 56 | 12 93 7 50 42 45 2 91 66 4 32 47 19 56 49 18 15 24 44 84 97 6 16 31 25
Card 192: 42 88 68 56 93 48 9 52 20 70 | 30 93 42 4 68 70 36 56 9 15 88 98 64 67 33 91 20 61 50 27 13 94 52 48 85
Card 193: 46 57 19 40 9 7 47 33 86 11 | 65 54 38 43 82 55 79 51 77 73 74 97 75 96 6 47 62 88 92 18 84 48 41 29 52
Card 194: 58 23 35 79 82 72 44 93 12 43 | 43 60 2 24 77 48 61 25 44 75 35 12 93 51 36 72 6 31 29 50 37 80 19 14 87
Card 195: 15 77 78 50 36 83 68 52 86 26 | 16 72 67 88 14 81 34 24 71 32 91 77 90 1 98 95 7 28 49 84 86 20 44 73 56
Card 196: 25 3 32 15 1 56 27 51 82 81 | 87 79 15 11 98 54 56 88 18 92 69 25 66 27 60 58 44 1 51 3 32 81 12 72 41
Card 197: 3 99 81 8 93 28 76 7 27 48 | 78 98 85 5 93 77 72 62 69 82 50 9 35 74 18 10 33 67 90 31 79 84 58 29 17
Card 198: 26 81 19 24 59 82 8 95 86 17 | 13 22 10 96 19 20 88 3 90 78 24 9 50 34 6 94 7 60 44 76 31 81 26 33 43
Card 199: 77 91 58 16 47 94 23 30 88 5 | 38 66 12 25 95 67 72 89 36 45 63 15 54 98 74 57 32 39 59 28 7 62 82 13 26
Card 200: 82 47 52 12 83 4 26 93 33 9 | 31 30 91 2 6 27 28 1 81 8 75 92 56 57 41 24 72 85 53 74 59 11 66 32 54
Card 201: 4 13 26 57 84 17 63 10 98 56 | 72 85 68 47 44 60 54 34 38 16 8 11 23 84 32 18 69 13 26 35 9 73 43 15 89
Card 202: 11 9 1 42 71 78 97 89 8 10 | 33 17 81 48 60 96 69 37 12 46 73 4 76 54 86 91 28 5 51 98 99 84 13 85 32
Card 203: 37 80 7 87 79 60 6 49 16 12 | 23 34 15 46 38 20 27 45 33 97 37 14 68 83 49 79 43 70 57 60 11 63 24 35 73
Card 204: 84 24 48 76 7 18 77 37 69 5 | 88 39 92 94 34 37 11 40 85 35 2 81 73 58 42 66 83 9 56 12 14 51 62 20 7
Card 205: 5 84 4 6 95 77 59 67 74 35 | 58 47 29 34 79 86 35 89 71 96 27 64 90 48 37 78 1 39 46 21 98 91 43 8 56
Card 206: 56 21 34 13 1 17 99 11 76 60 | 36 24 83 31 50 19 82 32 61 9 98 71 79 39 97 37 29 13 27 10 52 22 41 40 59
Card 207: 62 7 22 90 51 96 12 13 36 52 | 48 37 70 24 73 51 83 3 5 77 29 87 23 18 26 76 19 97 20 86 84 14 63 33 21
Card 208: 40 42 5 91 29 59 70 49 23 94 | 82 81 30 61 64 65 19 9 67 75 92 16 26 52 73 43 55 35 17 93 39 90 74 53 51

33
d05/exemple1.txt Normal file
View File

@ -0,0 +1,33 @@
seeds: 79 14 55 13
seed-to-soil map:
50 98 2
52 50 48
soil-to-fertilizer map:
0 15 37
37 52 2
39 0 15
fertilizer-to-water map:
49 53 8
0 11 42
42 0 7
57 7 4
water-to-light map:
88 18 7
18 25 70
light-to-temperature map:
45 77 23
81 45 19
68 64 13
temperature-to-humidity map:
0 69 1
1 0 69
humidity-to-location map:
60 56 37
56 93 4

22
d05/run.py Normal file
View File

@ -0,0 +1,22 @@
import sys
en=enumerate
L = open(0).read().split('\n\n')
L = [l.split(':') for l in L]
L = [l[1].strip().split('\n') for l in L]
L = [list(map(lambda x: tuple(map(int,x.split())),l)) for l in L]
S = list(v for s in L[0] for v in s)
for i,l in en(L[1:]):
print(i, l)
# map all seads
R = []
for s in S:
ns = None
for dst, src, rg in l:
if src <= s < src+rg:
ns = dst+(s-src)
break
R.append(ns if ns else s)
S = R
print(S)
print(min(S))

34
d05/run1_print.py Normal file
View File

@ -0,0 +1,34 @@
import sys
lmap=100
alma = [ele for ele in sys.stdin.read().splitlines() if ele != ""]
planted = [int(ele) for ele in alma[0].replace("seeds: ", "").split(" ")]
source = list(range(0, lmap))
destin = list(range(0, lmap))
for d in alma:
if "map" not in d and "seeds:" not in d:
r = [int(i) for i in d.split(" ")]
print(r)
print(source)
print(destin)
for n in range(0, r[2]):
destin[r[1] + n] = source[r[0] + n]
print(source)
print(destin)
print("")
print("")
else:
for i in planted:
print(destin[i])
source = list(destin)
destin = list(range(0, lmap))
print(d)
print(destin)
for i in planted:
print(destin[i])
print(min(s) for s in destin)

33
d06/exemple1.txt Normal file
View File

@ -0,0 +1,33 @@
seeds: 79 14 55 13
seed-to-soil map:
50 98 2
52 50 48
soil-to-fertilizer map:
0 15 37
37 52 2
39 0 15
fertilizer-to-water map:
49 53 8
0 11 42
42 0 7
57 7 4
water-to-light map:
88 18 7
18 25 70
light-to-temperature map:
45 77 23
81 45 19
68 64 13
temperature-to-humidity map:
0 69 1
1 0 69
humidity-to-location map:
60 56 37
56 93 4

5
d08/exemple1.txt Normal file
View File

@ -0,0 +1,5 @@
LLR
AAA = (BBB, BBB)
BBB = (AAA, ZZZ)
ZZZ = (ZZZ, ZZZ)

10
d08/exemple2.txt Normal file
View File

@ -0,0 +1,10 @@
LR
11A = (11B, XXX)
11B = (XXX, 11Z)
11Z = (11B, XXX)
22A = (22B, XXX)
22B = (22C, 22C)
22C = (22Z, 22Z)
22Z = (22B, 22B)
XXX = (XXX, XXX)

704
d08/input.txt Normal file
View File

@ -0,0 +1,704 @@
LRRRLRRRLRRLRLRRLRLRRLRRLRLLRRRLRLRLRRRLRRRLRLRLRLLRRLLRRLRRRLLRLRRRLRLRLRRRLLRLRRLRRRLRLRRRLLRLRRLRRRLRRLRRLRLRRLRRRLRLRRRLRRLLRRLRRLRLRRRLRRLRRRLRRRLRLRRLRLRRRLRLRRLRRLRRRLRRRLRRRLLRRLRRRLRLRLRLRRRLRLRLRRLRRRLRRRLRRLRRLLRLRRLLRLRRLRRLLRLLRRRLLRRLLRRLRRLRLRLRRRLLRRLRRRR
DBQ = (RTP, NBX)
NFX = (PXX, PLG)
VBK = (BRV, DKG)
BRS = (HLR, VBX)
DDK = (SPR, TCR)
FTS = (LJB, MDJ)
BLH = (DFM, GGG)
PCC = (GQR, RHD)
QKN = (VVR, GBL)
KHN = (FNB, LLT)
HTD = (NPJ, BTL)
FPL = (BRX, XQD)
RCJ = (QKN, XPD)
XRN = (RMQ, LQB)
HGM = (VPV, SVR)
RFG = (TLM, KPH)
SSG = (QGC, KJV)
LPA = (QQN, GNF)
SVN = (VLM, BDX)
VPF = (TTR, RNQ)
VNK = (DSX, MCZ)
KMS = (XNN, MTB)
RLS = (NHX, CRT)
VRS = (VBX, HLR)
TVK = (MKG, NKB)
CKH = (DFF, XPV)
KBS = (LJC, PRS)
JMT = (FPT, DLX)
LRV = (QCD, RLF)
TMM = (VPF, GKD)
HKH = (PRS, LJC)
GSM = (SVH, KRP)
SLG = (PTL, SNJ)
GVS = (DSN, CKH)
QGC = (HKS, DFP)
RFT = (VVQ, GMF)
FDF = (JKV, JKV)
MRL = (PKS, TKS)
HBN = (BDX, VLM)
CFB = (PPV, QVS)
TFJ = (KGN, JND)
HLB = (PFV, JXR)
RFJ = (SKL, QCN)
PQH = (KGN, JND)
HGR = (FKL, XHR)
CTB = (HNQ, HNQ)
XMN = (CJV, LKQ)
JVX = (FSS, CRC)
SFH = (MXD, RHN)
BRK = (QPL, DJB)
HBX = (DSN, CKH)
RFL = (VXB, FNF)
GXP = (LHR, SMV)
CHK = (NLQ, VCR)
QPG = (HHL, KHB)
VBC = (NFV, FST)
QJF = (JXL, JJC)
XKQ = (PCS, BSH)
SKS = (SNN, QSN)
GJJ = (VVG, XPR)
DJP = (SJM, DNR)
DQF = (MHG, BKZ)
MSB = (BRX, XQD)
PQR = (TLL, RVS)
XGB = (RMT, HGF)
HBD = (PFD, FDN)
NSN = (RFJ, NJT)
SNJ = (MVG, DBQ)
NMV = (SKG, TDJ)
PTN = (TNR, SSG)
SBG = (CVH, LMJ)
RDT = (SVQ, JTT)
MRC = (BKF, QMJ)
JKV = (CTB, CTB)
CTX = (QHL, BDV)
SQM = (DNR, SJM)
MVG = (RTP, NBX)
KKJ = (TQP, PST)
QKX = (BRD, SFT)
VFV = (NTL, VMQ)
LXK = (SSL, MFR)
HDH = (VPS, MJH)
RTP = (CGJ, XJC)
BXQ = (FLN, FLN)
GKD = (TTR, RNQ)
GPP = (SNN, QSN)
GDQ = (JLS, TND)
LTF = (GXP, TVB)
GVB = (LSV, FRL)
JCF = (HGR, GMX)
VCR = (JTR, MCM)
XJC = (DGP, XML)
XKA = (SFC, CHQ)
LJL = (VPX, PMS)
CPH = (PCQ, QKX)
VPV = (TFP, NJN)
TDJ = (PRV, DBK)
JGQ = (TPX, NMV)
LJS = (GDQ, QPV)
VHN = (CBJ, PFQ)
JHT = (XHM, NRK)
ZZZ = (HJS, LRV)
KJV = (HKS, DFP)
HNT = (XXT, KJT)
RHD = (KQH, TMD)
JKG = (HXJ, MGF)
SPL = (TTB, STB)
MBD = (CQK, NHH)
TPX = (TDJ, SKG)
HRC = (LBB, JLR)
QHN = (JHT, THC)
SPM = (DDG, MBK)
MFG = (JBD, GSM)
MHR = (PTN, HVB)
RLF = (GMG, TDQ)
XBQ = (KKN, QTN)
GLB = (DHS, SXC)
PRV = (PGC, NSK)
SJD = (BXQ, GHF)
THC = (XHM, NRK)
GBL = (GGR, HTK)
MDK = (JXX, DBD)
NJT = (QCN, SKL)
LLG = (KBL, LXK)
RVS = (DDB, QRV)
LHR = (LPL, TGJ)
TBD = (NNB, CQH)
DSN = (DFF, XPV)
QQN = (HRV, PTT)
XPP = (GSJ, RDT)
CBJ = (JQL, RBX)
RBX = (CNV, NKQ)
DDG = (NBS, KTV)
XNN = (TMC, GCG)
DSX = (CGR, SGM)
DFB = (RCJ, KJK)
XTG = (RFG, XSD)
PKQ = (DBD, JXX)
XPD = (GBL, VVR)
FFC = (JLR, LBB)
GMG = (KFH, PTP)
QHJ = (SHM, FKM)
MXD = (XGB, LTX)
SGM = (FTS, GXX)
LTX = (RMT, HGF)
RNQ = (SPL, DKH)
NHF = (VXC, HRS)
KFR = (JXR, PFV)
NRP = (XNN, MTB)
VDR = (LDL, JCP)
FSS = (KXJ, GKL)
QVS = (MKN, BLH)
SNN = (SBM, PNH)
VXB = (LLG, BHP)
BPK = (QVS, PPV)
SMV = (TGJ, LPL)
CXF = (XKV, PVR)
PGC = (NBJ, KCK)
VLG = (DDG, MBK)
FKL = (HFC, XPP)
KFC = (XNM, CNR)
FCC = (BRK, GLT)
HQC = (JKV, JHQ)
QQV = (CPG, HQD)
VVG = (XGJ, XGJ)
SVK = (HVH, HNJ)
XQT = (LQX, HNT)
JDB = (PXM, THR)
JHR = (XRF, DHN)
HRS = (TFJ, PQH)
SVQ = (XHX, QNG)
KGN = (FCV, SBH)
GJX = (MFG, LMS)
NBJ = (GVB, RMS)
VQJ = (JPB, PDF)
TKX = (JMT, LGM)
FLL = (GTX, HKP)
MFT = (FKM, SHM)
JCP = (SSP, VMD)
LPC = (KCD, JDB)
XHR = (XPP, HFC)
FKM = (DLL, XBQ)
MGF = (NFX, MQS)
JXJ = (MMP, CBT)
DFP = (TGM, RHV)
SSM = (NTC, TMT)
DLX = (PXF, SBG)
NNB = (TNT, MMF)
QNG = (RHP, QBT)
FLR = (CJK, QRL)
RCP = (KKG, NTD)
GJV = (SLG, DGN)
FDN = (TBR, QDT)
JTG = (RFT, PRC)
LGM = (DLX, FPT)
QDT = (CXV, SGD)
HKP = (BLB, PCL)
GXB = (MNH, GXT)
QDS = (LTF, FDX)
LMJ = (GJV, HVV)
TDQ = (PTP, KFH)
SGD = (HTT, PNR)
XPV = (BPM, CPH)
PTP = (MKL, KSP)
DKG = (DKK, KNQ)
QCN = (XTD, GQM)
LSV = (GDK, VVD)
MLG = (RLS, RKG)
GMX = (FKL, XHR)
QSN = (PNH, SBM)
CHQ = (KSB, CXF)
RHN = (LTX, XGB)
LVX = (JSF, MLT)
XHM = (FLR, QVK)
NCJ = (CPG, HQD)
MQV = (HBD, LDK)
VVD = (QBV, FKF)
QCD = (GMG, TDQ)
GTH = (DLJ, DQF)
KFH = (KSP, MKL)
NFC = (PKQ, MDK)
NCD = (FNB, LLT)
MKG = (HNS, DDK)
BTV = (KBS, HKH)
QGL = (QTF, CVS)
DDB = (DVF, HXV)
PXF = (CVH, LMJ)
NFV = (XMN, BQR)
DGN = (SNJ, PTL)
HHL = (PHC, QQJ)
XPR = (XGJ, LVQ)
PCQ = (BRD, SFT)
MMT = (RDS, SRS)
DMR = (GJM, BQS)
QPL = (XNQ, CMN)
PDF = (JBH, CTX)
CVR = (STX, MBQ)
LPL = (SFL, PHQ)
FXX = (PNX, PQL)
KLS = (NHG, CHF)
NHX = (TMN, JLJ)
NND = (QHN, XBR)
JTT = (QNG, XHX)
LML = (FDX, LTF)
PCS = (LKV, LXX)
SRV = (KCD, JDB)
NSK = (NBJ, KCK)
MRF = (NKP, JKG)
VPX = (NSN, SMB)
GFT = (FPL, MSB)
DFM = (XKQ, PPQ)
PPQ = (PCS, BSH)
JJC = (JHR, RQG)
JBH = (BDV, QHL)
KNQ = (KNP, MRL)
TBS = (NTD, KKG)
JXL = (RQG, JHR)
GKL = (MJC, QBM)
BQR = (LKQ, CJV)
DGP = (VNT, JRB)
DKR = (VBJ, GVF)
JXN = (BXD, XLT)
TVG = (HGR, GMX)
XSD = (TLM, KPH)
RMT = (GXB, DPT)
FRL = (VVD, GDK)
PNX = (NCD, KHN)
VGK = (CNR, XNM)
MQB = (KSF, LJS)
KDC = (MSB, FPL)
GCD = (CXS, PCC)
XML = (VNT, JRB)
TBL = (GCV, HDH)
BRV = (DKK, KNQ)
JKS = (XXB, ZZZ)
TMC = (MDQ, QJF)
TNT = (NQJ, SSM)
FLF = (XSD, RFG)
JRB = (FDF, HQC)
PTL = (DBQ, MVG)
BGQ = (KFR, HLB)
XTD = (VRS, BRS)
QXX = (SJD, CSH)
FRX = (BQS, GJM)
PQL = (NCD, KHN)
LKV = (PNK, DKR)
HQS = (VVG, XPR)
VPQ = (NTL, VMQ)
THR = (CBV, CVR)
FST = (BQR, XMN)
DMD = (CVS, QTF)
HXV = (RCP, TBS)
STM = (RFX, BFR)
JTR = (JTL, JXN)
FLG = (PFQ, CBJ)
CKM = (KFB, HTP)
NCT = (KJK, RCJ)
DKH = (STB, TTB)
QGA = (CGR, SGM)
XNQ = (HJM, MLG)
RGF = (LFN, FGC)
QBV = (VPJ, RMN)
QKJ = (KFC, VGK)
CSB = (FDL, FDL)
HFK = (DHS, SXC)
SVP = (NPJ, BTL)
GGR = (XTG, FLF)
XKV = (NDH, JXJ)
BMR = (FRX, DMR)
VVQ = (BFN, TVK)
HJM = (RKG, RLS)
RLK = (PDF, JPB)
DCX = (HNQ, BRZ)
TBG = (RTL, SML)
RMS = (FRL, LSV)
FCV = (STM, HTC)
SPR = (TBL, JGG)
BHP = (LXK, KBL)
NPJ = (XLV, PQR)
NKF = (TBD, DKP)
PDK = (JTK, JTK)
PFQ = (RBX, JQL)
LBB = (SVP, HTD)
GTX = (BLB, PCL)
SBH = (HTC, STM)
BFR = (RJN, BTN)
TCR = (TBL, JGG)
MQS = (PXX, PLG)
FRG = (XXB, XXB)
STX = (XQL, HGM)
HNJ = (HBN, SVN)
SSL = (RDL, NST)
HJS = (QCD, RLF)
KBL = (SSL, MFR)
CXS = (RHD, GQR)
DFD = (NFP, FCC)
VBJ = (HFK, GLB)
DKP = (NNB, CQH)
QSK = (TKX, CQT)
BNV = (JTK, GTH)
NBH = (LVX, GQB)
QBM = (VNC, VPK)
DBD = (HHR, RVQ)
DFF = (BPM, CPH)
LQX = (KJT, XXT)
FGC = (QKQ, QSK)
PXM = (CBV, CVR)
JHQ = (CTB, DCX)
NJN = (BGQ, FBP)
TLL = (DDB, QRV)
XSN = (THS, KJQ)
KXJ = (QBM, MJC)
GSC = (TQG, QXX)
QJP = (PQL, PNX)
PHH = (MXD, RHN)
SSC = (NQX, FCH)
XDF = (NLQ, VCR)
BRD = (MQV, FRQ)
AAA = (LRV, HJS)
PTT = (FFC, HRC)
VKF = (BFG, TGQ)
HHA = (FLG, VHN)
CNR = (TQX, VDV)
TGM = (FLL, TNV)
GLT = (DJB, QPL)
MBK = (NBS, KTV)
JPB = (JBH, CTX)
RHP = (SQM, DJP)
CHF = (CLQ, JGQ)
FTL = (PRC, RFT)
SKL = (XTD, GQM)
RBN = (SPM, VLG)
HGF = (GXB, DPT)
BQS = (NSP, BTV)
XHX = (RHP, QBT)
CGR = (GXX, FTS)
BLB = (QJP, FXX)
CRT = (JLJ, TMN)
PLG = (SLC, PDD)
HRV = (FFC, HRC)
MCM = (JXN, JTL)
JGH = (MFG, LMS)
NSP = (KBS, HKH)
MFR = (NST, RDL)
GMF = (TVK, BFN)
SML = (LJL, XFP)
MPL = (RDS, SRS)
QHP = (SPM, VLG)
FCH = (GDC, XRN)
NRQ = (FTL, JTG)
HMB = (CRC, FSS)
KPH = (BNH, SLK)
SRS = (MQB, GCN)
RQM = (TGQ, BFG)
FLN = (CSB, CSB)
BSH = (LKV, LXX)
CRC = (KXJ, GKL)
CJV = (XDF, CHK)
CGJ = (DGP, XML)
SFL = (GJJ, HQS)
PMR = (VPF, GKD)
QTN = (MMT, MPL)
KJQ = (RLK, VQJ)
PBJ = (LFN, FGC)
BTL = (PQR, XLV)
SBX = (KFC, VGK)
QQJ = (PDK, BNV)
BRZ = (GNF, QQN)
JTL = (XLT, BXD)
SKG = (PRV, DBK)
RQG = (DHN, XRF)
DRC = (SFC, CHQ)
TJQ = (NQX, FCH)
PKS = (TMM, PMR)
TRP = (GVD, FBL)
LKQ = (XDF, CHK)
RTL = (XFP, LJL)
PPV = (MKN, BLH)
MTB = (GCG, TMC)
FPT = (PXF, SBG)
LDK = (FDN, PFD)
TND = (PPX, SVK)
VPK = (NHF, JDX)
HTP = (NKF, RPV)
PMS = (SMB, NSN)
GGG = (XKQ, PPQ)
DLL = (KKN, QTN)
JXX = (HHR, RVQ)
KSF = (QPV, GDQ)
XQD = (FGK, BNJ)
RJF = (CSB, KTM)
GCN = (KSF, LJS)
JKP = (LML, QDS)
XFP = (VPX, PMS)
DPT = (GXT, MNH)
DKK = (KNP, MRL)
NKB = (DDK, HNS)
CJK = (GSC, GBQ)
NLM = (LDL, JCP)
VMD = (DFD, XFM)
NBX = (XJC, CGJ)
PRS = (NLM, VDR)
RMQ = (FRG, FRG)
XNM = (TQX, VDV)
LJC = (VDR, NLM)
PHQ = (GJJ, HQS)
KXN = (KHB, HHL)
BXD = (CKM, XVL)
KFB = (NKF, RPV)
NFS = (PRL, RFL)
RJN = (SFV, RRG)
GQM = (VRS, BRS)
KQH = (VBC, BSJ)
DNR = (BMR, LJQ)
HHR = (LPC, SRV)
DLJ = (MHG, MHG)
SMB = (RFJ, NJT)
RHV = (FLL, TNV)
NTD = (HBX, GVS)
VNT = (FDF, HQC)
PRC = (GMF, VVQ)
FBP = (HLB, KFR)
KTM = (FDL, LRZ)
TQP = (QGL, DMD)
SBM = (QPG, KXN)
QVK = (CJK, QRL)
XRF = (RGF, PBJ)
NDH = (CBT, MMP)
GVL = (RTL, SML)
LRZ = (VHN, FLG)
CQH = (MMF, TNT)
SLK = (TJQ, SSC)
QBT = (SQM, DJP)
FNF = (LLG, BHP)
STB = (KMS, NRP)
HVV = (SLG, DGN)
RFX = (BTN, RJN)
MKL = (GVM, LVP)
VDV = (BPK, CFB)
CBT = (GJX, JGH)
PPX = (HVH, HNJ)
NQJ = (TMT, NTC)
MJH = (MHP, XQT)
LTA = (KLS, BFV)
CSH = (BXQ, GHF)
HTK = (XTG, FLF)
VNC = (JDX, NHF)
BFG = (MRC, NKK)
KKG = (GVS, HBX)
PNK = (GVF, VBJ)
XXB = (LRV, HJS)
DVF = (TBS, RCP)
PNR = (NCJ, QQV)
QKQ = (CQT, TKX)
TTR = (SPL, DKH)
BTN = (RRG, SFV)
VLM = (PHH, SFH)
TQG = (SJD, CSH)
MHP = (LQX, HNT)
NQX = (GDC, XRN)
TQX = (BPK, CFB)
TVB = (LHR, SMV)
MBQ = (XQL, HGM)
HXJ = (MQS, NFX)
DHN = (PBJ, RGF)
BFN = (MKG, NKB)
PVR = (JXJ, NDH)
QRL = (GBQ, GSC)
GJM = (NSP, BTV)
KQV = (NHH, CQK)
KNP = (TKS, PKS)
PDD = (FND, JKP)
GXT = (VKF, RQM)
XDC = (FTL, JTG)
MMF = (SSM, NQJ)
BFV = (CHF, NHG)
DHS = (PHX, PHX)
VXC = (PQH, TFJ)
XLV = (TLL, RVS)
PXX = (SLC, PDD)
GVD = (DRC, DRC)
THS = (VQJ, RLK)
DBK = (PGC, NSK)
KHB = (PHC, QQJ)
TKS = (PMR, TMM)
SVR = (NJN, TFP)
HNQ = (QQN, GNF)
MKN = (GGG, DFM)
KRP = (NFM, NFC)
SHM = (XBQ, DLL)
NTL = (NCT, DFB)
NRK = (QVK, FLR)
HXL = (DSX, DSX)
KSB = (XKV, PVR)
NKK = (BKF, QMJ)
MHG = (KLS, BFV)
PNP = (XBR, QHN)
CLQ = (TPX, NMV)
RSG = (XDC, NRQ)
BPM = (PCQ, QKX)
PHC = (PDK, BNV)
TNR = (KJV, QGC)
XQL = (VPV, SVR)
MHV = (QTS, RSG)
XBR = (THC, JHT)
BDX = (PHH, SFH)
TBR = (CXV, SGD)
RVQ = (SRV, LPC)
NFM = (PKQ, MDK)
FBL = (DRC, QSZ)
TLM = (BNH, SLK)
NHH = (SKS, GPP)
FKF = (RMN, VPJ)
XVL = (HTP, KFB)
NHG = (CLQ, JGQ)
FGK = (NBH, KBX)
VMQ = (DFB, NCT)
LXX = (DKR, PNK)
SMJ = (QGB, NFS)
LVP = (KDC, GFT)
QGB = (PRL, RFL)
BRX = (BNJ, FGK)
BDV = (MRF, RXX)
SJM = (BMR, LJQ)
GBQ = (TQG, QXX)
JXR = (XJT, CVX)
TMN = (XSN, PQM)
CQT = (LGM, JMT)
CPG = (QHP, RBN)
BKZ = (BFV, KLS)
VVR = (HTK, GGR)
XFM = (NFP, FCC)
CVH = (GJV, HVV)
VPS = (XQT, MHP)
MDJ = (QHJ, MFT)
SNF = (QTS, RSG)
NKQ = (HMB, JVX)
PRL = (FNF, VXB)
CMN = (MLG, HJM)
JQL = (NKQ, CNV)
QSZ = (CHQ, SFC)
HLR = (MHV, SNF)
RDL = (TBG, GVL)
GVM = (KDC, GFT)
KTV = (CKK, VBK)
SLC = (JKP, FND)
QHL = (MRF, RXX)
KKN = (MPL, MMT)
TNV = (HKP, GTX)
QMJ = (TVG, JCF)
BSJ = (NFV, FST)
BNJ = (NBH, KBX)
XXQ = (GCD, CMQ)
TGQ = (NKK, MRC)
SVH = (NFC, NFM)
LQB = (FRG, JKS)
GNF = (HRV, PTT)
PFV = (CVX, XJT)
JTK = (DLJ, DLJ)
KSP = (LVP, GVM)
PFD = (TBR, QDT)
MLT = (KSQ, KKJ)
GVF = (HFK, GLB)
JLS = (PPX, SVK)
TBK = (CMQ, GCD)
LJB = (QHJ, MFT)
KSQ = (PST, TQP)
SXC = (PHX, TRP)
TTB = (NRP, KMS)
VBX = (MHV, SNF)
CXV = (PNR, HTT)
XCT = (NFS, QGB)
JBD = (KRP, SVH)
JDX = (HRS, VXC)
BNH = (TJQ, SSC)
HQD = (RBN, QHP)
RXX = (NKP, JKG)
NTC = (NND, PNP)
QTF = (TVQ, MHR)
JND = (FCV, SBH)
RDS = (MQB, GCN)
FDL = (FLG, VHN)
TGJ = (SFL, PHQ)
KBX = (GQB, LVX)
GQR = (TMD, KQH)
LMS = (JBD, GSM)
VPJ = (SMJ, XCT)
LVQ = (HXL, VNK)
GDK = (QBV, FKF)
KCD = (PXM, THR)
JGG = (GCV, HDH)
NFP = (BRK, GLT)
SFV = (TBK, XXQ)
KJK = (QKN, XPD)
CVX = (SBX, QKJ)
GCG = (QJF, MDQ)
FNB = (VFV, VPQ)
CBV = (STX, MBQ)
PNH = (QPG, KXN)
HFC = (GSJ, RDT)
GHF = (FLN, RJF)
CKK = (BRV, DKG)
LFN = (QKQ, QSK)
MNH = (VKF, RQM)
MMP = (GJX, JGH)
HVB = (SSG, TNR)
TMD = (BSJ, VBC)
QTS = (NRQ, XDC)
TVQ = (PTN, HVB)
HTT = (QQV, NCJ)
PQM = (KJQ, THS)
XJT = (QKJ, SBX)
PST = (QGL, DMD)
XXT = (MBD, KQV)
PCL = (QJP, FXX)
MJC = (VPK, VNC)
QPV = (JLS, TND)
JLJ = (PQM, XSN)
BKF = (TVG, JCF)
SFT = (FRQ, MQV)
XGJ = (HXL, HXL)
JSF = (KKJ, KSQ)
RMN = (XCT, SMJ)
RPV = (TBD, DKP)
XLT = (CKM, XVL)
DJB = (CMN, XNQ)
KCK = (GVB, RMS)
LLT = (VFV, VPQ)
CVS = (MHR, TVQ)
NBS = (VBK, CKK)
LJQ = (DMR, FRX)
HKS = (TGM, RHV)
HTC = (BFR, RFX)
LDL = (VMD, SSP)
QRV = (HXV, DVF)
NST = (TBG, GVL)
GQB = (JSF, MLT)
KJT = (MBD, KQV)
GSJ = (SVQ, JTT)
FDX = (TVB, GXP)
SSP = (XFM, DFD)
FRQ = (LDK, HBD)
JLR = (HTD, SVP)
HNS = (SPR, TCR)
MCZ = (SGM, CGR)
GCV = (VPS, MJH)
MDQ = (JJC, JXL)
RKG = (NHX, CRT)
TMT = (NND, PNP)
SFC = (KSB, CXF)
CQK = (SKS, GPP)
FND = (LML, QDS)
HVH = (HBN, SVN)
CNV = (HMB, JVX)
CMQ = (CXS, PCC)
NLQ = (JTR, MCM)
GDC = (RMQ, RMQ)
PHX = (GVD, GVD)
NKP = (HXJ, MGF)
RRG = (XXQ, TBK)
TFP = (BGQ, FBP)
GXX = (LJB, MDJ)

26
d08/run1.py Normal file
View File

@ -0,0 +1,26 @@
import sys
from itertools import cycle
L = sys.stdin.read().splitlines()
N = L[2:]
M = []
for x in N:
(a, b) = x.split(" = ")
c = b.split(", ")
M.append( (a, c[0].replace("(", ""), c[1].replace(")", "")) )
S = 0
tri = "AAA"
for i in cycle(L[0]) :
for a, b, c in M:
if a == tri:
#print(a, b, c)
tri = b if i == "L" else c
break
S+=1
if tri == "ZZZ" : break
print(S)

41
d08/run2.py Normal file
View File

@ -0,0 +1,41 @@
import sys
from itertools import cycle
L = sys.stdin.read().splitlines()
N = L[2:]
M = []
for x in N:
(a, b) = x.split(" = ")
c = b.split(", ")
M.append( (a, c[0].replace("(", ""), c[1].replace(")", "")) )
S = 0
tri = []
for a, b, c in M:
for d, e, f in a.split():
if f == "A" : tri.append(a)
#print(tri)
for i in cycle(L[0]) :
for idx, t in enumerate(tri):
for a, b, c in M:
if a == t:
#print(t, a, b, c)
tri[idx] = b if i == "L" else c
break
S+=1
#print(tri)
fin = True
for a in tri:
for d, e, f in a.split():
#print(a, f)
if f == "Z":
fin = True and fin
else:
fin = False
if fin: break
print(S)

200
d09/input.txt Normal file
View File

@ -0,0 +1,200 @@
12 20 25 35 64 137 305 670 1420 2874 5537 10165 17840 30055 48809 76712 117100 174160 253065 360119 502912
4 13 35 72 138 283 626 1388 2906 5608 9961 16503 26276 42338 73621 143357 305888 678423 1499107 3231106 6746590
-6 -9 -13 -18 -24 -31 -39 -48 -58 -69 -81 -94 -108 -123 -139 -156 -174 -193 -213 -234 -256
18 36 73 131 225 404 773 1526 3020 5945 11675 22920 44839 86819 165175 307081 556102 979762 1679653 2804665 4567997
17 31 46 67 109 199 385 775 1650 3729 8722 20406 46627 102917 218904 449526 894459 1731467 3273058 6061549 11026301
2 6 26 71 146 246 345 385 290 59 36 1541 8237 29022 84081 217384 522055 1190948 2615907 5580283 11629317
12 21 26 32 65 187 511 1216 2562 4905 8712 14576 23231 35567 52645 75712 106216 145821 196422 260160 339437
19 40 72 106 141 209 426 1095 2907 7321 17258 38315 80781 162797 315036 587344 1058110 1848293 3145159 5247819 8660620
13 13 23 70 203 501 1092 2208 4327 8488 16904 34050 68520 136271 266715 515104 988950 1904948 3709702 7328655 14662978
24 39 54 69 84 99 114 129 144 159 174 189 204 219 234 249 264 279 294 309 324
7 23 56 125 258 487 856 1466 2597 4971 10261 22027 47409 100206 206569 415728 820556 1597628 3086552 5949705 11498367
3 4 13 37 81 153 291 637 1607 4241 10866 26285 59856 129126 266300 530120 1028523 1963486 3722239 7065077 13510923
14 24 57 142 319 639 1167 1988 3216 5006 7569 11190 16249 23245 32823 45804 63218 86340 116729 156270 207219
0 3 18 73 223 574 1330 2878 5932 11776 22703 42884 80178 149892 282329 537277 1030620 1981333 3791768 7181107 13402261
1 2 7 22 71 206 514 1121 2193 3934 6581 10396 15655 22634 31592 42751 56273 72234 90595 111170 133591
10 23 53 118 259 555 1140 2226 4144 7426 12968 22337 38311 65782 113288 195931 341930 608937 1125228 2190007 4505341
8 24 59 130 257 463 774 1219 1830 2642 3693 5024 6679 8705 11152 14073 17524 21564 26255 31662 37853
-5 -1 24 79 168 290 439 604 769 913 1010 1029 934 684 233 -470 -1481 -2861 -4676 -6997 -9900
15 30 63 114 187 312 590 1276 2932 6720 14984 32418 68369 141221 286394 570321 1113889 2130302 3984201 7281214 12999963
14 33 65 120 219 398 725 1342 2547 4946 9746 19341 38473 76428 150937 294658 565256 1060083 1936163 3435442 5913859
13 23 49 105 201 338 503 664 765 721 413 -317 -1671 -3900 -7309 -12262 -19187 -28581 -41015 -57139 -77687
17 32 46 59 69 68 32 -100 -463 -1324 -3166 -6803 -13531 -25320 -45052 -76810 -126223 -200872 -310762 -468865 -691739
14 17 25 48 110 259 586 1269 2665 5480 11054 21805 41883 78092 141145 247324 420624 695467 1120079 1760630 2706244
14 8 9 30 85 189 358 609 960 1430 2039 2808 3759 4915 6300 7939 9858 12084 14645 17570 20889
16 43 85 156 281 496 848 1395 2206 3361 4951 7078 9855 13406 17866 23381 30108 38215 47881 59296 72661
19 44 91 172 296 466 677 924 1251 1918 3844 9613 25529 65528 158335 360406 779575 1619184 3262021 6431310 12498130
0 4 12 44 135 335 709 1337 2314 3750 5770 8514 12137 16809 22715 30055 39044 49912 62904 78280 96315
16 24 46 91 161 248 338 441 691 1595 4568 13006 34383 84308 194283 426251 899158 1835982 3644382 7050745 13316497
7 29 70 137 240 394 619 949 1478 2503 4891 10937 26256 63759 151635 348678 772493 1649381 3399400 6776661 13093860
4 4 5 13 34 74 139 235 368 544 769 1049 1390 1798 2279 2839 3484 4220 5053 5989 7034
4 -4 -7 8 59 169 365 671 1095 1624 2264 3194 5144 10157 22954 53189 118958 252012 505219 962924 1754969
26 42 74 139 263 487 877 1543 2672 4587 7863 13560 23658 41777 74239 131622 231718 407726 733983 1402568 2931267
11 33 70 131 245 486 1027 2238 4843 10151 20376 39061 71621 126020 213597 350056 556635 861469 1301162 1922583 2784901
23 36 60 110 212 411 788 1488 2763 5049 9135 16554 30434 57184 109535 211570 406399 766978 1410118 2512830 4328616
9 21 53 112 202 321 466 654 967 1629 3123 6356 12880 25177 47016 83890 143541 236581 377217 584088 881222
1 12 44 109 239 501 1018 1996 3753 6743 11566 18954 29723 44682 64492 89471 119345 152950 187896 220211 243991
5 8 15 37 102 271 668 1537 3347 6972 13982 27113 51102 94431 173443 322385 617316 1230502 2548499 5417988 11639807
22 32 42 52 62 72 82 92 102 112 122 132 142 152 162 172 182 192 202 212 222
26 52 91 142 204 276 357 446 542 644 751 862 976 1092 1209 1326 1442 1556 1667 1774 1876
24 49 87 138 202 279 369 472 588 717 859 1014 1182 1363 1557 1764 1984 2217 2463 2722 2994
9 19 42 78 127 189 264 352 453 567 694 834 987 1153 1332 1524 1729 1947 2178 2422 2679
-3 -2 3 24 99 302 758 1676 3415 6612 12449 23248 43805 84286 166263 334878 682850 1397511 2853324 5795757 11710724
4 16 41 95 214 468 975 1915 3544 6208 10357 16559 25514 38068 55227 78171 108268 147088 196417 258271 334910
11 15 29 64 141 299 617 1259 2547 5059 9732 17919 31299 51465 78912 111010 138371 138799 67743 -156150 -672167
5 1 3 18 62 174 431 964 1975 3755 6703 11346 18360 28592 43083 63092 90121 125941 172619 232546 308466
26 51 99 184 339 632 1182 2174 3872 6638 10991 17798 28811 48009 84666 159878 319614 659405 1368755 2807428 5631043
15 31 66 141 300 634 1325 2728 5517 10935 21220 40345 75348 138842 254046 465448 862165 1629328 3158970 6281548 12730658
15 25 35 45 55 65 75 85 95 105 115 125 135 145 155 165 175 185 195 205 215
13 28 56 103 181 308 508 811 1253 1876 2728 3863 5341 7228 9596 12523 16093 20396 25528 31591 38693
6 14 37 87 177 324 552 895 1400 2130 3167 4615 6603 9288 12858 17535 23578 31286 41001 53111 68053
7 8 24 73 191 441 920 1764 3151 5302 8480 12987 19159 27359 37968 51374 67959 88084 112072 140189 172623
-2 -2 12 49 123 269 565 1156 2284 4356 8142 15299 29577 59291 121951 252342 515850 1029450 1993520 3738533 6791719
4 18 57 143 320 671 1342 2569 4699 8191 13578 21366 31841 44750 58817 71050 75790 63448 18871 -80727 -268338
20 38 71 128 214 335 513 809 1360 2467 4852 10383 23936 57774 141126 339947 795762 1798994 3922635 8258484 16823056
8 23 43 72 128 263 609 1478 3558 8273 18421 39274 80432 158922 304459 568717 1042388 1887535 3399479 6123936 11073736
-2 11 49 137 313 643 1251 2364 4372 7903 13913 23791 39479 63607 99643 152058 226506 330019 471217 660533 910453
20 31 52 97 178 300 456 622 752 773 580 31 -1058 -2918 -5832 -10140 -16244 -24613 -35788 -50387 -69110
-5 3 17 38 76 154 313 628 1253 2518 5099 10262 20122 37721 66459 107930 156415 187029 132637 -158066 -992728
8 8 4 -5 -7 36 201 617 1478 3056 5714 9919 16255 25436 38319 55917 79412 110168 149744 199907 262645
10 31 59 95 157 308 702 1659 3795 8256 17136 34198 66064 124095 227245 406244 709544 1211549 2023745 3309449 5303007
25 52 96 157 230 305 367 396 367 250 10 -393 -1004 -1873 -3055 -4610 -6603 -9104 -12188 -15935 -20430
18 37 77 154 307 616 1230 2412 4621 8671 16030 29344 53288 95854 170181 297010 507804 848505 1383803 2201662 3417681
9 20 38 68 119 223 484 1169 2848 6589 14224 28739 54945 100848 180737 322294 582607 1082858 2080310 4111590 8267015
16 18 33 83 206 461 946 1857 3630 7218 14557 29273 57696 110321 204066 366139 641204 1105050 1890401 3234215 5561242
14 39 80 138 211 310 503 1012 2395 5849 13675 29974 61745 120819 227613 418689 761752 1384239 2525270 4625678 8477307
19 45 82 127 174 220 274 368 586 1153 2671 6688 17013 42674 104354 247812 570611 1273115 2752498 5772143 11763838
28 38 42 49 77 148 287 540 1031 2078 4381 9279 19046 37156 68392 118602 193814 298310 431124 580269 713811
11 21 27 29 29 29 33 66 233 867 2865 8396 22316 54917 127224 281225 599691 1244513 2530267 5063511 10002115
12 24 40 58 72 67 23 -54 -55 377 2098 6907 18400 43773 97860 212323 456296 981519 2117896 4569227 9801250
24 32 39 42 29 -11 -65 -47 306 1640 5357 14241 33467 72245 146671 285119 539198 1006862 1881469 3554582 6826371
0 10 24 38 55 91 181 385 794 1536 2782 4752 7721 12025 18067 26323 37348 51782 70356 93898 123339
10 8 6 4 2 0 -2 -4 -6 -8 -10 -12 -14 -16 -18 -20 -22 -24 -26 -28 -30
23 36 57 99 187 369 743 1519 3140 6491 13242 26420 51424 97971 184086 344653 650095 1247110 2446146 4905196 10007393
6 3 1 0 0 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63
27 44 63 84 107 132 159 188 219 252 287 324 363 404 447 492 539 588 639 692 747
-1 -7 1 47 173 448 984 1975 3790 7182 13743 26886 53965 110835 231521 488214 1031309 2166751 4500097 9195505 18426041
5 17 35 67 143 330 753 1622 3265 6167 11015 18749 30619 48248 73701 109560 159005 225901 314891 431495 582215
-6 -2 7 21 40 64 93 127 166 210 259 313 372 436 505 579 658 742 831 925 1024
5 0 -4 -3 7 30 70 131 217 332 480 665 891 1162 1482 1855 2285 2776 3332 3957 4655
-2 9 35 94 215 440 844 1582 2973 5640 10750 20449 38679 72726 136138 254178 473924 882791 1642073 3046724 5629899
10 14 30 70 158 349 763 1655 3561 7584 15905 32613 64946 125058 232597 419003 736198 1276697 2222168 3959477 7350468
26 35 42 44 33 -4 -85 -233 -476 -847 -1384 -2130 -3133 -4446 -6127 -8239 -10850 -14033 -17866 -22432 -27819
8 4 13 52 139 289 508 786 1087 1337 1434 1368 1675 4707 17679 59383 174380 462612 1141265 2674334 6042821
10 23 36 49 62 75 88 101 114 127 140 153 166 179 192 205 218 231 244 257 270
5 7 9 13 27 82 254 695 1695 3828 8282 17539 36659 75535 152627 300855 576537 1072501 1936783 3398649 5804051
4 12 35 82 161 278 436 634 866 1120 1377 1610 1783 1850 1754 1426 784 -268 -1841 -4062 -7075
-6 -8 -10 -12 -14 -16 -18 -20 -22 -24 -26 -28 -30 -32 -34 -36 -38 -40 -42 -44 -46
13 22 42 92 218 505 1089 2169 4019 7000 11572 18306 27896 41171 59107 82839 113673 153098 202798 264664 340806
16 13 21 55 130 261 463 751 1140 1645 2281 3063 4006 5125 6435 7951 9688 11661 13885 16375 19146
18 27 47 88 160 273 437 662 958 1335 1803 2372 3052 3853 4785 5858 7082 8467 10023 11760 13688
7 6 17 58 155 342 661 1162 1903 2950 4377 6266 8707 11798 15645 20362 26071 32902 40993 50490 61547
11 13 24 50 109 246 543 1125 2175 3985 7097 12658 23281 45058 92042 195689 423683 915597 1947414 4043610 8164997
6 0 5 31 87 200 455 1071 2540 5886 13167 28475 59942 123730 251825 506902 1009910 1989788 3870441 7418499 13987325
-2 8 27 55 92 138 193 257 330 412 503 603 712 830 957 1093 1238 1392 1555 1727 1908
13 22 31 40 49 58 67 76 85 94 103 112 121 130 139 148 157 166 175 184 193
14 35 68 128 246 470 871 1568 2805 5143 9869 19770 40471 82590 165018 319686 598232 1081027 1889058 3199196 5263396
15 24 35 58 111 227 481 1046 2297 5016 10835 23231 49728 106580 228292 486215 1023782 2122091 4321254 8645623 17024708
12 19 40 83 160 292 519 913 1602 2837 5172 9879 19786 40806 84519 172277 341424 654359 1211320 2167931 3758732
18 36 68 124 214 348 536 788 1114 1524 2028 2636 3358 4204 5184 6308 7586 9028 10644 12444 14438
12 20 33 45 47 24 -54 -236 -556 -887 -527 2807 15236 51518 144801 365619 857408 1900374 4022237 8183901 16081297
11 22 33 49 89 203 511 1293 3174 7478 16893 36733 77363 158858 319822 633666 1237753 2383938 4523501 8445701 15497657
11 27 54 110 220 428 835 1670 3410 6992 14206 28422 55898 108100 205914 387755 726239 1363956 2591066 5011451 9889470
25 33 54 116 273 627 1364 2810 5519 10416 19034 33905 59191 101672 172244 288121 475981 776347 1249550 1983682 3105013
4 5 10 23 64 183 481 1157 2623 5768 12514 26902 57092 118886 241719 478527 921458 1725895 3145362 5578917 9629452
13 18 25 38 72 159 357 772 1610 3302 6805 14297 30695 66820 145791 315686 674243 1416334 2923593 5930084 11821362
9 22 35 48 61 74 87 100 113 126 139 152 165 178 191 204 217 230 243 256 269
9 32 76 153 275 454 702 1031 1453 1980 2624 3397 4311 5378 6610 8019 9617 11416 13428 15665 18139
20 31 45 59 80 140 311 720 1564 3125 5785 10041 16520 25994 39395 57830 82596 115195 157349 211015 278400
13 34 81 180 383 779 1505 2757 4801 7984 12745 19626 29283 42497 60185 83411 113397 151534 199393 258736 331527
11 5 -4 -6 24 128 377 921 2123 4846 10990 24409 52376 107807 212503 401722 730451 1281811 2178096 3595020 5779824
18 33 65 129 254 496 951 1774 3217 5699 9911 16936 28325 46012 71871 106613 147588 184893 194989 130795 -93048
8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68
22 27 35 57 123 295 675 1408 2681 4714 7734 11938 17521 25028 36693 60269 118556 271189 661633 1614015 3824955
-5 -5 -2 13 74 258 712 1704 3727 7703 15360 29910 57292 108555 204579 385428 728331 1380599 2616414 4928519 9165614
6 18 41 74 113 150 183 257 568 1674 4869 12788 30323 65942 133515 254763 462458 804514 1349121 2191086 3459557
12 32 70 144 289 562 1047 1860 3154 5124 8012 12112 17775 25414 35509 48612 65352 86440 112674 144944 184237
4 7 26 89 233 513 1028 1982 3817 7474 14867 29724 59116 116351 226576 437541 839650 1601693 3031396 5672739 10454035
7 11 21 37 59 87 121 161 207 259 317 381 451 527 609 697 791 891 997 1109 1227
-7 2 36 105 233 474 929 1764 3229 5678 9590 15591 24477 37238 55083 79466 112113 155050 210632 281573 370977
19 22 21 20 27 60 160 405 916 1850 3392 5794 9570 16048 28609 55115 112249 232766 476991 950304 1828829
6 5 0 -6 0 51 230 744 2075 5250 12281 26835 55203 107646 200205 357071 613620 1020227 1646982 2589440 3975546
12 37 74 122 181 253 357 565 1076 2385 5694 13877 33581 79455 182089 402060 853572 1742597 3426234 6502268 11940701
4 10 11 11 21 59 153 358 813 1892 4560 11162 27101 64273 147816 328805 707113 1470932 2962722 5786321 10978172
2 -4 -14 -18 12 132 452 1185 2736 5872 12053 24061 47144 91002 173091 323920 595278 1072668 1893660 3274424 5547388
23 41 67 100 149 247 471 965 1969 3883 7451 14250 27840 56227 116812 245915 516543 1070717 2176959 4330256 8422019
-8 -1 26 83 188 387 799 1712 3775 8367 18292 39066 81247 164533 324739 625287 1175530 2159111 3876662 6808509 11704702
16 38 75 146 286 563 1110 2172 4168 7768 13985 24282 40694 65965 103700 158532 236304 344266 491287 688082 947454
3 13 24 47 116 313 808 1918 4203 8640 16944 32132 59444 107734 191412 332941 565755 937247 1511160 2368277 3603724
2 16 51 124 266 545 1099 2180 4216 7907 14378 25406 43703 73161 118865 186656 282365 412201 589508 861747 1389619
5 18 39 68 105 150 203 264 333 410 495 588 689 798 915 1040 1173 1314 1463 1620 1785
1 12 50 141 322 641 1157 1940 3071 4642 6756 9527 13080 17551 23087 29846 37997 47720 59206 72657 88286
4 16 50 124 269 540 1042 1983 3766 7129 13340 24457 43668 75726 127504 208826 334362 529529 849438 1435283 2668205
15 35 66 111 173 255 360 491 651 843 1070 1335 1641 1991 2388 2835 3335 3891 4506 5183 5925
13 21 53 130 286 580 1111 2043 3651 6395 11024 18730 31461 52741 89851 159160 297973 588757 1205355 2496214 5127228
8 8 25 87 239 540 1055 1842 2934 4316 5897 7477 8709 9056 7743 3704 -4476 -18624 -41047 -74605 -122789
-7 -9 -1 35 138 374 851 1761 3471 6696 12810 24386 46095 86118 158201 284361 497961 846321 1391101 2203233 3347012
6 25 62 140 292 567 1043 1842 3136 5122 7923 11332 14243 13482 1523 -37788 -136855 -357062 -808189 -1674217 -3239703
19 45 92 165 260 365 468 573 730 1101 2119 4861 11861 28749 67333 151061 324229 666861 1317902 2510261 4622346
-5 -2 2 2 -11 -53 -145 -295 -444 -333 813 5032 17356 49671 128921 313695 726202 1611289 3441257 7095887 14162940
9 10 21 64 187 481 1104 2321 4569 8551 15353 26563 44351 71444 110900 165550 236937 323536 417989 503034 545747
13 11 9 7 5 3 1 -1 -3 -5 -7 -9 -11 -13 -15 -17 -19 -21 -23 -25 -27
20 27 27 32 64 150 317 587 972 1469 2055 2682 3272 3712 3849 3485 2372 207 -3373 -8796 -16560
8 12 17 29 59 128 272 546 1040 1949 3795 8014 18355 43992 106087 251024 576095 1277813 2740616 5697006 11513670
13 23 39 67 110 168 238 314 387 445 473 453 364 182 -120 -572 -1207 -2061 -3173 -4585 -6342
15 30 54 93 161 295 578 1180 2445 5079 10538 21785 44698 90622 181037 356507 695002 1351447 2644938 5249563 10601080
15 30 49 72 99 130 165 204 247 294 345 400 459 522 589 660 735 814 897 984 1075
0 2 10 36 96 215 444 911 1953 4421 10323 24086 54908 121006 257211 528674 1056138 2063596 3969400 7560556 14322468
19 48 92 151 225 314 418 537 671 820 984 1163 1357 1566 1790 2029 2283 2552 2836 3135 3449
19 29 38 54 96 194 391 747 1345 2299 3764 5948 9126 13656 19997 28729 40575 56425 77362 104690 139964
-10 -15 -20 -25 -30 -35 -40 -45 -50 -55 -60 -65 -70 -75 -80 -85 -90 -95 -100 -105 -110
20 35 62 113 200 345 611 1160 2344 4842 9886 19707 38540 74949 146995 293023 592748 1206017 2440198 4861569 9471136
15 18 23 39 98 273 696 1582 3277 6368 11928 22026 40718 75857 142225 266705 496483 911606 1643629 2902569 5014954
0 -1 8 38 103 226 448 850 1612 3147 6362 13112 26927 54106 105286 197608 357616 625039 1057620 1737170 2777039
9 16 34 87 224 535 1183 2463 4899 9399 17522 31996 57798 104412 190375 351970 659005 1242114 2338026 4361877 8019004
4 0 6 35 101 219 405 676 1050 1546 2184 2985 3971 5165 6591 8274 10240 12516 15130 18111 21489
10 27 60 117 212 385 745 1542 3286 6958 14400 29028 57084 109730 206389 379855 683826 1203661 2071324 3485655 5739300
5 7 22 60 131 245 412 642 945 1331 1810 2392 3087 3905 4856 5950 7197 8607 10190 11956 13915
18 30 43 52 47 21 -14 9 296 1369 4407 11874 28661 64160 136010 276761 545454 1047184 1965179 3611880 6508043
22 46 92 168 282 442 656 932 1278 1702 2212 2816 3522 4338 5272 6332 7526 8862 10348 11992 13802
8 13 20 44 110 253 518 960 1644 2645 4048 5948 8450 11669 15730 20768 26928 34365 43244 53740 66038
-3 1 10 24 43 67 96 130 169 213 262 316 375 439 508 582 661 745 834 928 1027
13 39 85 169 321 590 1056 1847 3161 5293 8667 13873 21709 33228 49790 73119 105365 149171 207745 284937 385321
5 14 36 83 195 464 1065 2288 4561 8450 14618 23721 36215 52044 70175 87942 100157 97942 67232 -13105 -173589
15 19 30 62 145 335 724 1453 2731 4863 8290 13644 21821 34075 52136 78355 115879 168859 242694 344314 482505
2 11 44 125 296 629 1253 2418 4645 9063 18123 37017 76329 156717 316782 625734 1203028 2247827 4081966 7211053 12409462
11 35 81 170 335 621 1094 1881 3275 5959 11445 22918 46892 96576 198907 409378 843048 1738176 3583686 7367983 15052310
22 31 41 57 91 170 363 840 1989 4657 10673 23996 53165 116277 250554 529758 1094371 2201726 4306420 8185830 15132182
-1 7 15 33 92 259 668 1582 3518 7495 15514 31474 62920 124397 243884 474989 919525 1767999 3369645 6349039 11792984
9 6 4 22 93 267 617 1248 2307 3990 6549 10333 15971 24949 41114 74263 148526 322161 734795 1719395 4061142
17 28 42 71 134 259 488 894 1635 3095 6196 13008 27836 59024 121786 242453 464613 857718 1528838 2638357 4420530
20 33 55 105 212 427 857 1727 3474 6875 13209 24451 43494 74393 122623 195341 301640 452781 662387 946581 1324048
-2 -6 -6 16 84 227 476 858 1392 2102 3076 4617 7550 13765 27086 54555 108202 207330 381270 672446 1139424
11 28 58 105 175 280 442 697 1099 1724 2674 4081 6111 8968 12898 18193 25195 34300 45962 60697 79087
6 6 4 10 50 174 461 1020 1989 3537 5877 9301 14251 21443 32064 48065 72576 110472 169122 259356 396688
9 33 72 143 291 617 1321 2757 5491 10347 18432 31172 50503 79595 124911 201104 341341 617245 1174920 2296653 4502083
1 -3 -6 6 57 181 422 834 1481 2437 3786 5622 8049 11181 15142 20066 26097 33389 42106 52422 64521
20 45 92 183 353 648 1120 1828 2877 4577 7895 15519 34068 78280 178405 392536 826242 1662637 3206942 5950687 10661971
9 20 49 105 197 326 471 562 423 -334 -2454 -7125 -15718 -28520 -41047 -34951 42817 325984 1127851 3148993 7902215
4 13 22 31 40 49 58 67 76 85 94 103 112 121 130 139 148 157 166 175 184
3 18 39 62 84 110 166 321 721 1638 3537 7164 13658 24690 42632 70759 113487 176650 267819 396666 575376
23 33 49 79 132 217 335 464 539 441 41 -595 -643 2719 16711 57254 156427 375417 827593 1720891 3437190
7 24 50 85 142 258 514 1069 2207 4385 8261 14704 24907 41055 68751 123960 250328 558763 1312713 3104284 7206249
-7 -1 21 79 208 466 962 1919 3787 7421 14339 27075 49642 88120 151384 251987 407213 640315 981953 1471847 2160660
-7 -4 0 6 17 40 94 224 527 1208 2702 5922 12723 26708 54544 108004 207005 383972 689924 1202750 2038221
18 29 55 112 225 446 901 1884 4033 8657 18343 38083 77387 154338 303618 592833 1156238 2264577 4468621 8890194 17802535
13 27 43 70 138 306 667 1350 2519 4369 7119 11002 16252 23088 31695 42202 54657 68999 85027 102366 120430
1 14 48 125 277 551 1022 1814 3129 5284 8756 14235 22685 35413 54146 81116 119153 171786 243352 339113 465381
-1 8 23 44 71 104 143 188 239 296 359 428 503 584 671 764 863 968 1079 1196 1319
19 43 77 127 215 395 790 1669 3597 7724 16343 33959 69302 139053 274682 535059 1030155 1966898 3740787 7123974 13657889
18 45 91 164 275 438 677 1048 1684 2871 5163 9544 17645 32024 56517 96668 160246 257857 403659 616188 919303
6 22 59 136 291 594 1160 2162 3844 6534 10657 16748 25465 37602 54102 76070 104786 141718 188535 247120 319583
23 37 65 118 212 377 687 1329 2735 5816 12367 25768 52224 103069 199356 381630 731614 1420871 2818778 5726452 11868843
13 24 32 38 55 126 345 876 1970 3996 7534 13631 24400 44252 82197 155837 297907 566504 1060484 1941908 3467885
9 11 8 7 38 173 559 1479 3462 7483 15333 30296 58341 110127 204263 372559 668647 1182699 2067602 3586753 6201896
18 44 92 182 354 678 1272 2352 4352 8165 15568 29905 57112 107177 196136 348713 601718 1008322 1643332 2609592 4045638
-6 -2 12 37 85 189 422 952 2183 5066 11718 26576 58470 124296 255549 510096 993680 1899506 3581116 6685619 12394363
10 18 40 85 167 323 635 1262 2502 4919 9598 18672 36477 72155 145400 298517 620281 1290667 2661351 5397302 10725062
8 7 10 36 112 276 581 1096 1900 3059 4565 6212 7427 7257 5226 4991 25352 128511 485816 1520388 4200090
6 1 -4 -9 -14 -19 -24 -29 -34 -39 -44 -49 -54 -59 -64 -69 -74 -79 -84 -89 -94

28
d09/run1_p.py Normal file
View File

@ -0,0 +1,28 @@
import sys
L = sys.stdin.read().splitlines()
S = 0
l = [0, 3, 6, 9, 12, 15]
#l = [1, 3, 6, 10, 15, 21]
#l = [10, 13, 16, 21, 30, 45]
#l = [-6, -9, -13, -18]
#l = [1, 12, 44, 109, 239, 501, 1018, 1996, 3753, 6743, 11566, 18954, 29723, 44682, 64492, 89471, 119345, 152950, 187896, 220211, 243991]
m = list(l)
latest=[]
latest.append(m[len(m)-1])
print(m)
while not all(v == 0 for v in l):
m = []
for i in range(0,len(l)-1):
m.append(l[i+1] - l[i])
latest.append(m[len(m)-1])
print(m)
l = list(m)
S+=sum(latest)
#print(sum(latest))
print(S)

13
d09/run1_s.py Normal file
View File

@ -0,0 +1,13 @@
import sys
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
def extrapolate(L):
if all(not a for a in L):
return L+[0]
M = [b-a for a,b in zip(L,L[1:])]
return L+[L[-1]+extrapolate(M)[-1]]
for l in L:
print(extrapolate(l)[-1])
#print(sum(extrapolate(l)[-1] for l in L))

View File

@ -4,7 +4,6 @@ L = sys.stdin.read().splitlines()
S = 0
for report in L:
l = [int(r) for r in report.split(' ')]
prem = [l[0]]
while not all(v == 0 for v in l):
@ -22,5 +21,4 @@ for report in L:
signe *= -1
S+=s
print(S)

33
d09/run2_p.py Normal file
View File

@ -0,0 +1,33 @@
import sys
L = sys.stdin.read().splitlines()
S = 0
l = [0, 3, 6, 9, 12, 15] #-3
#l = [1, 3, 6, 10, 15, 21] #0
l = [10, 13, 16, 21, 30, 45]
#l = [-6, -9, -13, -18]
m = list(l)
prem=[]
prem.append(m[0])
print(m)
while not all(v == 0 for v in l):
m = []
for i in range(0,len(l)-1):
m.append(l[i+1] - l[i])
prem.append(m[0])
print(m)
l = list(m)
s = prem[0]
signe = -1
for a in prem[1:]:
s+=(a*signe)
signe *= -1
print(s)
S+=s
#print(sum(prem))
print(S)

10
d11/exemple1.txt Normal file
View File

@ -0,0 +1,10 @@
...#......
.......#..
#.........
..........
......#...
.#........
.........#
..........
.......#..
#...#.....

140
d11/input.txt Normal file
View File

@ -0,0 +1,140 @@
..#..........#................................................#.............................................................................
...................................#............................................#..........................#............................#...
......................................................................#.............................#.......................................
........#...................................#..................................................................................#............
.................#.........#..........#...............#........................................#.................#..........................
.................................#..............#...................................#.......................................................
#.........................................................................#...............#............................#....................
.......................#........................................................#...........................................................
.......#.........................................................#................................#.................................#.......
..................#...............................#...........................................................#.............................
...........#.................................#..............#................................................................#...........#..
..........................#........#........................................................................................................
.#..................................................................#................#.................#....................................
......................#.........................#.....................................................................................#.....
..........................................#....................#..............#....................#........................................
.........................................................................................#.........................#.....#..................
..............#.............................................................................................................................
..........................................................................................................#........................#........
.....#.........................#.............#....................#.......#........#........................................#...............
..........................#...........#...............................................................#.....................................
...................#...........................................................................#................#...........................
#............#........................................#................................................................................#....
......................................................................................................................#.........#...........
........................................#...................................................................................................
...#............#........#...........................................................#......................................................
.............................................#..............................................................................................
............#.......#..........................................................................#..................#.....#...................
................................................................................#.........................#....................#.....#......
.................................................................#..........................................................................
..........................#...............#.................................................#.................#.............................
#.........#...........................................#............................................#........................................
.....................#................#................................#....................................................................
.....................................................................................#.....................#............#...................
............................................................................................................................................
.............................#..........................................................................................................#...
.................#..................#......#......#............................#......................#..........#...........#..............
.......#.................#...........................................#......................................................................
......................................................................................#.....................................................
...#....................................................#......#..................................#.........................................
............#........#.........#..............#.........................#....................................#..............................
.......................................................................................................#................#.....#.............
..............................................................................................#.............................................
....................................................................................#..............................#......................#.
#.............#.........#..................#.............................................#...........................................#......
.............................#......#...........#.........#...................#.............................................................
.......#...........................................................................................#.....#..................................
...................#........................................................................................................#.....#.........
....................................................#..................#....................................................................
.................................#............................#.............................................................................
.......................#.................................#...........................................................................#......
........................................#..........................................#............#...............#...........................
.........................................................................................#..................................................
.............................................#......................#.......................................................................
..........................#...........................................................................#.........................#...........
............................................................................................................................................
...........#....................................................................#......#....................................................
....................................................................................................................#......................#
...............#........................#....................................................#..............................................
.....#.........................................#................#...........................................................................
.......................#.............................................#................................#..................#.........#........
#.........#.........................................#..........................#........#.......................#...........................
..............................#.............................................................................................................
.....................................#....................................................................#.....................#...........
..............................................................#.............#...............................................................
..#......................................................................................................................................#..
.................#.........#........................................................#....................................#..................
................................#.......................#.......................................#...........................................
..........................................#.....#...................................................................#.......................
......#......#.........................................................................................#......................#.............
......................................#..............#......................................................................................
..................#...........#.................................#...........................................................................
..#.......#............................................................................#...................................................#
......................#..................................#..............#...................................................................
..........................................................................................................................#.................
.................................#.........#....................................................#...........................................
............................................................................................................................................
....................#...............................................................................#.......................................
.#...................................#..........#...........................................................................................
.......#..............................................................#.................................#...................................
.............................#...........#.....................#.................................#.............................#............
.......................#....................................................................#...................#......................#....
.............#.....................#.................#..........................#....................................#......................
...........................................................................#............#...........#..............................#........
..........................................................................................................................................#.
.#..............................#...........................................................................................................
.............................................#............#...............................................#.................................
...............#.......#..........................#.................#.......................#...........................#...................
...............................................................................#.................................................#..........
.........#..............................#..............................................................#......#.............................
............................................................................................................................................
................................................#........................................#..................................................
.........................................................................#......................#.....................................#.....
...........#......#..........#......................#......................................................................#................
..........................................................#...................#.....#.......#.....................#.........................
......................................#.....................................................................................................
........#................................................................................................................................#..
......................#........................#................#....................................#........#.............................
..#.......................................#.......................................................................................#.........
..............#.............................................................................................................................
.........................................................................#..................................................................
.........................#..........#........#........................................#.....................................................
.....#..................................................#..................................................................................#
..............................#................................#..............#..............#................#............#................
........................................................................................................#.............#.........#...........
.#.............#.......................................................#....................................................................
.......................................#....................................................................................................
.......................#..........................#.......#.................................................................................
.......#........................................................................#...........................................................
............................#........................................#................................................................#.....
..........................................#..........#........................................................#.............................
..............#..........................................................................#.....#..................................#.........
#...........................................................................................................................................
..................................#................................................................#........................#...............
..................................................................#.........................#...............#..........................#....
.......................................#...................................#..........#............................#........................
..................#.....#.....#.............#..........................................................#....................................
...................................................................................................................................#........
......................................................#.......................................................#.............................
...........#...............#...................#...............#....................#...............#.................#.....................
.........................................#......................................................................................#...........
...............................#.........................................................#......#.................#.....................#...
..#.................................................#....................................................#...............#..................
........#.............................#.....................................................................................................
..............#.........#................................................#..................................................................
..........................................#.....................................#....................#.......................#..............
............................................................................................................................................
................................#...............#..........................................................#.....#...............#..........
..#.......#.................................................................................................................................
........................................................................#...............................................#...................
............................#.................................#.........................#..........#........................................
....................#.............................#.........................................................................#...............
........................................................#....................................#..........#......#............................
........#...................................................................................................................................
.........................................................................#..........#.......................................................
............#......................#............#.................................................................#.....................#...
.............................#.....................................................................#........................................
........................................................................................................................#...................
.......#.........#...........................................................................#.........#......#.............................
........................#.............................#..........#...................................................................#......
...#.................................#........#................................#.....#.......................................#..............

59
d11/run1_p.py Normal file
View File

@ -0,0 +1,59 @@
import sys
L = sys.stdin.read().splitlines()
gal = []
for line, P in enumerate(L):
for col, p in enumerate(P):
if p != ".":
gal.append([line, col])
print(gal)
# Expansion
lines = [l[0] for l in gal]
cols = [l[1] for l in gal]
#print(lines)
lines_empty = []
for line in range(0, len(L)):
if lines.count(line) == 0:
lines_empty.append(line)
print(lines_empty)
for line in reversed(lines_empty):
for g in gal:
if g[0] > line:
g[0] +=1
print(gal)
cols_empty = []
for col in range(0, len(L[0])):
if cols.count(col) == 0:
cols_empty.append(col)
print(cols_empty)
for col in reversed(cols_empty):
for g in gal:
if g[1] > col:
g[1] +=1
print(gal)
nb = 0
S=0
for s in range(0, len(gal)):
print("s ", s)
for n in range(1, len(gal)-s):
nb+=1
print(gal[s], gal[s+n])
l = (abs(gal[s+n][0] - gal[s][0])) + abs((gal[s+n][1] - gal[s][1]))
print(l)
S+=l
print(nb, S)