Last active
December 10, 2020 15:10
-
-
Save Trinitek/34400a9c2f176986c3aea5bc53cf3f14 to your computer and use it in GitHub Desktop.
Advent of Code 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| IList<Adapter> GetAdapters(string input) | |
| { | |
| var parsedAdapters = input | |
| .Split("\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries) | |
| .Select(i => new Adapter(int.Parse(i))) | |
| .OrderBy(a => a.Rating); | |
| var adapters = parsedAdapters.Append(new Adapter(parsedAdapters.Last().Max)).ToList(); | |
| return adapters; | |
| } | |
| var adapters = GetAdapters(Input); | |
| // Part One | |
| // TestInput1: diff1=7, diff3=5 | |
| // TestInput2: diff1=22, diff3=10 | |
| // Input: diff1=70, diff3=27 | |
| var partOneResult = adapters | |
| .Aggregate( | |
| seed: (diff1: 0, diff3: 0, ad: Adapter.Outlet), | |
| func: (x, nAd) => x.ad.Difference(nAd) switch | |
| { | |
| 1 => (x.diff1 + 1, x.diff3, nAd), | |
| 3 => (x.diff1, x.diff3 + 1, nAd), | |
| _ => (x.diff1, x.diff3, nAd) | |
| }) | |
| .Dump(); | |
| (partOneResult.diff1 * partOneResult.diff3).Dump("Diff-1 * Diff-3"); | |
| // Part Two | |
| // TestInput1: 8 | |
| // TestInput2: 19208 | |
| // Input: ??? | |
| var ad1 = GetAdapters(TestInput1).Prepend(Adapter.Outlet).ToList(); | |
| var ad2 = GetAdapters(TestInput2).Prepend(Adapter.Outlet).ToList(); | |
| var ad3 = GetAdapters(Input).Prepend(Adapter.Outlet).ToList(); | |
| //Navigate(ad1, 0, ad1.Last(), 0, new HashSet<int>()).Dump(); | |
| //Navigate(ad2, 0, ad2.Last(), 0, new HashSet<int>()).Dump(); | |
| //Navigate(ad3, 0, ad3.Last(), 0, new HashSet<int>()).Dump(); | |
| NavigatePre(ad1); | |
| NavigatePre(ad2); | |
| //NavigatePre(ad3); | |
| Navigate3(ad1); | |
| Navigate3(ad2); | |
| Navigate3(ad3); | |
| } | |
| void Navigate2(IList<Adapter> adapters) | |
| { | |
| var chainCounts = new long[adapters.Count]; | |
| long paths = 1; | |
| for (int i = 0; i < adapters.Count; i++) | |
| { | |
| chainCounts[i] = GetChainableIndices(adapters, i).Count(); | |
| } | |
| chainCounts.Dump(); | |
| //for (int i = 0; i < adapters.Count; i++) | |
| //{ | |
| // for (int c = 0; c < chainCounts[i]; c++) | |
| // { | |
| // paths *= chainCounts[c]; | |
| // } | |
| //} | |
| chainCounts.Where(c => c != 0).Aggregate((x, y) => x * y).Dump(); | |
| paths.Dump(); | |
| } | |
| void Navigate3(IList<Adapter> adapters) | |
| { | |
| long[] arrangements = new long[adapters.Count]; | |
| arrangements[^1] = adapters[1].Rating; | |
| for (int i = arrangements.Length - 1; i >= 0; i--) | |
| { | |
| for (int j = i + 1; j < arrangements.Length; j++) | |
| { | |
| if (adapters[j].Rating - adapters[i].Rating < 4) | |
| { | |
| arrangements[i] += arrangements[j]; | |
| } | |
| } | |
| } | |
| arrangements[0].Dump(); | |
| } | |
| void NavigatePre(IList<Adapter> adapters) | |
| { | |
| var prog = new Util.ProgressBar();//.Dump(); | |
| //var chains = adapters.Select((a, i) => GetPrevChainableIndices(adapters, i)).ToList(); | |
| Navigate(adapters, 0, adapters.Last(), 0, prog).Dump(); | |
| } | |
| long Navigate(IList<Adapter> adapters, int index, Adapter target, long navCount, Util.ProgressBar prog) | |
| { | |
| foreach (int innerIndex in GetChainableIndices(adapters, index)) | |
| { | |
| var adapter = adapters[innerIndex]; | |
| if (adapter == target) | |
| { | |
| long result = navCount + 1; | |
| if (result % 1000000 == 0) | |
| { | |
| prog.Caption = $"Navigations found: {navCount + 1}"; | |
| } | |
| return navCount + 1; | |
| } | |
| navCount = Navigate(adapters, innerIndex, target, navCount, prog); | |
| } | |
| return navCount; | |
| } | |
| IEnumerable<int> GetChainableIndices(IList<Adapter> adapters, int index) | |
| { | |
| var subject = adapters[index]; | |
| for (int i = index + 1; i < adapters.Count; i++) | |
| { | |
| var target = adapters[i]; | |
| if (subject.CanChain(target)) | |
| { | |
| yield return i; | |
| } | |
| else | |
| { | |
| break; | |
| } | |
| } | |
| } | |
| record Adapter(int Rating) | |
| { | |
| public static readonly Adapter Outlet = new Adapter(0); | |
| public int Min => Math.Max(0, Rating - 3); | |
| public int Max => Rating + 3; | |
| public int Difference(Adapter other) => other.Rating - Rating; | |
| public bool CanChain(Adapter other) => other.Rating >= Min && other.Rating <= Max; | |
| } | |
| static readonly string TestInput1 = @" | |
| 16 | |
| 10 | |
| 15 | |
| 5 | |
| 1 | |
| 11 | |
| 7 | |
| 19 | |
| 6 | |
| 12 | |
| 4 | |
| "; | |
| static readonly string TestInput2 = @" | |
| 28 | |
| 33 | |
| 18 | |
| 42 | |
| 31 | |
| 14 | |
| 46 | |
| 20 | |
| 48 | |
| 47 | |
| 24 | |
| 23 | |
| 49 | |
| 45 | |
| 19 | |
| 38 | |
| 39 | |
| 11 | |
| 1 | |
| 32 | |
| 25 | |
| 35 | |
| 8 | |
| 17 | |
| 7 | |
| 9 | |
| 4 | |
| 2 | |
| 34 | |
| 10 | |
| 3 | |
| "; | |
| static readonly string Input = @" | |
| 70 | |
| 102 | |
| 148 | |
| 9 | |
| 99 | |
| 63 | |
| 40 | |
| 52 | |
| 91 | |
| 39 | |
| 55 | |
| 28 | |
| 54 | |
| 22 | |
| 95 | |
| 61 | |
| 118 | |
| 35 | |
| 14 | |
| 21 | |
| 129 | |
| 82 | |
| 137 | |
| 45 | |
| 7 | |
| 87 | |
| 81 | |
| 25 | |
| 3 | |
| 108 | |
| 41 | |
| 11 | |
| 145 | |
| 18 | |
| 65 | |
| 80 | |
| 115 | |
| 29 | |
| 136 | |
| 42 | |
| 97 | |
| 104 | |
| 117 | |
| 141 | |
| 62 | |
| 121 | |
| 23 | |
| 96 | |
| 24 | |
| 128 | |
| 48 | |
| 1 | |
| 112 | |
| 8 | |
| 34 | |
| 144 | |
| 134 | |
| 116 | |
| 58 | |
| 147 | |
| 51 | |
| 84 | |
| 17 | |
| 126 | |
| 64 | |
| 68 | |
| 135 | |
| 10 | |
| 77 | |
| 105 | |
| 127 | |
| 73 | |
| 111 | |
| 90 | |
| 16 | |
| 103 | |
| 109 | |
| 98 | |
| 146 | |
| 123 | |
| 130 | |
| 69 | |
| 133 | |
| 110 | |
| 30 | |
| 122 | |
| 15 | |
| 74 | |
| 33 | |
| 38 | |
| 83 | |
| 92 | |
| 2 | |
| 53 | |
| 140 | |
| 4 | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var lines = Input.Trim().Split("\n").Select(i => i.Trim()); | |
| int numberValid = 0; | |
| foreach (var line in lines) | |
| { | |
| //string line = "10-14 g: gdcpmgxlgggggtgbgg"; | |
| var split = line.Split(':'); | |
| //CountRule rule = CountRule.Parse(split[0]); | |
| PositionRule rule = PositionRule.Parse(split[0]); | |
| bool isValid = rule.IsValid(split[1]); | |
| $"{rule} {isValid}".Dump(); | |
| if (isValid) | |
| { | |
| numberValid++; | |
| } | |
| } | |
| numberValid.Dump(); | |
| } | |
| record PositionRule(char letter, int pos1, int pos2) | |
| { | |
| public static PositionRule Parse(string rule) | |
| { | |
| rule = rule.Trim(); | |
| var rawLeastMostChar = rule.Split('-', ' '); | |
| int p1 = int.Parse(rawLeastMostChar[0]); | |
| int p2 = int.Parse(rawLeastMostChar[1]); | |
| char letter = char.Parse(rawLeastMostChar[2]); | |
| return new PositionRule(letter, p1, p2); | |
| } | |
| public bool IsValid(string password) | |
| { | |
| password = password.Trim(); | |
| return ((GetChar(password, pos1) == this.letter) ^ (GetChar(password, pos2) == this.letter)); | |
| } | |
| private char? GetChar(string input, int index) | |
| { | |
| if (index > input.Length) | |
| { | |
| return null; | |
| } | |
| return input[index - 1]; | |
| } | |
| } | |
| record CountRule(char letter, int least, int most) | |
| { | |
| public static CountRule Parse(string rule) | |
| { | |
| rule = rule.Trim(); | |
| var rawLeastMostChar = rule.Split('-', ' '); | |
| int least = int.Parse(rawLeastMostChar[0]); | |
| int most = int.Parse(rawLeastMostChar[1]); | |
| char letter = char.Parse(rawLeastMostChar[2]); | |
| return new CountRule(letter, least, most); | |
| } | |
| public bool IsValid(string password) | |
| { | |
| password = password.Trim(); | |
| var letters = password.GroupBy(letter => letter).ToDictionary(g => g.Key, g => g.Count()); | |
| int letterCount; | |
| if (!letters.TryGetValue(this.letter, out letterCount)) | |
| { | |
| return false; | |
| } | |
| return (letterCount <= this.most && letterCount >= this.least); | |
| } | |
| } | |
| public string Input = | |
| @" | |
| 13-14 f: ffffffffnfffvv | |
| 10-12 w: kwtzpnzspwwwdz | |
| 2-3 n: nnjn | |
| 2-3 h: hhhh | |
| 2-11 c: crccccccccsccc | |
| 1-6 b: lcpcbcr | |
| 16-20 q: qsqqqqqqqjqqqvqqqqqh | |
| 4-5 m: mmfmm | |
| 10-13 h: hhhhhhchhkhhphh | |
| 10-14 x: xxvxxxxxxvxxxwx | |
| 2-7 v: tvvgvrvvv | |
| 8-11 j: jjjjrjwljjzjkmc | |
| 2-5 t: xtpftb | |
| 4-6 m: mmmlmpm | |
| 9-14 h: hhhhhhhhhhhhhchh | |
| 10-11 x: xxxxxxxxxxx | |
| 14-15 z: zzzzzzpzzzzzzzkz | |
| 5-6 m: mwjmmw | |
| 2-4 r: rrrr | |
| 7-11 v: vvkwlmvkvkmbwvvvv | |
| 16-17 j: jjjjjjjjjjjjjjjhj | |
| 6-12 v: vjvvddtdpvvvldvqvdhv | |
| 3-16 z: rktsvbkctznjkjzz | |
| 5-6 r: hrrrrr | |
| 1-3 d: ddxddd | |
| 19-20 s: sssssjssssssssssssss | |
| 17-20 b: bbbbbbbbbbbbbbbbbbbb | |
| 2-4 m: mslm | |
| 2-5 b: bbbbbl | |
| 3-4 j: ljjj | |
| 2-4 h: nlhbh | |
| 4-5 z: zsmwfz | |
| 4-5 j: jjzqj | |
| 9-10 r: rrrrrrrrrj | |
| 7-18 l: lljlgpmlltlzjltplln | |
| 1-6 l: zbmljsljdszwl | |
| 3-6 h: hhfhhqhhh | |
| 10-14 d: vmddcdhsdzkxdddddddd | |
| 6-7 s: psssssms | |
| 1-10 j: cndjjjjjjjjjjj | |
| 4-14 x: xxxdxxxxxxxxxxc | |
| 6-7 f: fwfffsff | |
| 2-11 v: dmmvlvsvvbbr | |
| 7-8 l: dlcllllllll | |
| 4-5 m: mmmmc | |
| 4-10 m: zmmmlmnmrj | |
| 5-6 s: ssshdsvbsk | |
| 1-3 p: pppfps | |
| 5-6 t: tttttt | |
| 6-15 z: zzzzzzzzzzzzzzzzz | |
| 7-12 m: bgshdmmkmmmmmfnmmm | |
| 10-11 l: gclgllsllll | |
| 3-4 d: dpdd | |
| 2-9 n: kgngnrcxd | |
| 8-10 n: knnsqnnnnrn | |
| 8-18 f: qhwqbwnfppkffwhjjxf | |
| 2-4 j: zwksc | |
| 3-11 s: nkszjxwhcms | |
| 8-11 b: tbbbbbbwbmbjk | |
| 7-8 z: kvxfrzzzz | |
| 2-5 g: hhwgv | |
| 1-5 s: lmkxjbbsmnq | |
| 2-7 p: spgxbpp | |
| 2-8 z: xqzpztbvk | |
| 4-7 r: wrtcfqrqcrlr | |
| 2-4 g: gzgggg | |
| 13-15 q: qqqqnrqqqbgqnqt | |
| 7-12 h: dhxhbcqhhhhd | |
| 7-8 l: llllflll | |
| 5-6 d: ddbdfddwmndc | |
| 3-10 j: jjjjjjcjjjj | |
| 16-17 x: jhmqjpbpxsttjpcxrz | |
| 7-14 j: jqjjjgjhjjmjjfjj | |
| 5-7 l: zllllll | |
| 9-13 d: dddddddxrdcsjdngbtd | |
| 13-14 k: kdwkhqkkkkkknkk | |
| 5-12 c: zcxwcbwfclccm | |
| 14-16 x: xxfxxxhxxxxmdxxxxx | |
| 10-11 x: xxxvxxxxxqxxxxxhx | |
| 6-11 d: ddddddddddtddd | |
| 1-3 j: bjbcj | |
| 8-10 p: pppptppzpp | |
| 3-7 z: zwldzgvztmbwwqwb | |
| 4-5 h: hhhrm | |
| 4-7 v: vvrvjvsz | |
| 2-4 w: prsdkgxw | |
| 1-4 q: fqqvqqqnm | |
| 5-6 k: kzjbpkkkzzktkc | |
| 12-15 s: ssvssssnsssdssgss | |
| 3-10 w: wwfcwcwwwrjww | |
| 6-7 t: thftndnvtztztb | |
| 1-6 w: qgzppbcdjbpwmsj | |
| 3-16 c: nccccfccrrcqhwcjck | |
| 7-10 b: bfscxbdbnb | |
| 4-14 x: xxrxsgxxwxptxxxdxdx | |
| 1-4 c: jccb | |
| 16-17 p: ppkppppppppppppwk | |
| 2-10 z: wqtzzbhzkv | |
| 9-10 b: bcbbqwcbbdvbzbfbsj | |
| 6-11 s: ssssswsssssg | |
| 3-7 c: wdcxzgtcrswqj | |
| 4-10 c: xszcrmcsxccbwccxwv | |
| 6-9 f: pffffffff | |
| 7-8 k: wkhkhdkkkkkkrbkk | |
| 3-4 q: cqqbqpg | |
| 3-15 s: sswvssssswssssh | |
| 19-20 k: kkkkkkkkkkkkkkdkkkkx | |
| 11-14 d: dddddddddddddnd | |
| 3-4 l: llll | |
| 3-4 t: bvtvtrr | |
| 13-16 b: bbbbbbbbbbbbbbbb | |
| 16-20 b: bbbbbbbbbbbbbbbkbbbw | |
| 10-11 v: vhvvvvvvvnvv | |
| 1-6 v: xsvmvvxvkvv | |
| 4-7 t: vttltqg | |
| 16-20 b: bbbbgsjbxkbbbbbbrbqb | |
| 15-17 c: ccccccchcccccxphcc | |
| 1-3 w: cmwbtnzwwlhr | |
| 2-16 j: njmqdfdsmrsptrjz | |
| 12-13 r: rrrrcrrrrrrdhr | |
| 11-14 j: jgjjjjjjjjtpjh | |
| 4-5 w: wwstw | |
| 5-6 w: mwrgwwmdwhzk | |
| 4-7 b: bbdlbbbbc | |
| 1-16 b: xbbhfbhbbbdbbdbbbbb | |
| 11-14 h: hhjhjhhhhhhzhh | |
| 2-3 t: jrtrt | |
| 5-6 w: pdwwww | |
| 5-16 m: mmhrmsvmxmvjdltm | |
| 15-17 b: rbdbbbbtbfbbxbbbbbbb | |
| 4-6 t: lzjtttqdpthkzrt | |
| 3-4 x: xcxxxxxxxxxx | |
| 15-16 z: zzzzzzzzzzzkzrcljz | |
| 15-20 b: bbbbbpbbmbbbbbbbbbbb | |
| 15-17 z: zzzzzzzzzzzzzcqnzzr | |
| 3-13 t: tntttttttttttt | |
| 6-10 s: jssmqsslsssddtg | |
| 9-10 p: ppppppppjp | |
| 9-14 d: sdxnfmpzlgvdcs | |
| 5-6 c: cccscvcc | |
| 2-4 r: rrrr | |
| 11-14 v: vvcvvmvvvpvvvjv | |
| 2-6 h: znfjphzqzdczp | |
| 5-12 j: msdjjbjbgjjjbl | |
| 4-7 h: hhhthkhhh | |
| 5-6 q: qqqqqc | |
| 18-20 q: pttqsnjcfchtfnqbjlqf | |
| 11-12 x: xxxxxxxxxxxq | |
| 5-6 j: xqbwjjcxjjljgj | |
| 7-14 g: pdkdbzgzjvdvwggpnnt | |
| 2-17 j: zhklmfrwspkgqbxjjdp | |
| 5-17 b: bbbnbkbbbgbbxvzxhb | |
| 6-8 b: bwhbbbbb | |
| 6-16 q: lgxlqsqqwwmqrqqfgp | |
| 16-20 j: jjjkjjjjjvjjjjjjwjjb | |
| 1-2 g: vggg | |
| 3-7 v: fvsvvxfvvv | |
| 5-8 q: vdqqqqqqcrqqxq | |
| 11-16 w: wwwwwwwwwwbwwwwnwww | |
| 5-7 s: swwzsss | |
| 3-6 d: hqwqcvdnqvh | |
| 2-7 h: hsqhthghhhh | |
| 4-9 d: dddtddddddd | |
| 8-9 d: ddddddddd | |
| 2-4 q: qqqsq | |
| 4-6 t: ttnlqt | |
| 4-6 s: sssszscs | |
| 2-7 l: ssfllslplqll | |
| 1-3 m: vmmlm | |
| 6-13 q: qtqqqrqqqqqqqqqq | |
| 2-10 d: zbldzlzssd | |
| 4-5 n: nnndq | |
| 8-18 b: wbbdgkvgscbdgqvxdj | |
| 5-6 r: srrtrrrrr | |
| 6-8 m: mmmmwbpm | |
| 11-14 h: hhhhhhhthhhhhm | |
| 2-4 p: pvpxpp | |
| 5-6 g: ggvgng | |
| 4-5 x: xxxtp | |
| 3-10 v: vbvvzvhvvvvmvbcvvwrv | |
| 11-13 d: ddddddddddxdldd | |
| 4-5 g: gggggggggggngfggg | |
| 7-8 j: jpjjjjhw | |
| 2-6 m: jmfrmmhhsgbmmm | |
| 6-10 v: vrvvvbvvvsv | |
| 8-15 c: cctrcccpccccgcc | |
| 14-16 d: ddddxdsdzwdddwdsddh | |
| 5-6 m: mmnmmb | |
| 2-6 d: dtwlswdnlkn | |
| 12-13 x: vldxvmxcnndzx | |
| 4-6 k: kkkxkm | |
| 1-4 p: pppp | |
| 11-16 b: bbbbbbbbbhdbxpbbbpb | |
| 1-5 j: jjjjjj | |
| 6-8 q: zqwdqszvqwqbrmhfqqm | |
| 2-5 q: nqqczhb | |
| 12-17 v: vvvvvvvvvvvtvvvvpv | |
| 1-3 w: wwlww | |
| 9-11 n: nbndcjnzntnvjnk | |
| 3-4 q: qqcr | |
| 15-17 p: plppppppppbppppplpp | |
| 1-2 c: cvdlsccrccldccvfcc | |
| 4-5 p: bpppcp | |
| 19-20 d: dddddddddsdddddddddd | |
| 2-4 t: bwbtmjbgkdlpjkrxt | |
| 2-5 l: llxdblrcvnpclt | |
| 11-13 b: bpbbbbbmbbbpbtcbbbzm | |
| 6-7 p: ppppppp | |
| 5-18 m: mqmmqpmmmmmwmpmzchms | |
| 3-6 g: ggggmggkgg | |
| 11-18 z: wjwlzzptzzzwbmzzgz | |
| 5-7 b: bbcxbfbwbbcn | |
| 4-5 p: szppp | |
| 2-12 b: bbbbbbbbbbbmbb | |
| 6-10 m: jmmmmwmtmfcwwxm | |
| 4-5 m: mrqzmmmptfkmch | |
| 13-15 q: qqqqqqlqqqqqqqqd | |
| 1-5 b: kbbbnb | |
| 4-5 t: qdtttszwwppbtllp | |
| 12-14 c: cccccccccccccm | |
| 4-5 g: gggdhg | |
| 1-4 b: wbtbb | |
| 3-6 d: ddrdgbdvdv | |
| 14-15 x: xxxxxxxgxxxxxvdx | |
| 13-18 l: lllllllllllllllllll | |
| 5-7 p: zjsxppv | |
| 4-13 v: vvvpvvvvvvvvf | |
| 17-19 q: qqqqqpcqpqqgqqqqqqmq | |
| 1-5 r: rlmrrr | |
| 8-9 j: jjjjjjjjw | |
| 2-4 q: dswq | |
| 16-17 z: zzzzzzzzzzzzzzzzzz | |
| 4-7 h: hhhzhhw | |
| 11-12 l: lllllhhpllllqlllln | |
| 11-12 h: hhhhdhhhhhrhh | |
| 3-4 j: pkthmjsjqx | |
| 15-18 b: bbbbbgbbbbbbbbbbbh | |
| 4-5 j: lsxklmdwmhj | |
| 1-2 p: pptp | |
| 8-10 g: fgggzrnggg | |
| 3-7 k: njkdhpkpqtqxhqwkp | |
| 10-11 l: llllllllllz | |
| 12-14 q: qjqhkqmqqwqgqcg | |
| 1-3 m: mmmm | |
| 8-19 c: dwzvhvbcpdbhcnrlcncx | |
| 3-7 x: xtxjljw | |
| 6-18 t: pttgnchttttttttqtt | |
| 3-4 p: pppxpp | |
| 15-16 k: kkkkkkkkkkkkkkvr | |
| 2-3 x: dxxmx | |
| 12-20 m: mmmmmjmmcmdmmmmmcmmm | |
| 6-13 h: sthvjhlhfhxlhb | |
| 4-5 t: pbrlttgmmwztxtrt | |
| 3-7 p: dpptmppp | |
| 7-9 p: hpppppppp | |
| 3-4 q: qdgqqq | |
| 1-4 c: cffcrkpdczhbj | |
| 1-8 d: cqdwddlrddd | |
| 9-10 n: gnkmnxnzmn | |
| 3-4 k: kkxx | |
| 1-7 d: vnddddn | |
| 8-12 l: jllnlcllllllllvllb | |
| 1-4 n: nnnnnhnnnn | |
| 9-12 s: tssssszsssssbt | |
| 8-13 h: nhnhdtkjbsfvbsh | |
| 2-4 v: qmvs | |
| 3-6 c: chcxccch | |
| 1-5 d: ddddd | |
| 11-15 l: pklllvllwlmlcklllll | |
| 1-3 v: dvkbwsgjzqzzjmznd | |
| 5-6 j: zjjjjjs | |
| 1-4 f: vbffrwfr | |
| 3-5 x: xxxxxrfdxmnbkrjbdzcx | |
| 16-19 s: spsssbmrpbwrhqssgft | |
| 13-15 v: vvvrvvvvbvvvvvv | |
| 6-9 q: lqfqgcwtdqzgrqqp | |
| 3-5 w: fwpwx | |
| 7-8 h: hnhschhfphjzphwh | |
| 2-6 r: rrrrrrr | |
| 8-10 h: hhrhzhhttm | |
| 9-16 w: wwwwwwwwfwwwwwwh | |
| 2-3 n: zbnfnlpcnjqftpv | |
| 14-17 k: rqwlkzqczczrlktcl | |
| 6-7 f: ffffffff | |
| 3-6 k: nndkjtpjzpmkkr | |
| 12-17 p: gpppbpmjpptpfnzpb | |
| 16-17 n: nnnpnnlnnnnnnmnnnnnn | |
| 4-6 r: rrsrwr | |
| 4-7 x: cnljrzcj | |
| 7-8 s: srgtqlmc | |
| 8-10 n: nnnnnnnvnn | |
| 2-5 g: ggqggb | |
| 7-8 h: hhqhgpxb | |
| 4-12 b: bxbchbbbbbbbb | |
| 2-4 z: qfzng | |
| 6-13 m: pcmmwdkmzlstn | |
| 3-4 v: qvdc | |
| 2-10 t: tktttttttmt | |
| 9-15 t: tttttttttttpttw | |
| 8-13 p: pppjpppkppdlv | |
| 6-9 g: gggggngqg | |
| 2-9 k: lzvkqkkkkk | |
| 8-12 h: ldpnjvchhshx | |
| 5-14 c: cccccvrccccdbccchjc | |
| 14-19 k: kkjksgrrkklhkkkkkkt | |
| 5-15 r: hrrrrrwmrlrgrlz | |
| 7-17 g: hbjtgsxbgrgggcjlk | |
| 4-6 q: lqcbqvzqrqzqxqnqd | |
| 5-8 x: xkdxsxxf | |
| 12-16 m: vxlfjgzgqhxmlvmmqmm | |
| 2-13 c: vccvjvqrgrsrqv | |
| 4-6 l: ltlrlpvnl | |
| 12-16 p: ppptdppppppcfppzpgsm | |
| 18-19 q: qfqpvwpwjqvlnrmvsqq | |
| 5-6 m: mmmmmh | |
| 6-7 m: mmmmsls | |
| 3-4 p: pvcg | |
| 6-7 h: hhhhhhj | |
| 1-4 g: gkggc | |
| 3-10 n: sqsndtgnjbnljnn | |
| 5-11 h: tcmlhlnbfnhgt | |
| 9-10 t: ttttttttxl | |
| 6-8 x: mxvxxxxhxxccbx | |
| 9-16 g: rgggthgxggdggjgg | |
| 7-20 w: wwnwwhvmtwnvwwpzdxvt | |
| 13-14 t: tttmttlttgttlptt | |
| 5-6 f: ffffpg | |
| 5-7 z: qzzzzzqzz | |
| 1-3 b: bfbfdhkwdzttcldtr | |
| 5-8 n: nnnnrnnqnnnn | |
| 7-18 m: hgnrbdmvmzqmhnhhpww | |
| 2-6 h: rjghpwxhn | |
| 5-10 m: bjqjmmnbvmlxpvvdds | |
| 3-4 v: hvjttv | |
| 4-8 n: nnpnnnnnn | |
| 1-10 g: gzxghcgkggggtxg | |
| 4-6 b: pbgblbbb | |
| 4-7 c: ccccccmc | |
| 2-4 g: ggwgtzvxqhjqphfg | |
| 3-5 t: htdtt | |
| 8-9 t: tttttptttttt | |
| 4-5 v: dvvvd | |
| 6-12 p: skzhnpblmpppcptfpll | |
| 15-16 l: llllllllllllllvp | |
| 6-11 b: mbbbbjxbbmbbf | |
| 2-4 t: mtqwtnt | |
| 2-4 h: wfhkh | |
| 5-6 w: wwwlwwwkw | |
| 7-8 k: kskkkktz | |
| 5-6 g: rggqcv | |
| 2-4 z: krmw | |
| 2-4 q: qqwqlrqcbxlxbpqg | |
| 14-18 m: mmzmmmmnmmmmmtmmmm | |
| 1-5 p: pqwfpnp | |
| 3-7 w: dwwxdwgwwksm | |
| 8-11 g: bkmcfcddjvw | |
| 7-9 s: srsszspss | |
| 3-4 r: rjrsz | |
| 12-14 k: kkkkkkkkkkkgkl | |
| 13-14 f: fffffffffffffh | |
| 7-9 r: qgxpglrlr | |
| 4-6 l: xflkll | |
| 2-9 d: gdddddddrqdddd | |
| 2-3 k: zskkzq | |
| 3-4 z: jzrtwgmtl | |
| 3-4 b: bnnbbx | |
| 1-9 r: rhmrwwrfmsb | |
| 7-10 b: btbbbbbbjbbb | |
| 7-8 t: lmttpttq | |
| 1-4 s: rcls | |
| 11-12 k: kkkkklkkkskq | |
| 14-15 p: ppppppppppppppp | |
| 3-7 l: dcslvkjgjcdk | |
| 1-6 l: hllhllpl | |
| 6-9 z: zdlqztzzkzz | |
| 10-11 r: rrfrrrrrrrqjpkkrmrrh | |
| 4-5 v: bvpqvvkvrxnvzmghbhmx | |
| 10-11 v: vvvvvjvvfcvvcvpj | |
| 10-11 j: jjjsfhdmjtcvbzj | |
| 4-5 z: zzzzzz | |
| 14-15 l: lllllllllzlllkcnl | |
| 3-8 c: dchcjjrccvm | |
| 12-14 b: vrwbfbqbbbbkbhgqjjh | |
| 8-9 g: stggqgctgpgggctt | |
| 15-17 p: pppppppppppkppqpp | |
| 7-8 q: qqqjvqhmqq | |
| 3-4 x: xxxxx | |
| 7-8 g: ffbgglgzpjgqvnglpsgh | |
| 14-16 r: rrdrrrrrrrrrrgrrrd | |
| 10-13 l: lllllllllllll | |
| 6-14 q: qfqzqnqqmhqqsp | |
| 2-3 q: qqqqq | |
| 17-18 f: ffffffqfffffffffftf | |
| 11-13 h: hhhhhhhhhhmhz | |
| 3-10 c: cccmcccccfzc | |
| 8-12 v: vvvvvvvvvvvvrfwrvv | |
| 3-4 v: vrnx | |
| 1-12 v: gfvsvkvvvzvcvsv | |
| 9-10 b: lbtgbbpcfbgb | |
| 6-8 f: fgnffkfshhfbfc | |
| 8-10 w: wwwwwwwwgpltzwzk | |
| 7-12 b: btbbjbhbbpbbqsbbbvp | |
| 11-12 r: vfcvrrrzrhvc | |
| 19-20 g: gggggggggggggbggggjh | |
| 11-14 s: sfsvsfsswsssscxssm | |
| 4-6 c: lcclcc | |
| 7-8 g: gggggggr | |
| 10-14 g: gdcpmgxlgggggtgbgg | |
| 2-3 b: bktb | |
| 9-13 k: krkkkgkkkkvkkk | |
| 2-12 f: bwtgngzflzcfchx | |
| 2-4 m: mmmmmmm | |
| 10-12 b: bbbbbbbxbbblcbpb | |
| 3-4 c: ccct | |
| 6-8 r: kgqvrrrjn | |
| 10-12 f: ffffffwfffff | |
| 6-7 c: ckcjcjccc | |
| 10-12 l: lllltllllllxll | |
| 3-6 q: qqgqqlxqqq | |
| 4-5 b: nbbbbb | |
| 7-11 r: rrrrrrrrrrrrrrr | |
| 10-11 s: sssssssssss | |
| 1-6 w: wwwwwwwlww | |
| 5-7 l: lrlmlll | |
| 8-12 c: fbcmjxccqcwc | |
| 9-10 b: ljmbxwbbbbbhbbb | |
| 2-4 h: shwgvlw | |
| 15-17 t: ttptttttktttkttttt | |
| 2-5 d: dddgdd | |
| 2-14 x: xbbtnzdvbszrlxl | |
| 8-10 c: cccccccbcx | |
| 10-12 k: kkkkkkkkmkkc | |
| 7-17 r: rzbcshqhmrzrktzdr | |
| 5-16 k: kvkkdkkkkkkkkkklk | |
| 1-7 p: hkplfbjdhsh | |
| 1-6 z: pnzzzz | |
| 12-18 m: mmmjmxmmmmmmmmmmcd | |
| 5-7 k: kskkdbsk | |
| 9-10 b: bbbbgbbbbw | |
| 4-6 c: cccccjs | |
| 19-20 w: wwwwwwwwwwwwwwwwwwwf | |
| 7-11 j: drzjhxkjjjkwr | |
| 10-15 c: cccfckccccdccxc | |
| 1-3 d: ddddc | |
| 13-14 j: jbjjknjjjjjjjjjjjzzc | |
| 1-4 m: mzmftx | |
| 1-4 t: rttt | |
| 12-17 t: tltqttzttttjwcttrwtt | |
| 6-10 m: rmfmrnmmmdmqp | |
| 6-15 p: jpfpppwppppppznpppp | |
| 4-8 p: mppxctpb | |
| 2-4 z: gwzzrn | |
| 3-4 p: ppfpp | |
| 3-4 b: bbbh | |
| 11-17 l: llllllllllllllllhll | |
| 4-6 m: mmmmmmm | |
| 4-6 c: ccccjx | |
| 11-14 g: gggggggggggggg | |
| 3-4 l: llflq | |
| 9-13 p: pspvvcpkpcpzpfpk | |
| 1-4 n: nhwn | |
| 6-10 j: jjjjjjjjmjj | |
| 9-12 p: ppgpwxpplgppzpppwpp | |
| 10-14 h: hhhhhhfhhhhhmxh | |
| 8-10 l: llllllmcwfl | |
| 7-8 h: hhjhhhps | |
| 8-11 v: grvvvgbvxvvlhvvbdvr | |
| 5-6 m: fmjjbmp | |
| 1-2 x: xxhd | |
| 11-15 n: nnnnnnnnnncnnnm | |
| 1-8 g: jgggbggd | |
| 13-15 l: lshllllllllllll | |
| 5-12 r: crrsrrrrprtrr | |
| 10-16 k: hkkkkkkjkgtkkkkkq | |
| 5-16 j: prxjxjjdxzjjvjjwfj | |
| 7-8 k: pdkkkkkzkzw | |
| 3-4 s: sstg | |
| 1-5 x: vxxxb | |
| 10-16 s: tqmzsfksjzfmlqzsdb | |
| 2-5 r: rcrxjr | |
| 10-15 v: jcbvvvhvvvkwrgvvvvv | |
| 4-6 n: nnxnnpnn | |
| 13-18 l: llllllllllllbllllgl | |
| 9-11 g: vwqgnrzlclgqtp | |
| 2-3 f: fpms | |
| 3-5 l: llllllll | |
| 7-12 x: xcvxzxxhxxxxxxxxqxxv | |
| 6-10 b: fcfpwbmbhbpbbqkkbxb | |
| 8-11 z: nrnzzqzzzzck | |
| 8-9 g: nggdfgdgggfggg | |
| 2-6 d: sdztkkfvpkddggdxd | |
| 10-14 g: nhdstmlfxcggcs | |
| 10-11 g: ggzfglgggmcxgjh | |
| 3-13 x: cxjxxxxxxgxvj | |
| 9-10 h: smlxphtmkhf | |
| 7-8 v: rhdvgcvrdvvvvvxwvssh | |
| 7-14 n: nnnnnnncnnnvnn | |
| 3-6 z: zzzgznzz | |
| 6-10 l: llwmgllljllll | |
| 4-5 v: vwvvpvw | |
| 7-8 m: mmmmqvmqmv | |
| 13-14 z: zzzzzzzzzzhzrcz | |
| 3-8 h: bdmhcxpgbpjvwfmh | |
| 3-5 h: nhhjk | |
| 11-19 b: zrrmrqbfvwbnmvkvbzbv | |
| 3-8 c: ztwqhccmwzvcbxjjrc | |
| 4-9 h: hhhhhhhhh | |
| 2-15 d: lddzlxhkscrmfbd | |
| 3-9 s: kpscwnwzj | |
| 10-11 w: zwwlwxwwwwwwww | |
| 4-5 v: dpvjr | |
| 1-3 d: ddtd | |
| 3-6 x: xxdfxxxrbdh | |
| 3-6 g: dghwgxg | |
| 8-10 z: zzzzzzzpzz | |
| 13-15 p: pjpxpppppdcpphlppjp | |
| 6-16 j: jjjjjljnjjjjjqjjjwx | |
| 11-17 f: fffffffffflfpfffxff | |
| 8-10 j: jjjjjjlwjkjrdjjjj | |
| 8-9 w: wwwwfwwdkww | |
| 4-9 x: qpxbhxwxxkx | |
| 5-7 w: wwwwbwl | |
| 1-6 m: mmfrmmmm | |
| 8-9 l: lllllvlsl | |
| 3-4 d: dddd | |
| 6-8 c: cqcptcfcgcrzbjcccp | |
| 10-11 k: dccpkmkkgkkdzkkkkkk | |
| 3-4 j: jjjr | |
| 3-9 h: hzhwhchzhjg | |
| 7-8 g: bxgnvvzfsbggdgg | |
| 2-17 f: ffffffffffffffffffff | |
| 7-13 g: ljggdgztggvgtggg | |
| 9-13 x: rxlxrxxnwqxpcdxq | |
| 10-11 j: jjctjjjjjfjj | |
| 8-16 k: zpzskgkkkvsbxhsk | |
| 4-5 l: llljl | |
| 2-6 b: bbbbbb | |
| 1-3 w: swww | |
| 6-8 r: rrrrrbrbrr | |
| 8-9 t: tttttttth | |
| 3-5 s: sssss | |
| 3-14 q: qqxqqqqbblqqcqmqsq | |
| 7-8 v: dmfvccvvvbvmwjvvvqfv | |
| 5-7 v: qvvvvvvvv | |
| 4-9 c: cgcgvncctwrtv | |
| 3-5 p: ppnpppp | |
| 13-15 h: hhhhhhhhhhhhhhhhnhhh | |
| 5-8 r: rrrvpgrdbhrc | |
| 2-9 q: szlqwzwhqxbxkr | |
| 5-6 c: cwrmhxcpxchzccb | |
| 4-6 z: zzjczz | |
| 12-14 p: pwqkbphzplxhnpm | |
| 8-13 t: tkkzjttrstbtwttd | |
| 15-16 m: mmpqmxbxdzmqmmmb | |
| 4-6 c: ctcpczdd | |
| 2-3 j: fdjjj | |
| 15-19 k: kkkkkkkkkkkkkkpkkkwk | |
| 2-3 c: cccc | |
| 1-2 w: wwfqwwgpmv | |
| 2-3 h: wfzmhm | |
| 3-10 s: wbsbvhfxjgxfqstwqn | |
| 15-16 r: sxrzvkqpqmgzgtrr | |
| 3-5 m: fmmtmqjxzss | |
| 12-13 k: ddsnpkfvknhwq | |
| 5-11 z: lzwvzhtzzzz | |
| 12-13 t: tttttttttbdgtft | |
| 14-19 g: gggggggggggggggglgnv | |
| 3-4 r: rrrr | |
| 3-7 h: xchhnhh | |
| 10-11 n: ndnjnnhnnnk | |
| 5-7 l: llllhll | |
| 3-5 p: ppppb | |
| 11-12 s: rrsjzvswsdtxssv | |
| 2-10 z: ztxzzzzzztzp | |
| 16-17 m: mmmpmmmmmmmmmmmmmmq | |
| 1-6 b: wkbfntzw | |
| 10-14 n: nnnngrnnnnnnnnnn | |
| 1-3 b: pbdfsbbp | |
| 6-13 n: brnwnhnnsnnrwncnmz | |
| 2-11 f: mlhpdjflklzmhxt | |
| 1-2 f: shzsffl | |
| 8-16 k: kkkkkfkxfwnslkkm | |
| 13-14 b: bbbbbbbbbbkbqbb | |
| 2-7 x: zdxxxxxx | |
| 6-10 h: hhthmpvhnlk | |
| 6-7 p: tppfpqpcppppxpmpcpp | |
| 3-5 m: grmkm | |
| 5-11 w: vcwbwwwbwwswnrdwfwx | |
| 1-6 s: sssrssssx | |
| 13-14 j: jjjjjjjjjjjjgj | |
| 14-19 q: sbqqzqnqnlzdrlqqqtkl | |
| 3-4 t: btdttvzrvnjst | |
| 1-7 s: ssbsssmhssssdsc | |
| 3-4 z: vcdzj | |
| 6-13 v: vvvvvvvvvvvvvv | |
| 2-7 t: ttttgpthqhmth | |
| 5-9 z: zzzzwzzzl | |
| 10-15 w: wwwwckbzwwwwkwwlrwb | |
| 2-7 r: wjrbdzrjxrstrc | |
| 1-8 z: dpzzzvcsx | |
| 4-6 c: nccxccvcccczcccdc | |
| 1-10 c: cccccccccc | |
| 3-7 d: zdmdpdntdpzncdbff | |
| 5-9 x: xvlvxldrxxmbdcdxxxz | |
| 6-7 p: ppplppjcwcpp | |
| 2-7 d: pwnhpdd | |
| 2-3 q: hqqsdqxs | |
| 6-9 t: smttzjmktq | |
| 7-9 t: ttttttttp | |
| 4-19 w: wwwrwwwwwwwkwwwwwwnw | |
| 17-20 s: cssvssssssssssssssss | |
| 10-11 s: srssssssssss | |
| 5-6 f: ffcfjt | |
| 3-4 d: ddgdddddddd | |
| 2-15 s: sssssssssssstsssssss | |
| 2-4 c: kmccnnt | |
| 2-3 f: ffff | |
| 10-14 s: vspjssnsssssshvsq | |
| 9-10 k: skkkkkkfxkkwk | |
| 3-5 g: mgnggjpgspcf | |
| 4-15 z: zzzdzzzzzzzzzzzz | |
| 3-4 c: cgcc | |
| 6-7 s: sssssjs | |
| 2-4 z: ztzz | |
| 17-18 w: wbqwwnwwwmwvwwhgdnl | |
| 13-15 d: dwddddddddddwdddd | |
| 4-7 g: gzghgcnq | |
| 3-9 n: snnnnnmll | |
| 2-7 j: sjhtsxj | |
| 2-6 h: khvzdhhr | |
| 2-10 t: tttttttttttttttt | |
| 4-6 x: xxglxwjrx | |
| 3-4 r: rjrc | |
| 5-13 b: bbbbbbbdbbbbbb | |
| 3-4 q: qqrhqq | |
| 8-12 g: ggggkggdgggbg | |
| 3-12 j: jjjjjjjjjjjjjj | |
| 1-5 c: cbcch | |
| 10-11 r: rrnrvrrrrzn | |
| 4-16 j: jjjpjjjjhjjjjjrjjjv | |
| 8-9 f: fffffzdsvfccfr | |
| 14-16 f: ffzfjfftfffffffffff | |
| 2-8 n: ngnnnnntnnnnr | |
| 6-11 n: nchnnvnnnndn | |
| 4-5 w: sfwvm | |
| 6-14 s: ssssssvsspssqhsss | |
| 3-4 m: sjjb | |
| 2-4 d: dnkjd | |
| 3-9 s: twsgkmqstq | |
| 6-14 f: ffffffffffhfff | |
| 10-15 w: wmwlwwwwfgwwjrzwwwww | |
| 3-11 f: fffffkxfffffmfff | |
| 1-2 l: jlrpl | |
| 3-14 p: pbnpkbppxhppmpp | |
| 1-14 v: bvvvtvvvvbvvvh | |
| 3-4 s: zssvs | |
| 3-4 l: llljrlk | |
| 8-12 f: ffcfffczlffff | |
| 3-13 m: xsmgpvzsrrwmxtbktsrj | |
| 5-7 j: qxvjjlqjjjjj | |
| 3-4 r: rbdwg | |
| 13-14 d: dddddddddddddg | |
| 10-12 f: lqvhjnkfrfffv | |
| 6-7 n: njnnnhz | |
| 11-13 v: vvvvvvvvvvvvs | |
| 12-13 v: nvvsfvvvvvnvdvjxvvv | |
| 2-19 s: slsssssbsskspssssts | |
| 9-11 n: nnnnnnnnnnm | |
| 4-5 j: mhngjjrhjcjkjw | |
| 12-18 p: pnfwppppprsqrppltppp | |
| 9-13 s: wsssfsjsssfssss | |
| 6-8 b: bbbbbzbj | |
| 9-12 c: lcccccrccctv | |
| 7-11 w: wbdwwqwwkbwws | |
| 6-19 c: cccrmldccfhtvclcccc | |
| 9-14 h: bhhhhdhjkhhhhm | |
| 7-15 g: gkgggggvcgggghgggz | |
| 4-8 k: kknklwkkkg | |
| 10-13 c: ccccccxcccccccc | |
| 10-14 c: ccbcfcccptcczbcc | |
| 8-9 s: scsssssss | |
| 1-7 v: bvvvvvvvk | |
| 4-8 s: dspsskkstklsz | |
| 9-10 b: blbkkzbvvpbhbbbb | |
| 1-2 m: qgntnbccqm | |
| 7-14 w: wwwwlftgspwmwr | |
| 4-13 n: tnxmnnwwnnlnnnnz | |
| 3-5 c: cwzbs | |
| 3-6 d: dddddl | |
| 6-8 s: qsfssrnsst | |
| 1-2 l: llxcx | |
| 9-11 g: zhzkcbglvgw | |
| 5-11 f: lfzgtbcmzzw | |
| 6-19 m: gcbgjbqrdkswqhmxjct | |
| 1-3 z: dzzz | |
| 9-13 t: wttftcddttmtttgttnvt | |
| 14-15 z: zzzzgtzzwzzzzzzzzz | |
| 1-11 q: qqqqqqqqqqqq | |
| 4-5 j: rxjjjxjwjjj | |
| 3-5 v: gqjhjvlvlbmkgssd | |
| 16-17 q: qgcbftwncjhdzwqmw | |
| 1-3 g: tjftgp | |
| 11-16 l: rlllllllllgglllm | |
| 4-6 z: zprzvrfbpblf | |
| 7-11 j: jjjjjjjjhpjmjj | |
| 3-4 l: ltlrblllwljljlc | |
| 8-11 k: kkvkkkkkbqkskrkkd | |
| 5-10 r: hjrcrrrdvtrkrvrxrr | |
| 5-6 x: xxxxpx | |
| 13-16 g: gmggggggcggpwgghgt | |
| 3-4 h: hzzp | |
| 13-15 h: hhwhhghhhhhhhhh | |
| 3-5 t: mlftttt | |
| 8-13 c: cccccvcdccccfcccccc | |
| 1-6 k: kczzpq | |
| 8-14 t: rtcttttgtttttgtttz | |
| 6-7 l: lhsvlll | |
| 1-2 x: cxlr | |
| 8-10 t: rtbtttttsblttttb | |
| 11-14 z: zzzzzzzzzzdzzzz | |
| 2-3 t: ltttbthjdxwbxrv | |
| 5-6 x: xxxxxxxkx | |
| 8-12 f: fffffpffwfng | |
| 5-6 x: xxxxflxxxxx | |
| 5-7 d: ddddvvk | |
| 4-8 j: ttjjjjhj | |
| 2-5 p: rtrmpksjdvpplmrkl | |
| 9-11 s: ssshsskssssssr | |
| 5-8 j: wjnjjvjjfjjhf | |
| 4-6 q: qlpcjqqqq | |
| 13-14 m: zctdnmkjstxbmmfqtns | |
| 4-11 n: nqntnngnvmnknrnwnnl | |
| 3-5 d: ddfvdnkd | |
| 9-14 j: wsznlrpljmjwjjjkmtk | |
| 2-6 w: wlwwwww | |
| 9-12 j: jjzjxjjjjhjp | |
| 10-13 v: zvvvvvvvvfvwlvvvv | |
| 3-18 x: dzxcqgwxpwxvpmcxxdxx | |
| 2-3 w: wsgwwd | |
| 3-20 n: nrnfxnnnnlnnnnnfnrhp | |
| 3-8 f: fmvjwsffvxjfnlw | |
| 5-6 l: llllcs | |
| 3-5 b: bbbbbbc | |
| 2-7 l: rlwkflnsm | |
| 4-18 m: dqskhdqgmrpbgtmdnp | |
| 4-6 r: grpxzr | |
| 5-7 m: mmmmmmjmm | |
| 7-8 b: bbkkbbkbb | |
| 1-4 r: rwrtr | |
| 5-6 g: gggcggg | |
| 4-6 l: qlcbwrsf | |
| 16-18 t: tttmtttltvtttttxtrtt | |
| 3-4 z: zzzz | |
| 6-10 g: gggggtgggg | |
| 12-15 f: tffffffffqrffvvftffh | |
| 10-16 w: wwgwwpwhqdwhwpbw | |
| 5-7 m: mpmmmmm | |
| 3-5 b: bbxtbbb | |
| 5-10 x: xxxxbxxxkjkx | |
| 10-12 b: bjbldbbbwbxg | |
| 3-4 g: gnggqgg | |
| 2-4 s: sstst | |
| 6-10 j: jjjjfvjjjj | |
| 16-20 r: rrrrrrrrrrrrrrrrrrrr | |
| 4-12 b: bbbxbbbbbbbbbbbbb | |
| 3-4 k: kkpk | |
| 4-7 s: ssssqsh | |
| 10-13 b: vbzbbbbnblbbb | |
| 12-14 f: rgqffrfsvftwff | |
| 2-4 x: bfxvhmsxnqxz | |
| 10-12 c: ccccccccccbcc | |
| 1-4 l: llxbmjpll | |
| 9-14 f: ffhfmpfffffzfgcg | |
| 3-4 n: ndfm | |
| 1-6 k: lkmdzgfbkfktkkvkw | |
| 12-13 q: qtkqqgqbqtqgvqqqzq | |
| 7-9 d: ddddddhddsd | |
| 4-11 j: kdqjjjjjjxg | |
| 4-6 k: kkkgkm | |
| 6-12 n: nnnnndtnnnnnnv | |
| 2-6 c: dccccdc | |
| 10-11 v: vvvlvvvvvvb | |
| 7-10 w: wwwwwcwtzwkpvjqwsb | |
| 1-5 x: xxxxxxx | |
| 5-8 g: dhggzggsggggglgggg | |
| 8-9 t: dttttttdtfnt | |
| 11-17 g: cqgglgtwgggcbwjvwg | |
| 1-2 t: ttttt | |
| 16-17 j: jjjjjjjjjjjjjjjjjj | |
| 4-7 k: lkdkhkkkfk | |
| 15-17 z: zzzzszzzzzzzzzwzlz | |
| 3-13 w: wwswwwwwwwwwfwww | |
| 5-12 h: mstzhsghhhhnzmdrh | |
| 10-12 h: hhhhhhfhhphhbhhk | |
| 3-4 j: jjsd | |
| 11-12 k: kkkkkkmkkmfd | |
| 19-20 d: ddddhdddddddddddddxj | |
| 7-8 g: gggjggrg | |
| 4-5 m: mdzmv | |
| 3-4 w: wwww | |
| 7-8 b: bdbwbbbbb | |
| 2-12 q: dxqqqqqjqqqlqq | |
| 3-6 w: wwwwxwh | |
| 9-11 s: smhnkssssssstxj | |
| 5-6 n: nnpnkj | |
| 7-8 s: qsgdxkjs | |
| 9-14 m: mmmmmmmmsmmmmv | |
| 1-3 v: vvcvv | |
| 2-5 x: kzxgjttwxspclfx | |
| 5-8 c: ccctpcckz | |
| 5-6 h: hhhchthqxchh | |
| 3-7 t: hnrcqdtttmtxtnmhcf | |
| 2-4 v: vvlz | |
| 4-5 k: kbgkl | |
| 9-12 x: mhzpjqtxqnfrcnwhk | |
| 7-11 z: slztclzvxbzmz | |
| 13-14 l: ldllllllllllkcl | |
| 1-2 l: fslcthfv | |
| 12-16 b: bxbkbbbbbbbbbbbb | |
| 1-4 r: rrmr | |
| 8-11 d: dddfdpdddtdd | |
| 17-20 n: nnnsngnbnnnnnnnncnnn | |
| 1-16 x: xxxxxxxxxxxxxxxxx | |
| 2-4 z: zqzv | |
| 1-4 m: fnwm | |
| 2-3 j: jqvd | |
| 10-12 h: ghhhhhjhhchg | |
| 14-15 v: vvtvvvvvvvvvvvv | |
| 4-6 f: ffffff | |
| 8-20 g: tgghjfglrzggggcxhcgg | |
| 9-11 p: pvpmzppppkpk | |
| 5-18 x: xxxxnxxxxxxxxxxxwlzx | |
| 10-11 m: mgdmrfchqwmfmrlnq | |
| 7-8 g: gggggzxs | |
| 4-6 n: vjnchzknzbvnvn | |
| 17-18 p: pppppppppppkppppjp | |
| 6-8 d: dddddfddld | |
| 1-4 r: brrr | |
| 2-10 m: mzmmhqmmmmkmmwm | |
| 8-15 f: cfjwxkgmfkxdmwxf | |
| 3-8 c: djskjzcmwjcz | |
| 2-3 k: hkckkjbztrggrffvxwm | |
| 11-13 d: krddnddddrddgdddd | |
| 4-5 f: zjsndf | |
| 4-5 r: rrrgl | |
| 1-2 z: tsbn | |
| 1-11 s: sssdwtjssssskkszms | |
| 6-16 x: xfxxtxxxxxxdxzxmxx | |
| 5-13 m: mmmmmmmmmmmmmvm | |
| 2-4 z: zdzj | |
| 3-4 d: dddd | |
| 3-4 n: nnmnkv | |
| 14-16 d: dfddddddddddtddddqdd | |
| 5-7 n: jnnnnnnj | |
| 8-16 q: qqltjqqqqqqqsqqfq | |
| 10-14 s: sssxsmsssvqjssss | |
| 6-7 w: wwwwjwwxwd | |
| 2-5 m: mzqcndqmnmmgwmsspm | |
| 9-10 k: tkkkkrkkkhkk | |
| 3-5 r: rxrrrrr | |
| 7-11 c: glfcdqrcnfhc | |
| 8-9 r: rrrrrrrjd | |
| 7-8 d: ddddddlk | |
| 2-7 j: pjsmjjr | |
| 2-4 x: txxx | |
| 13-15 f: ddkhqfnbcmtwvbf | |
| 7-11 n: nnnnnnnnnnvn | |
| 7-9 m: jmmmlgmmthlrm | |
| 8-13 w: wwwwkwwgwwwwfrwww | |
| 2-6 d: drdrhn | |
| 8-10 k: lnkfrvgkzkchq | |
| 4-7 z: lxjzzzzhzprrzzzpcwj | |
| 1-2 s: lssc | |
| 2-3 n: jmkcngpn | |
| 3-9 x: xxmzxnxxxx | |
| 3-12 v: nqwshwqgfnwvwvnf | |
| 5-8 m: zmmmmmmmqlkprv | |
| 1-5 q: qpqrqwqsvpjqf | |
| 14-18 q: qqqqqqqtqqqcqqqqqq | |
| 13-16 v: vvvvhvvvvvvvrvxdv | |
| 2-6 r: rrlrrrk | |
| 6-8 r: hmsrxsrkprdrrrl | |
| 14-16 s: sssssslssgswssssss | |
| 3-11 t: ctttvsnfcstzktktb | |
| 1-11 c: gwfbddphwnqcmf | |
| 3-18 h: hhhhhhwhhhhhhhhhhs | |
| 7-9 c: cjjcrtpvctccfcc | |
| 6-14 f: fffffgfffffffff | |
| 8-15 z: zzzzzzzzzzzzzzdz | |
| 9-16 d: ddddbdddhddddqpd | |
| 1-2 q: qffc | |
| 3-5 l: grcsjln | |
| 12-13 q: qqqqqqqqqqqqq | |
| 4-5 q: qqqlk | |
| 1-3 w: wwwx | |
| 3-4 w: kwwf | |
| 5-15 m: pkwmgmmxspzxhmmrmp | |
| 5-18 t: ttfthsbwntpcnttmwtc | |
| 14-15 p: pjpjwppkpxpqkpf | |
| 1-3 n: nnnn | |
| 8-9 j: jjjjjjjbxj | |
| 4-6 w: gfhwfwwmfx | |
| 8-11 k: kkckkkknkkkk | |
| 13-14 m: mmmmmmmmmmmmsqmmm | |
| 2-4 s: tsrz | |
| 9-13 j: tjvjqpnjjjlkwjjljrj | |
| 3-4 f: xwfgf | |
| 2-7 h: rhxshbh | |
| 10-18 j: jjjjjjgbjjjjjjjjjjj | |
| 5-14 n: fnwnnnsnnnncnpnn | |
| 9-13 h: qhhlnhhhqhhhm | |
| 3-17 h: hhfgzkhhjhrbhwdcpbnh | |
| 2-4 c: qccrblqtcd | |
| 13-16 s: ssjssqssssqsxssw | |
| 10-15 n: nnnnnnnnnqnnnnf | |
| 2-3 m: nmtl | |
| 2-4 w: wqwdt | |
| 4-7 v: vvvvvvvvvvv | |
| 5-6 w: wbctwwwgj | |
| 4-6 q: qqqttqzzwsxp | |
| 2-7 r: rcrrrrrr | |
| 10-12 d: sdmddcfdddzvdddddq | |
| 1-15 f: ffffffffffffffffff | |
| 3-7 r: rrwddcjgr | |
| 2-11 t: tttttgttttttt | |
| 3-6 n: nhxgnqnnfs | |
| 1-3 t: pqtwt | |
| 8-17 r: rrrrrrrrrrrrrrrrrrrr | |
| 3-16 t: tktnpjtcthrhtqltq | |
| 5-6 h: kcmkkqdrbhhxm | |
| 3-4 l: llll | |
| 1-14 g: gggdgrvjtqfgpk | |
| 5-8 p: ppppplwcpp | |
| 4-7 d: ddddtdmdd | |
| 1-7 q: qqvxrqq | |
| 8-10 v: pvvvgkqrvvgnvlvv | |
| 17-19 g: sdgghgnggggggfbmggp | |
| 6-8 x: rvjknxlx | |
| 13-14 r: rrrrrrrrrrrrrb | |
| 3-10 b: zbkmbbbbbb | |
| 4-6 d: kdtbdmkd | |
| 8-12 m: mmzmmmmmcxmmh | |
| 7-8 n: gspnbfnp | |
| 13-14 l: llllllllllllnf | |
| 4-5 b: rzbbbxblvbwbrbbbx | |
| 3-5 x: bxgrcxxrk | |
| 2-4 j: jjjh | |
| 11-13 r: rrrrrrrrrfrrrrrrr | |
| 4-7 q: mwqqfqqqnwqwq | |
| 2-3 g: sghvhggvv | |
| 4-5 k: kkkkk | |
| 11-12 s: ssssssskssgss | |
| 16-17 g: dcgqnwtptvvlfkdgg | |
| 4-5 v: vvvqc | |
| 2-6 s: xsksrmrrd | |
| 7-8 w: swwwwwfnww | |
| 5-6 m: hmgchm | |
| 6-8 m: mmmglzmmmhfnfqk | |
| 2-5 c: bnjknt | |
| 2-3 x: lxxj | |
| 1-4 g: gqgpzgtj | |
| 3-12 c: cngsrcvcjccxgcc | |
| 2-11 z: zpzzzzzzzzzzz | |
| 6-7 s: ctsxgslsjbstspgsl | |
| 1-2 v: vnqs | |
| 4-5 n: rnnwcnfl | |
| 14-17 v: kvvvvvvvkvvvvbnvw | |
| 5-6 h: hhhchhh | |
| 1-7 d: vmcdddj | |
| 14-16 n: snnnnnnnnnnmnnnhn | |
| 11-16 h: hhhhhhvhdhrhhghn | |
| 3-5 k: lckkknk | |
| 1-12 t: tcttbpgtdwdxwddrxv | |
| 1-13 x: jxxxxxxxxxxxfx | |
| 11-12 l: llllflllllll | |
| 11-14 p: qpphckzdppkjxz | |
| 3-16 d: nfngxfjxwdpjvjcds | |
| 4-5 b: xkbmb | |
| 11-12 s: sssssssssshs | |
| 15-17 t: tttttttttttwttttt | |
| 14-15 x: xxxxxxxxxxxcxxgm | |
| 3-5 t: wxlttc | |
| 10-11 x: xxxxxxxxxtk | |
| 9-12 h: hhhhhhhhdhhhh | |
| 5-20 d: smdvdkdbqbnsdssfhdnd | |
| 16-17 d: ddddddddddddddsvtddl | |
| 6-11 v: kvvvvvvmvvdv | |
| 2-5 r: nrrgr | |
| 1-4 b: bbbc | |
| 8-10 p: ppppptjpspkpppp | |
| 7-10 w: pjhswvhdjqx | |
| 11-13 c: cfcfccbcctgnccccvcc | |
| 8-14 t: tttttttttgtttttts | |
| 1-4 c: fcccc | |
| 4-6 v: tvfvvvqvlkrpxkvvhztr | |
| 3-6 v: vvdvvbv | |
| 13-15 p: pwppppppppppppp | |
| 1-2 v: pwbr | |
| 15-18 r: xrrrbrrrgrpbrprrqrqr | |
| 2-4 g: zgggp | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| Lines = Input.Split("\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| Width = Lines[0].Length; | |
| //int trees = 0; | |
| // | |
| //var next = Point.Start; | |
| //do | |
| //{ | |
| // trees += (next.IsTree ? 1 : 0); | |
| // next.Dump(); | |
| // next = next.Next(); | |
| //} | |
| //while (next is not null); | |
| // | |
| //trees.Dump(); | |
| int tB = GetPoints(p => p.NextB()).SumTrees().Dump(); | |
| int tA = GetPoints(p => p.NextA()).SumTrees().Dump(); | |
| int tC = GetPoints(p => p.NextC()).SumTrees().Dump(); | |
| int tD = GetPoints(p => p.NextD()).SumTrees().Dump(); | |
| int tE = GetPoints(p => p.NextE()).SumTrees().Dump(); | |
| ((long)tA * tB * tC * tD * tE).Dump(); | |
| } | |
| public static class PointExt | |
| { | |
| public static int SumTrees(this IEnumerable<Point> points) => points.Sum(p => p.IsTree ? 1 : 0); | |
| } | |
| IEnumerable<Point> GetPoints(Func<Point, Point> nextAlgorithm) | |
| { | |
| var next = Point.Start; | |
| do | |
| { | |
| yield return next; | |
| next = nextAlgorithm(next); | |
| } | |
| while (next is not null); | |
| } | |
| public record Point(int X, int Y) | |
| { | |
| public static readonly Point Start = new (0, 0); | |
| private int NextX(int step) | |
| { | |
| int nx = X + step; | |
| return nx >= Width ? nx - Width : nx; | |
| } | |
| private int? NextY(int step) | |
| { | |
| int ny = Y + step; | |
| return ny >= Lines.Length ? null : ny; | |
| } | |
| private Point Next(int xStep, int yStep) => NextY(yStep) is int ny ? new (NextX(xStep), ny) : null; | |
| public Point NextA() => Next(1, 1); | |
| public Point NextB() => Next(3, 1); | |
| public Point NextC() => Next(5, 1); | |
| public Point NextD() => Next(7, 1); | |
| public Point NextE() => Next(1, 2); | |
| public bool IsTree => Lines[Y][X] == '#'; | |
| } | |
| public static string[] Lines { get; set; } | |
| public static int Width { get; set; } | |
| public string Input = @" | |
| .#.#....##.......#..........#.. | |
| ...#...........##...#..#....... | |
| #.####......##.#...#......#.#.. | |
| ##.....#.#.#..#.#............#. | |
| ##.....#....#.........#...##... | |
| ###..#.....#....#.............. | |
| ..........#..#.#..#.#....#..... | |
| ##.....#....#.#...#.##......... | |
| #...#......#....##....#..#.#... | |
| .##.##...#....##..#.#.....#...# | |
| .....#.#..........##.#........# | |
| .##..................#..#..##.# | |
| #.#..........##....#.####...... | |
| .#......#.#......#.........#... | |
| #....#..##.##..##........#.#... | |
| ##..#.##..#...#..####.#..#..... | |
| ###....#.###.##...........##..# | |
| .....#.##.....##.#..#####....## | |
| ....#.###....#..##....##...#... | |
| ..###.#...##.....#.##..#..#.#.. | |
| #...#..#..#.........#..#....... | |
| ##..#.#.....#.#.#.......#...#.# | |
| ...#...##.#........#...#....... | |
| ..#..#.#..#...#...#...........# | |
| ........#.....#......#...##.... | |
| #........##.##.#.#...#...#..... | |
| ####.......#.##.###.#....#..... | |
| ...#...........#...#......#...# | |
| ##...#...#............#.......# | |
| ....#...........##.......#..... | |
| ###......#.....#....#...#.#...# | |
| .....##..........#.......#.#... | |
| ##.##.##...#......#....#....... | |
| ##..#.#..#......#...#..#....... | |
| ....#....##.##............####. | |
| ..#.###..#.##.###..#.##.......# | |
| #.##..#.#.....#..#.....##...... | |
| ..##..#.....##.#.##........#... | |
| .#..#.#......#..#............#. | |
| .....#..#.#...#....#.##.#...... | |
| .#...##.#..#.#...##...##..##... | |
| ###............#.#..#..#...#... | |
| ..#..##.####.#.....#.....##.### | |
| #....#.##..##....#..#...#.##.#. | |
| .....#.##.........##...##...... | |
| .........####.#....#.#......#.# | |
| .........#.#..#...#.#..#.#....# | |
| .#.....#..##.##..##....#....... | |
| ..........##......#.##.###....# | |
| .##...###..##.#...#........##.. | |
| ..............#.#....#.#.###.## | |
| ..##.##.......#.#......##...#.. | |
| .#.....#..##..#.###...#..#.##.# | |
| #.....#.#..#...#........#...#.. | |
| .#......#....#.#.....###...#..# | |
| ..##.#....#..##......#.....#... | |
| ..#.#.##..#.....#.####..###.... | |
| .........#......#..#........... | |
| ..#........#.##.#.....##.##..#. | |
| .......#.........#....#...#.#.. | |
| .##.....#.#....#.#.......#..... | |
| ..........#.##........##...##.. | |
| ###..###.#.#..#..#####.##.#.##. | |
| ..##..##.#.#...#..#.#.#......#. | |
| #..#..#..#..##..#.....#......#. | |
| ..#....#.##..#......##......... | |
| ..#.##......#...##.#......#.... | |
| .......#..#.##.#.....#......... | |
| .......#.#.#.###...##......#... | |
| .....#.#..........#..#...#..... | |
| ....##..........#..........##.. | |
| ..#......#.....#.##.#..#...#.#. | |
| ....#.....#..#...#..#.#.##..### | |
| .####....#........#...#........ | |
| ...##.#.##.#..#...##...#.##.... | |
| ....#...#...#.#.#.#...#..#..... | |
| .....#...#.#.....#.#........##. | |
| ..#.#.......###.#.....##....... | |
| ......#.........##....#....#..# | |
| .............##.....##......... | |
| .........##...##.......#.....#. | |
| ##.........#..........#.###..## | |
| ...#.....#......#....#..##..... | |
| ##..#...#...##.#.....#.#......# | |
| ..#...##.#.......#.#......#.##. | |
| ......#.......#.#...........#.. | |
| ..........#.....##............# | |
| #........#...#..#.......###.##. | |
| .##...........#.#........#.#.#. | |
| ...#..##...#.#....#####.#...... | |
| .....##...###...#..#.##...####. | |
| ...#....#.....#..#.......#..... | |
| #....#....#...#..#..#.######..# | |
| #.###...........#......#...#..# | |
| .#.#.#.#..#....#....#...##.#... | |
| .#..#.........#.#....###...#... | |
| ......#..##.##..........#....## | |
| .....#......##....##.....#...#. | |
| .#...#.#.#....##....#..#....#.# | |
| ..................#..###.#..##. | |
| ..#.........#......#....#..###. | |
| #.#.....#..#..#....###..###.... | |
| ..##..##.#..##........##...##.. | |
| ##..#........##..###..#.....#.# | |
| ..#..###..#......#....#...#...# | |
| #..#.#..............##.#..#.#.. | |
| .....####....#...####.....#.#.. | |
| .....#....##.#......###........ | |
| ##.##...#.#.#.#.......#....##.. | |
| .#......#...#.#....#..##.#.##.# | |
| #.#.##.#.#......#..##........## | |
| ...##.....#.....#...#..###...#. | |
| ........###.....#.....#...##..# | |
| .....#.##.##......#.#....#...#. | |
| .#....##.......#..#.####....... | |
| .#..#....#..........#......#.#. | |
| .#.##.##.....###.#.#........... | |
| .........#......#..##.......... | |
| ....#...##.#.#.#..#.#.........# | |
| ..#.....#.##...#..#..#.###....# | |
| ...#.##......#.....##....#..... | |
| ###............#.#....#...#.... | |
| .......#.....#..#.#.#....#..#.# | |
| ...#......#.#..##..#....#...#.# | |
| ............##........##..##... | |
| ..#..#.##..#......###..#....... | |
| ........#.........#............ | |
| ..#...#.#########.#...##..###.. | |
| #....#......#.......#.#.....#.. | |
| #.#..#....###.###....#...#.#... | |
| #...###.#.#.......#.##......#.. | |
| .................#...#.#.#..... | |
| ##....#...#........#....#.#..#. | |
| ......#.....#...#..........#.#. | |
| ##..........#...#..........#.## | |
| ..#.#.##.#....#.#......#...##.. | |
| .....#.......#..#.....#........ | |
| #.##.#..##..#.......##......... | |
| ....#......#..#..#.#...#....... | |
| ...#....#................###... | |
| .##.....#.#....#.#..........##. | |
| ...#..#....#.##.##......#...... | |
| ..#.#....#.......#.#..##....... | |
| ....#.....#..........##.#.##### | |
| #.....................##..#..#. | |
| .###..#.##.......##.#...#..#... | |
| ...###.......#..#...#......#..# | |
| #..#...#.#..#.#..#..#.##....... | |
| #...##.......#..#..#.##..###... | |
| ......#....#.#.#........#.##..# | |
| ..##..#....#....#..#.#..#...... | |
| ..##.#...#.#######..#...#.....# | |
| ..#....#..#.........#..##...... | |
| ...#....#.#......#..#..#.#..... | |
| #..#....#........#.#..##....### | |
| #....#..##......##.##.....#.### | |
| ...#.#..........#..#.#.#.#.##.. | |
| ......##..#.#..#.#....#....#... | |
| ##....#....#..#..#.##......#... | |
| ....#.#..##.#.#...###....##.#.. | |
| ...#.......##..#.......#...#... | |
| ......##.......#..##.....#...#. | |
| ...#.#...#...........#...#..... | |
| .#....#...#......##.##..###..#. | |
| .#..........#...#...#...##.##.. | |
| .....###..#.....#..##....#.#### | |
| ..#.###..#..##..##.....#.#..... | |
| .............#.###...##.#.....# | |
| ....###.......###.#.....#..#.#. | |
| ........##.#.........#.....###. | |
| .....###.#..#.....#...#..#..... | |
| .#....#..##.#..#.#....#.......# | |
| ........#......#.#..#.#..#...## | |
| ...#.##.##......#.............. | |
| .#.....##.#.....#..#......##... | |
| #..#..#.....#.....#.....###.... | |
| .##...........#..#.##.....#.... | |
| ..#.#......#.#...#.##.#..#...## | |
| ...#..........#.....#.......... | |
| #.#.#.#.#...#....#...#.....##.. | |
| #......##...#...#..........#.#. | |
| ....##........#.#.............. | |
| #..#.#.#..#........##......#.## | |
| ........####...##.#.....#...... | |
| ....#........#.#..#..##..#.#... | |
| .#.....#..###...#..#.....#..#.. | |
| #......###.#..#....#..#.#...... | |
| ....#.....##.##..#...#.#..##.#. | |
| ..##..#...#.#......#....#...#.# | |
| #..##...##..#...###...#..#..... | |
| .......#.....#...........##.... | |
| #..##....#........#....##..#.#. | |
| .#........#..##...###.#..#..... | |
| .#.#....#..##...#...##.#..###.. | |
| #.........#.......#.....#.#.... | |
| #..#.....#.#.###.#..#......#... | |
| ....#..#.#....#..##..###....### | |
| ###.##.#.#..#...........#.#.#.. | |
| ..##.#.......#......#..##....#. | |
| .....#.#.#.......##.......#...# | |
| ...........#.##....##.##....#.# | |
| ...#.......#..#.##..#......#..# | |
| #.#.#...#......##.#...........# | |
| ##........#...........###.#..#. | |
| ..........#.#.#....#.#..##.#.#. | |
| ...#.#.#....#..........#..#.... | |
| #.#....###.#.#..#.......###...# | |
| .#....#......#.#.#..#..#....... | |
| ......##.............#....#.#.# | |
| .#..........#.........#.##..... | |
| ##....#....##....#..#.......#.. | |
| #.##.##.#..#..#.....#..#.##.#.. | |
| .#..#.......##..#.....##.##.... | |
| .......#..........#.#.##..#.##. | |
| ....#.....#.#...##....##....... | |
| .......#.........#...##....##.# | |
| #.....#......#..........#...#.. | |
| ...#.#.......#.#..#....###..#.. | |
| .....#.#.#.........#........... | |
| .#..###.#.#........#.#......... | |
| .........#..#......##...##....# | |
| ...###..#.....##.....#.###....# | |
| .##...#...#........###.#..#.... | |
| .##........#..#.###.######.##.# | |
| ##.#...#.#....#..##.#....##.... | |
| .......##.....##.#..###.#...... | |
| ..##...##........#.......#....# | |
| #..##...#.####...###......#...# | |
| .##.....#.##.#.#.....###.#..##. | |
| ..###....#.#.###.#....#........ | |
| ....#..###..#...#....#..#..#.#. | |
| #.#.##....##...##.......#...... | |
| .........#...#....#..#......... | |
| .............#...#..##.#....... | |
| ...#.##.......#...#.#..##.##... | |
| .####.#.##..#.#......#.##...#.# | |
| .#..#.#.....#.................# | |
| ..#.##..###....#...#......####. | |
| ..##..##...........#....#...#.. | |
| ....#...#...#...#.......#....#. | |
| #.#...###...#...#.#...#....##.# | |
| ......#...#.#.......#.....#...# | |
| ....##...#.#.#....#....#.#....# | |
| .....#.....#...##..#...#....##. | |
| #.....#....#......##.##....#... | |
| ...#.#....#...#....#.#....##..# | |
| ...#.#..#...##....###..#....... | |
| ...##......###...###.#...#..#.. | |
| ##.......#.......###.......#..# | |
| ..##.##..###.#............#...# | |
| #.....##..#..##....##..#....... | |
| ......#.#...#......#.....#..... | |
| #...........#....#..##.##.#.... | |
| .......#..#......#...#....#...# | |
| .#...##...........#......#...#. | |
| #........#....##...###.#....#.. | |
| .....#.......##.........#.##... | |
| .#.###..#....#..##.#..#.#..#... | |
| #.......#.##.#.#....#.#..#....# | |
| ###.....#.#.......#..#......#.# | |
| #..#.#.......#.#..##..##.#.#... | |
| #..#.#.#.###........#.....#...# | |
| #.#.#..#..##.....#...........#. | |
| ..#.#..#.....#...#...#...##.... | |
| ...#.##......#...##.#...#.#.#.# | |
| #..#.#.#.#.......####.......... | |
| ..#......#.#......##.###.....## | |
| ..#...##..#.........##....#.##. | |
| ##.##.##.#.#.....#..........##. | |
| .#.....###.#..#....#..#.###...# | |
| #...##.......###....#.#..#..... | |
| ..#....##.........##.........## | |
| ......#....#.##.......#........ | |
| ..#.#.#..#...#...#...##.#...#.. | |
| ......#..##.#.#.#...##...#.#.## | |
| #..#...##.#.....#...#.##....... | |
| ..#..#.........##.#...#.##...## | |
| ##.##.#....#.......#.##..#..... | |
| .....##...##.##...##.........## | |
| #......#...#.......#...#...#... | |
| ...##...........#...#..#....... | |
| .#.##.#..#........#....#....... | |
| #.#...#..#......##...#.#.##.... | |
| ##........####..#.#...#.#.##.## | |
| #..#.#.##......##.#.#..#....... | |
| .....#.........#..#.####....#.. | |
| ......##..#....#...#.#....#.... | |
| #...##........#.........#.....# | |
| .#.#...#.#.#..#............##.# | |
| .#..#....#....#.....#...#.....# | |
| ..###...#..#.....#.##.###...#.# | |
| .#.###..#..#...#.#...#.#......# | |
| #...#####......###........##... | |
| .....#.....#..#.#....#..##..... | |
| ....##...#.#.##.#####...#....#. | |
| .#.#.........##.#.......#..##.. | |
| .#...#.#...#...#....#.#...##.#. | |
| .##...#..#.#..#......#.#.#..##. | |
| ..#.....#..#.....##.....#...... | |
| ..#........#..##...#.......###. | |
| .#....#.......#....#....#..#... | |
| ....#......#.#.#.........#..... | |
| ..##...#.#.#...#.#........#.... | |
| .#.....####...##.#..#...##..... | |
| ...#.....#...#...#....#....#... | |
| .........#..#.#.....#..#.#..#.. | |
| .........##...........#.......# | |
| ......#..#.....##...#.##.#..... | |
| .#......##........##...#.#.##.. | |
| .....#.#..##...........#..#..#. | |
| ...#.......#...#.#..#.##..#.##. | |
| ...#.......#.....#.#...#.##.#.. | |
| #.....#.............##.#..####. | |
| .#...#......#...##.#....#.#.... | |
| .##..##.##....#.#.....#.......# | |
| ...#...#....#....##.#..#....##. | |
| ..............##....#.......#.# | |
| .#.#.#...##..#..#...###.#..#... | |
| .#.#...#.#..#.#..#...######..#. | |
| ........#......#.#..#.#....#... | |
| ..###.....###.#.##....#...##... | |
| .##.#.....#.......##.......#... | |
| ..#..##...#..........#.#....#.# | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var passportStrings = Input.Split("\r\n\r\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);//.Dump(); | |
| passportStrings.Select(s => Passport.Parse(s)).ToList().Dump() | |
| .Count(p => p.IsValid).Dump(); | |
| } | |
| record Passport(int? BirthYear, int? IssueYear, int? ExpYear, string Height, string Hair, string Eye, string PID, string CID) | |
| { | |
| private bool BirthYearValid => BirthYear is int byr and >= 1920 and <= 2002; | |
| private bool IssueYearValid => IssueYear is int iyr and >= 2010 and <= 2020; | |
| private bool ExpYearValid => ExpYear is int eyr and >= 2020 and <= 2030; | |
| public bool HeightValid { | |
| get { | |
| if (Height is not null && Regex.IsMatch(Height, @"\d+((cm)|(in))")) | |
| { | |
| int value = int.Parse(Regex.Match(Height, @"\d+").Value); | |
| return (Height.Contains("cm") && value is >= 150 and <= 193) | |
| || (Height.Contains("in") && value is >= 59 and <= 76); | |
| } | |
| else | |
| { | |
| return false; | |
| } | |
| } | |
| } | |
| public bool HairValid => Hair is not null && Regex.IsMatch(Hair, @"^#[0-9a-f]{6}$"); | |
| public bool EyeValid => Eye is not null && Regex.IsMatch(Eye, @"(amb)|(blu)|(brn)|(gry)|(grn)|(hzl)|(oth)"); | |
| public bool PidValid => PID is not null && Regex.IsMatch(PID, @"^\d{9}$"); | |
| public bool IsValid => | |
| BirthYearValid | |
| && IssueYearValid | |
| && ExpYearValid | |
| && HeightValid | |
| && HairValid | |
| && EyeValid | |
| && PidValid; | |
| //BirthYear is not null | |
| //&& IssueYear is not null | |
| //&& ExpYear is not null | |
| //&& Height is not null | |
| //&& Hair is not null | |
| //&& Eye is not null | |
| //&& PID is not null; | |
| //&& CID is not null; | |
| public static Passport Parse(string raw) | |
| { | |
| raw = raw.Trim(); | |
| var flatKeyValue = raw.Split(new string[] { "\n", ":", " " }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| int? byr = default; | |
| int? iyr = default; | |
| int? eyr = default; | |
| string hgt = default; | |
| string hcl = default; | |
| string ecl = default; | |
| string pid = default; | |
| string cid = default; | |
| for (int i = 0; i < flatKeyValue.Length;) | |
| { | |
| string StrVal() => flatKeyValue[i++]; | |
| int IntVal() => int.Parse(StrVal()); | |
| switch (flatKeyValue[i++].ToLowerInvariant()) | |
| { | |
| case "byr": | |
| byr = IntVal(); break; | |
| case "iyr": | |
| iyr = IntVal(); break; | |
| case "eyr": | |
| eyr = IntVal(); break; | |
| case "hgt": | |
| hgt = StrVal(); break; | |
| case "hcl": | |
| hcl = StrVal(); break; | |
| case "ecl": | |
| ecl = StrVal(); break; | |
| case "pid": | |
| pid = StrVal(); break; | |
| case "cid": | |
| cid = StrVal(); break; | |
| } | |
| } | |
| return new Passport(byr, iyr, eyr, hgt, hcl, ecl, pid, cid); | |
| } | |
| } | |
| public readonly string Input = @" | |
| ecl:amb | |
| pid:690616023 | |
| byr:1994 iyr:2014 hgt:172cm hcl:#c0946f eyr:2022 | |
| eyr:1980 cid:97 | |
| hcl:z ecl:#102145 iyr:2011 byr:1945 | |
| pid:187cm hgt:179in | |
| ecl:amb | |
| iyr:2011 | |
| cid:113 | |
| eyr:2021 hcl:#b6652a pid:004682943 byr:1940 | |
| hgt:173cm | |
| iyr:2023 | |
| cid:146 byr:2022 ecl:dne hgt:76in eyr:2040 hcl:z | |
| hcl:#f97e30 | |
| cid:73 iyr:2013 byr:1929 hgt:157cm | |
| eyr:2024 ecl:blu pid:673398662 | |
| hcl:5343fe | |
| hgt:152 byr:2018 | |
| eyr:1992 pid:85999926 iyr:1938 ecl:#15bd97 | |
| byr:1975 hcl:z eyr:1988 pid:#c36f52 | |
| iyr:2018 | |
| hgt:184cm | |
| byr:1954 eyr:2023 hgt:170cm iyr:2012 ecl:blu pid:299556897 hcl:#b6652a | |
| hgt:191cm ecl:oth hcl:#7d3b0c | |
| iyr:2016 pid:187567535 | |
| byr:1999 eyr:2023 | |
| pid:814358147 eyr:2022 iyr:2000 byr:2001 hcl:#18171d | |
| ecl:blu | |
| hgt:76in | |
| ecl:hzl | |
| hgt:163cm byr:1955 iyr:2018 eyr:2024 hcl:#6b5442 pid:343362099 | |
| eyr:2020 pid:185090160 ecl:#21a5e6 | |
| iyr:1928 byr:2006 hcl:a2ebbf hgt:104 | |
| hgt:153cm | |
| hcl:#a97842 ecl:blu eyr:2028 byr:1969 iyr:2019 | |
| pid:729700590 | |
| iyr:2019 byr:1981 hgt:150cm pid:606092356 hcl:#18171d eyr:2026 | |
| ecl:grn | |
| pid:760899887 | |
| eyr:2023 hcl:#866857 hgt:185cm iyr:2017 | |
| byr:1976 ecl:gry | |
| byr:1965 eyr:2026 | |
| hcl:#623a2f | |
| ecl:blu pid:483363116 iyr:2010 hgt:178cm cid:204 | |
| ecl:oth eyr:2022 | |
| pid:268557763 byr:1965 iyr:2015 hcl:#c0946f hgt:164cm | |
| ecl:gry hgt:168cm hcl:#623a2f eyr:2020 cid:163 pid:124082663 iyr:2016 byr:1996 | |
| hcl:4c44fb iyr:1957 eyr:2039 ecl:grt hgt:63cm byr:2012 cid:104 | |
| byr:2024 iyr:2023 | |
| ecl:gry | |
| eyr:2007 pid:170cm hgt:68 hcl:d57b67 cid:333 | |
| byr:1956 | |
| hgt:169cm iyr:2013 pid:370491367 | |
| ecl:gry hcl:#5bc41d | |
| eyr:2023 iyr:2028 byr:1969 ecl:lzr hcl:1989b1 hgt:71cm pid:#12c226 | |
| cid:304 pid:866132461 | |
| byr:2022 | |
| hcl:z hgt:191in ecl:lzr iyr:2029 eyr:1989 | |
| ecl:brn hcl:#9a45a7 | |
| hgt:176cm | |
| byr:1974 pid:758747330 iyr:2014 eyr:2020 | |
| cid:190 ecl:hzl iyr:2014 byr:1990 hgt:69in eyr:2037 pid:384015829 hcl:#ceb3a1 | |
| byr:1998 eyr:2022 iyr:2018 hgt:153cm | |
| hcl:#733820 pid:424512443 | |
| ecl:blu | |
| hcl:27c41f byr:1972 eyr:1994 pid:777840405 | |
| ecl:gry | |
| hgt:179cm | |
| iyr:2021 | |
| hgt:166cm eyr:2032 ecl:gry byr:1936 | |
| pid:41703652 | |
| hcl:#efcc98 iyr:2019 byr:1936 pid:985830958 eyr:2021 | |
| hgt:175cm ecl:brn | |
| eyr:2025 pid:972163513 hgt:155cm ecl:brn cid:169 iyr:2015 | |
| hcl:#6b5442 | |
| eyr:2026 | |
| hgt:173cm | |
| byr:1984 | |
| cid:191 | |
| pid:791209101 hcl:#341e13 iyr:2020 ecl:hzl | |
| hgt:64cm | |
| iyr:2010 byr:1978 | |
| pid:618891746 hcl:#d6ac23 eyr:2023 ecl:brn | |
| eyr:2021 hcl:#341e13 iyr:2018 pid:502081929 | |
| ecl:blu | |
| ecl:amb | |
| iyr:2018 pid:8933462515 | |
| hgt:160cm hcl:e330f0 eyr:2030 byr:2007 | |
| ecl:gry byr:1980 hcl:#341e13 iyr:2015 pid:830724822 hgt:167cm cid:156 | |
| eyr:2023 | |
| ecl:gry hcl:#c39b75 byr:1995 hgt:153cm | |
| eyr:2029 pid:83056475 iyr:2013 | |
| byr:1965 cid:250 | |
| ecl:oth iyr:2016 | |
| pid:242792947 eyr:2025 hcl:#efcc98 | |
| byr:2011 ecl:#62fe2d hcl:#2b434a hgt:190cm | |
| eyr:2031 iyr:1964 pid:7096872943 | |
| cid:258 hcl:#c0946f pid:698224453 eyr:2029 hgt:189cm iyr:2012 ecl:blu byr:1963 | |
| eyr:2028 byr:1942 hgt:156cm pid:836243052 iyr:2016 | |
| hcl:#888785 cid:310 ecl:brn | |
| hcl:#a97842 pid:740164307 ecl:oth byr:1997 | |
| hgt:166cm | |
| iyr:2015 eyr:2026 | |
| hcl:4ee9da iyr:2020 | |
| eyr:1933 hgt:136 ecl:#8dee29 pid:44266010 byr:1966 cid:82 | |
| ecl:amb byr:1921 hgt:182cm eyr:2026 | |
| hcl:#c0946f iyr:2010 | |
| hgt:178cm cid:343 eyr:2023 pid:197119382 hcl:#623a2f iyr:2017 | |
| ecl:brn byr:2002 | |
| eyr:2030 byr:1967 ecl:blu hgt:166cm iyr:2017 | |
| pid:655602762 hcl:#6b5442 | |
| cid:143 hgt:152cm eyr:2026 iyr:2018 byr:1950 ecl:grn hcl:#866857 pid:067535973 | |
| byr:2019 ecl:#e3c288 iyr:1948 hgt:72cm hcl:7da71b eyr:1956 | |
| hcl:#cfa07d | |
| pid:688405238 cid:200 byr:1950 | |
| iyr:2020 ecl:hzl hgt:170cm | |
| eyr:2026 hgt:164cm iyr:2010 hcl:#b6652a pid:404835595 byr:1924 ecl:blu | |
| iyr:2016 hcl:#866857 | |
| ecl:gry | |
| eyr:2023 pid:986813245 cid:247 byr:1977 | |
| hgt:173cm | |
| ecl:#a59335 eyr:2023 | |
| hcl:033f22 byr:1947 hgt:152 | |
| iyr:2029 pid:#1e686a cid:305 | |
| byr:2005 | |
| ecl:amb hcl:#a97842 | |
| iyr:1972 | |
| eyr:1967 pid:274884869 | |
| eyr:2038 iyr:2018 | |
| pid:181cm ecl:xry hgt:185in | |
| hcl:109b28 cid:287 | |
| ecl:amb byr:1943 pid:002483342 hgt:178cm | |
| hcl:#c0946f eyr:2030 | |
| iyr:2014 | |
| iyr:2020 byr:1963 cid:131 hcl:#18171d hgt:181cm pid:146726616 eyr:2021 | |
| pid:062629370 byr:1931 hgt:188cm eyr:2021 ecl:gry | |
| hcl:#166b3d | |
| pid:007028786 ecl:blu hgt:156cm byr:1981 hcl:#888785 cid:53 iyr:2019 | |
| iyr:2014 hcl:#623a2f | |
| ecl:hzl eyr:2029 byr:1988 | |
| pid:849096536 hgt:167cm cid:322 | |
| pid:160824363 | |
| hcl:#19bed3 | |
| eyr:2024 hgt:171cm | |
| byr:1968 iyr:2019 | |
| eyr:2024 hcl:#dd66d0 | |
| byr:1986 | |
| cid:105 pid:816153574 ecl:hzl iyr:2013 | |
| hgt:173cm | |
| hcl:#ceb3a1 hgt:62in ecl:gry | |
| iyr:2017 cid:234 byr:1963 | |
| eyr:2029 | |
| pid:514406488 | |
| hcl:#fffffd ecl:blu | |
| eyr:2020 iyr:2010 | |
| pid:544347103 hgt:164cm byr:1939 | |
| eyr:2021 | |
| pid:999479324 hgt:164in ecl:brn iyr:2016 | |
| hcl:#a97842 byr:2020 | |
| pid:053149570 byr:1920 eyr:2027 hgt:190cm iyr:2011 hcl:#fffffd ecl:oth | |
| hgt:165cm | |
| hcl:#cfa07d | |
| ecl:oth | |
| eyr:2023 | |
| pid:186cm | |
| byr:1937 iyr:2012 | |
| eyr:2026 hgt:64cm hcl:#ac426a byr:1969 | |
| cid:345 iyr:1960 | |
| pid:#df648a ecl:blu | |
| byr:1923 iyr:2017 | |
| eyr:2027 pid:798497862 hgt:182cm | |
| hcl:#ceb3a1 ecl:oth | |
| hgt:182cm eyr:1990 ecl:grn hcl:#efcc98 byr:1968 | |
| pid:005962011 | |
| iyr:2010 | |
| cid:74 eyr:2020 hgt:71in | |
| iyr:2015 pid:487940408 byr:1952 | |
| hcl:#733820 | |
| hgt:75cm cid:249 | |
| ecl:hzl | |
| hcl:#6b5442 pid:4860441 eyr:2020 | |
| ecl:hzl eyr:2025 hgt:183cm | |
| iyr:2020 byr:1993 pid:572766871 hcl:#866857 | |
| hcl:#888785 pid:200125941 hgt:155cm byr:1923 | |
| eyr:2021 iyr:2010 ecl:gry | |
| pid:502547835 iyr:2014 hcl:#b6652a | |
| byr:1985 hgt:189cm eyr:2024 | |
| eyr:2024 hcl:#fffffd ecl:amb byr:1952 | |
| pid:724639818 | |
| iyr:2013 hgt:183cm | |
| byr:2023 | |
| iyr:2026 ecl:gry eyr:2032 hcl:3e0fc4 pid:5620497552 | |
| hgt:84 | |
| cid:79 | |
| hgt:68cm | |
| iyr:2021 | |
| pid:#365b83 byr:1928 | |
| ecl:#79a6b3 eyr:2027 hcl:54130e | |
| hgt:74cm byr:1953 | |
| cid:263 iyr:2018 | |
| ecl:zzz | |
| hcl:#efcc98 | |
| pid:154cm eyr:1951 | |
| cid:272 pid:0638528559 hcl:z hgt:63cm byr:2029 ecl:zzz | |
| eyr:2033 | |
| iyr:2016 | |
| hgt:193cm hcl:#6b5442 pid:715518898 ecl:brn cid:195 | |
| eyr:2025 | |
| ecl:oth | |
| eyr:2025 hgt:166cm byr:1944 | |
| iyr:2017 pid:814141652 | |
| eyr:2025 cid:140 ecl:hzl hcl:#c0946f pid:824866056 iyr:2011 hgt:65in byr:1947 | |
| iyr:2016 | |
| ecl:brn eyr:2021 | |
| hgt:161cm | |
| byr:1984 hcl:#602927 pid:821539320 | |
| hgt:175cm cid:190 hcl:#ceb3a1 ecl:brn byr:1927 iyr:2017 eyr:2029 pid:836598854 | |
| eyr:2026 ecl:brn hgt:157cm pid:038645205 byr:1995 | |
| iyr:2019 cid:339 | |
| ecl:brn hgt:70in hcl:#c0946f | |
| pid:535498918 cid:153 | |
| iyr:2012 eyr:2030 | |
| byr:1995 | |
| hcl:#efcc98 hgt:174cm eyr:2030 pid:180839761 | |
| ecl:grn iyr:2010 | |
| hgt:59cm eyr:2035 byr:2021 iyr:2012 ecl:hzl pid:219328725 hcl:#888785 | |
| ecl:oth hgt:184cm byr:1984 iyr:2016 | |
| hcl:#cfa07d | |
| iyr:1998 byr:2024 ecl:lzr hgt:187 hcl:z eyr:1935 pid:#789b56 | |
| iyr:1967 hcl:z pid:828930046 hgt:59in | |
| cid:153 | |
| byr:2021 | |
| ecl:grn | |
| eyr:1935 | |
| byr:1991 | |
| hcl:#341e13 ecl:gry iyr:2018 | |
| hgt:67in pid:157970631 eyr:2021 | |
| byr:1941 hgt:169cm pid:322510952 hcl:#cfa07d cid:75 ecl:oth | |
| eyr:2021 iyr:2020 | |
| hcl:#7d3b0c iyr:2013 cid:78 hgt:167cm ecl:brn byr:1974 pid:237404828 | |
| pid:1567157833 | |
| hcl:#7d3b0c iyr:2025 eyr:2023 | |
| byr:2002 ecl:oth hgt:191cm | |
| ecl:amb iyr:2014 hgt:182cm pid:526612838 | |
| cid:287 eyr:2025 byr:1988 | |
| hcl:#866857 | |
| hcl:#866857 hgt:174cm byr:1992 eyr:2028 iyr:2015 | |
| eyr:2029 | |
| hgt:190cm | |
| hcl:#18171d | |
| cid:245 | |
| ecl:oth pid:3636033742 byr:2024 | |
| iyr:2019 | |
| byr:1972 hgt:163cm eyr:2020 hcl:#b6652a | |
| pid:360516396 iyr:2019 ecl:grn | |
| iyr:1997 ecl:#be02d2 | |
| eyr:2020 cid:259 byr:1953 | |
| hcl:#6b5442 | |
| hgt:177cm pid:978155362 | |
| pid:377596476 cid:153 | |
| eyr:2025 byr:2000 hgt:181cm iyr:2014 hcl:#abc5cb ecl:hzl | |
| cid:171 ecl:lzr iyr:2013 eyr:1973 byr:2004 | |
| pid:#267099 hgt:101 | |
| hcl:#623a2f | |
| pid:029193661 | |
| hgt:183cm | |
| ecl:hzl eyr:2029 iyr:2013 | |
| byr:1977 | |
| ecl:amb eyr:2021 hgt:159cm byr:1970 cid:152 | |
| hcl:#b6652a iyr:2020 pid:180512119 | |
| eyr:2025 | |
| ecl:grn | |
| hgt:60in iyr:2013 pid:697352361 | |
| hcl:#18171d byr:1989 | |
| byr:1934 hgt:165cm pid:703537570 ecl:hzl iyr:2015 | |
| hcl:#888785 | |
| ecl:gmt | |
| hcl:6dd6a5 | |
| byr:1951 | |
| pid:#7ab761 cid:304 iyr:1924 eyr:1953 hgt:71in | |
| ecl:amb hcl:#733820 eyr:2030 hgt:178cm | |
| pid:692422832 iyr:2019 | |
| cid:276 | |
| iyr:2012 ecl:oth | |
| pid:674969358 | |
| eyr:2027 hgt:157cm cid:247 hcl:#a97842 | |
| byr:2017 eyr:2031 hgt:180cm hcl:#ceb3a1 pid:372071110 | |
| iyr:2015 ecl:amb | |
| hgt:165cm iyr:2015 | |
| eyr:2021 ecl:amb byr:2000 cid:235 | |
| eyr:2027 hcl:#623a2f pid:595874068 | |
| ecl:amb | |
| hgt:177cm iyr:2019 byr:1929 | |
| pid:8150929412 hgt:191in eyr:2031 cid:233 byr:2027 | |
| iyr:2026 ecl:#e94348 hcl:z | |
| hgt:65 byr:2009 iyr:2029 hcl:#fffffd eyr:1950 pid:950012410 cid:212 ecl:#5a6042 | |
| ecl:#44c561 hgt:178cm eyr:2021 pid:753771724 | |
| iyr:2014 | |
| hcl:#70adb2 byr:1989 | |
| iyr:2018 pid:809109448 ecl:amb hcl:#b6652a hgt:63in byr:1976 cid:96 | |
| byr:2021 ecl:grn pid:9284377919 iyr:2011 hgt:75cm hcl:#18171d eyr:2026 | |
| ecl:oth | |
| byr:1926 | |
| hgt:63 iyr:1948 cid:61 hcl:a528d1 eyr:2034 | |
| byr:1978 pid:150503169 iyr:2015 ecl:grn hgt:172cm cid:70 eyr:2022 hcl:#7d3b0c | |
| byr:1957 hcl:#cfa07d iyr:2010 ecl:amb eyr:2025 pid:921901279 | |
| ecl:utc pid:154cm | |
| byr:1964 eyr:1978 hgt:114 hcl:z | |
| byr:1929 ecl:amb eyr:2028 iyr:2013 | |
| hcl:#fffffd pid:479814281 | |
| cid:105 hgt:64in | |
| pid:949640425 | |
| cid:205 hcl:#341e13 ecl:amb | |
| hgt:171cm byr:1998 | |
| hgt:190cm cid:113 ecl:grn eyr:2037 | |
| hcl:#ceb3a1 pid:7994792779 iyr:2011 | |
| hgt:152cm iyr:2010 | |
| byr:1992 eyr:2020 | |
| hcl:#602927 | |
| cid:66 | |
| pid:604149642 | |
| eyr:2028 | |
| byr:1961 hgt:71in | |
| iyr:2013 cid:135 | |
| pid:534090716 hcl:#ceb3a1 ecl:oth | |
| iyr:1937 byr:1995 cid:200 | |
| eyr:2037 pid:#daf9af | |
| hcl:052017 ecl:zzz hgt:73cm | |
| ecl:amb | |
| hcl:#a97842 | |
| iyr:2018 | |
| hgt:153cm | |
| cid:149 eyr:2023 pid:533403632 | |
| cid:275 ecl:brn iyr:2017 pid:087665205 byr:1945 hcl:#7d3b0c | |
| eyr:2025 | |
| eyr:2030 hgt:177cm hcl:#cfa07d iyr:2018 pid:734113761 | |
| byr:1965 | |
| hgt:163cm byr:1924 ecl:blu cid:125 | |
| eyr:2027 hcl:#fffffd pid:137238888 | |
| hgt:174cm hcl:#623a2f eyr:2023 ecl:gry pid:585758460 | |
| iyr:2011 | |
| cid:183 | |
| byr:1928 pid:471385060 | |
| hgt:192cm | |
| ecl:oth iyr:2010 hcl:#623a2f eyr:2020 | |
| hgt:177cm | |
| cid:273 ecl:oth eyr:2020 | |
| hcl:#efcc98 | |
| iyr:2012 pid:246299733 | |
| byr:1954 | |
| pid:052203766 cid:146 ecl:hzl byr:1974 hcl:#6b5442 | |
| eyr:2030 hgt:173cm | |
| iyr:2011 | |
| hgt:167cm | |
| byr:1972 iyr:2010 | |
| pid:783359411 ecl:hzl hcl:#9f8cc9 eyr:2028 | |
| iyr:2020 hcl:#18171d ecl:grn | |
| byr:1992 | |
| hgt:189cm | |
| eyr:2023 pid:736882272 | |
| cid:230 ecl:utc iyr:2022 | |
| pid:170cm | |
| byr:2015 hcl:#c0946f | |
| eyr:2031 | |
| cid:261 | |
| byr:1922 hgt:170cm ecl:brn eyr:2021 | |
| pid:593276915 hcl:#18171d | |
| iyr:2017 | |
| hcl:#341e13 pid:038417039 hgt:61in eyr:2025 iyr:2017 | |
| cid:117 | |
| iyr:2017 eyr:2026 pid:441484223 | |
| hgt:155cm byr:1968 hcl:#ceb3a1 ecl:hzl | |
| eyr:2021 | |
| hgt:64in | |
| ecl:oth hcl:#b6652a byr:1954 pid:204959612 iyr:2016 | |
| hcl:z eyr:1969 | |
| pid:162cm ecl:#944b0f | |
| iyr:2030 byr:2029 | |
| hgt:114 eyr:2034 byr:2026 hcl:84fa1a | |
| pid:47909473 | |
| iyr:2028 | |
| ecl:utc | |
| eyr:2025 ecl:blu hgt:157cm iyr:2014 hcl:#a97842 byr:1974 pid:702610675 cid:241 | |
| pid:732388109 | |
| hcl:#6b5442 cid:272 eyr:2026 hgt:193cm | |
| ecl:amb byr:1982 | |
| eyr:2030 byr:1994 | |
| hgt:177in ecl:amb pid:1589147420 iyr:2011 hcl:#4bf920 | |
| cid:252 | |
| ecl:oth eyr:2022 | |
| byr:1948 | |
| pid:177cm cid:90 hgt:102 hcl:z iyr:2028 | |
| hgt:157cm pid:233347213 | |
| hcl:z | |
| byr:2009 eyr:2027 cid:235 ecl:blu | |
| iyr:1965 | |
| ecl:blu iyr:2030 eyr:2028 hcl:#18171d pid:322593908 byr:1954 | |
| cid:215 hgt:63in | |
| hgt:72cm | |
| cid:345 pid:911728732 eyr:2025 | |
| byr:2004 ecl:#0c4af7 hcl:3bb675 | |
| pid:171714794 byr:2019 | |
| hcl:#866857 | |
| cid:290 hgt:183in ecl:#d0c30f eyr:2032 | |
| iyr:2016 pid:905945155 hcl:#ceb3a1 byr:1958 hgt:159cm eyr:2028 cid:180 ecl:oth | |
| hcl:efb614 | |
| eyr:2022 hgt:177cm pid:46962273 | |
| byr:1974 | |
| ecl:#089bdd iyr:1988 | |
| pid:662993164 iyr:2011 eyr:2025 ecl:hzl | |
| byr:1942 hcl:#fffffd | |
| hgt:175cm | |
| hcl:#7d3b0c iyr:2016 hgt:175cm eyr:2022 pid:953132241 | |
| byr:1963 cid:261 ecl:grn | |
| iyr:2013 hgt:180cm cid:318 | |
| ecl:amb | |
| byr:1985 pid:439097817 eyr:2029 hcl:#602927 | |
| hgt:162cm ecl:blu | |
| pid:675749832 cid:73 | |
| byr:1940 hcl:#888785 | |
| eyr:2026 | |
| pid:275352007 iyr:2012 eyr:2020 | |
| ecl:amb hcl:#623a2f hgt:175cm cid:317 byr:1988 | |
| hcl:z hgt:164in | |
| iyr:2026 eyr:1961 ecl:#2df35e pid:#5c9ed5 cid:341 | |
| pid:848086119 ecl:oth eyr:2021 iyr:2011 hgt:180cm byr:1923 hcl:#93461b | |
| eyr:2028 | |
| iyr:2014 | |
| byr:1978 | |
| hgt:184cm | |
| pid:966277564 ecl:hzl | |
| cid:176 | |
| hcl:#888785 ecl:amb cid:329 pid:835961958 byr:1927 eyr:2028 iyr:2016 | |
| pid:160cm eyr:2026 hcl:#08714b | |
| ecl:hzl iyr:1961 | |
| hgt:156cm byr:1984 | |
| ecl:gry cid:302 | |
| byr:1965 | |
| iyr:2019 hcl:#ceb3a1 eyr:2027 pid:458192010 hgt:156cm | |
| pid:058273969 byr:1942 eyr:2027 | |
| hcl:#c0946f iyr:2013 hgt:179cm | |
| iyr:2019 hgt:193in pid:52144528 eyr:2036 | |
| cid:169 ecl:grt hcl:7e7039 | |
| hgt:192cm ecl:blu iyr:2015 pid:544936486 eyr:2024 | |
| byr:1972 hcl:#c0946f | |
| eyr:2000 | |
| hcl:78de23 byr:2020 | |
| hgt:171in pid:160cm cid:68 | |
| iyr:1956 ecl:gmt | |
| hcl:#733820 ecl:grn iyr:2018 | |
| byr:2001 pid:770957230 | |
| cid:103 ecl:grn iyr:2018 | |
| pid:068344094 | |
| eyr:2023 hgt:69in byr:1984 hcl:#6b5442 | |
| hgt:193cm eyr:2021 ecl:grn hcl:#602927 byr:1938 iyr:2011 | |
| iyr:1931 | |
| hcl:c0a318 | |
| pid:99195939 | |
| byr:2028 ecl:grt hgt:164 eyr:2017 | |
| eyr:1980 | |
| ecl:zzz | |
| hgt:98 cid:161 | |
| pid:#96fe01 hcl:z | |
| iyr:1974 | |
| byr:1936 hgt:176cm pid:56797167 iyr:2015 | |
| ecl:#07ad47 | |
| hcl:z | |
| pid:48720181 hcl:270e76 | |
| byr:2022 | |
| hgt:180cm ecl:#dde399 | |
| eyr:2035 iyr:2023 | |
| eyr:2030 byr:2022 iyr:2018 hgt:162in ecl:gry | |
| hcl:#63e2ec pid:615812600 | |
| ecl:grn | |
| cid:56 hcl:#623a2f eyr:2020 hgt:167cm byr:1971 iyr:2012 | |
| pid:262692066 | |
| hgt:61 hcl:#efcc98 iyr:2011 eyr:2026 | |
| byr:1938 | |
| ecl:amb pid:385025739 | |
| pid:972423724 hcl:#602927 eyr:2027 ecl:oth iyr:2015 | |
| hgt:158cm byr:1956 | |
| pid:530035096 | |
| ecl:hzl | |
| iyr:2017 | |
| eyr:2024 hcl:#888785 byr:1962 hgt:64in | |
| byr:1935 eyr:2022 ecl:grn hcl:#7d3b0c pid:294714199 | |
| eyr:2029 | |
| iyr:2013 | |
| byr:1927 hgt:175cm pid:058261075 hcl:#cfa07d ecl:amb | |
| ecl:blu pid:188764763 hgt:155cm byr:1921 | |
| iyr:2018 eyr:2029 hcl:#b6652a | |
| byr:1975 hcl:930e76 iyr:2019 | |
| pid:169cm eyr:2009 hgt:191 | |
| ecl:#d28c56 | |
| hcl:z | |
| pid:3190617557 | |
| hgt:160cm cid:80 ecl:oth iyr:2022 eyr:2008 | |
| byr:2016 | |
| hcl:#888785 byr:1999 ecl:blu cid:238 iyr:2018 hgt:160cm | |
| eyr:2028 pid:174517111 | |
| eyr:2035 | |
| hcl:z byr:2020 | |
| pid:262135957 cid:324 iyr:2016 hgt:161cm ecl:grn | |
| byr:1936 | |
| ecl:grn | |
| iyr:2013 hcl:#623a2f eyr:2029 hgt:166cm | |
| hcl:#cfa07d hgt:159cm eyr:2021 | |
| ecl:hzl | |
| iyr:2014 pid:816039817 byr:1935 | |
| pid:596634790 hgt:161cm | |
| eyr:2036 iyr:2016 | |
| hcl:#7d3b0c byr:2015 ecl:brn | |
| byr:1952 | |
| hgt:157cm eyr:2024 cid:60 pid:876160626 | |
| ecl:blu iyr:2011 hcl:z | |
| hgt:193cm iyr:2020 eyr:2026 | |
| pid:0136642346 ecl:hzl hcl:#efcc98 byr:1995 | |
| byr:1934 hgt:177cm | |
| pid:445993865 | |
| ecl:brn iyr:2018 | |
| eyr:2030 | |
| hcl:#733820 | |
| eyr:2021 hgt:71in | |
| pid:918630878 | |
| hcl:#602927 iyr:2017 byr:1943 | |
| ecl:gry | |
| ecl:#81de2c iyr:2021 hgt:176cm eyr:1947 hcl:#888785 pid:1370052400 | |
| ecl:amb | |
| byr:1922 iyr:2012 eyr:2022 pid:098866466 hcl:#18171d hgt:63in | |
| eyr:2028 iyr:2010 hcl:184355 | |
| byr:1968 pid:337089458 ecl:brn hgt:181cm | |
| hcl:#733820 pid:225958483 ecl:gry eyr:2030 hgt:62in iyr:2012 byr:1987 | |
| eyr:1955 | |
| hcl:03199c | |
| pid:#3e832e | |
| byr:2014 ecl:#453931 hgt:70cm | |
| byr:1975 | |
| ecl:blu hcl:#7d3b0c | |
| cid:169 pid:582470437 hgt:151cm | |
| iyr:2019 eyr:2027 | |
| iyr:2017 byr:1971 pid:343492418 hgt:150cm hcl:#fffffd eyr:2024 | |
| byr:1997 | |
| eyr:2026 | |
| cid:257 hcl:#7d3b0c ecl:blu hgt:166cm iyr:2016 pid:117625518 | |
| iyr:2014 cid:248 hgt:165cm hcl:#18171d pid:294270262 | |
| byr:1925 ecl:amb | |
| eyr:2028 | |
| hgt:167in ecl:dne pid:174cm iyr:2019 byr:2005 hcl:b29331 cid:86 | |
| hcl:#733820 pid:259969636 eyr:2023 | |
| ecl:hzl cid:317 | |
| hgt:185cm byr:2025 | |
| iyr:2012 | |
| hcl:#cfa07d hgt:152cm pid:807755992 iyr:2020 | |
| byr:1922 ecl:grn eyr:2025 cid:241 | |
| pid:997807107 byr:1958 ecl:dne iyr:2013 eyr:2023 hcl:#18171d | |
| hgt:152cm | |
| ecl:blu hgt:170cm | |
| byr:1932 | |
| pid:775223495 eyr:2024 iyr:2015 | |
| iyr:2011 | |
| ecl:grn hcl:#ceb3a1 pid:190577415 | |
| hgt:63in | |
| eyr:2021 | |
| byr:1986 | |
| ecl:oth eyr:2025 hgt:180cm | |
| pid:258195402 iyr:2017 | |
| byr:1961 | |
| cid:109 hcl:#888785 | |
| hgt:178cm byr:1952 eyr:2023 hcl:#733820 | |
| pid:106939563 ecl:brn iyr:2012 | |
| hgt:188cm iyr:2012 hcl:#fffffd byr:1942 | |
| ecl:brn pid:804371742 | |
| byr:1978 cid:120 | |
| eyr:2026 pid:405714523 hgt:60in | |
| hcl:#a97842 ecl:blu | |
| iyr:2017 | |
| iyr:2015 byr:1958 ecl:grn | |
| hcl:#b6652a pid:#9e8af3 | |
| eyr:2026 hgt:167cm | |
| hgt:171cm hcl:#888785 | |
| cid:274 | |
| ecl:grn pid:919263460 eyr:2023 iyr:2020 | |
| pid:606726472 eyr:2022 | |
| byr:2008 | |
| ecl:zzz cid:72 hgt:173in | |
| eyr:2032 byr:2004 | |
| hcl:z iyr:2011 ecl:hzl | |
| pid:523494728 | |
| hgt:70cm | |
| hgt:169cm pid:755822781 byr:1984 ecl:hzl hcl:#6b5442 iyr:2014 | |
| eyr:2020 | |
| byr:1942 cid:85 | |
| hgt:157cm pid:558287447 hcl:#efcc98 | |
| ecl:hzl | |
| byr:1980 cid:225 pid:367501996 iyr:2016 ecl:grn hcl:#efcc98 | |
| hgt:175cm eyr:2029 | |
| pid:264780775 hgt:182cm ecl:grn | |
| hcl:#18171d | |
| eyr:2024 | |
| byr:1926 iyr:2013 | |
| byr:1969 iyr:2015 | |
| eyr:2026 ecl:blu | |
| hcl:#fffffd | |
| pid:005695878 cid:273 | |
| ecl:brn byr:2006 hgt:152cm | |
| hcl:#888785 | |
| pid:171cm cid:249 iyr:2026 | |
| eyr:2022 | |
| byr:2011 iyr:2020 ecl:zzz hcl:z pid:412624100 | |
| eyr:2031 | |
| cid:111 hcl:df9bd0 | |
| iyr:2022 ecl:#32fdf9 | |
| byr:2017 eyr:2000 | |
| hgt:166in pid:0654651026 | |
| eyr:2021 | |
| ecl:gry pid:587324819 hgt:187cm byr:1951 hcl:#6b5442 | |
| iyr:2011 | |
| pid:180780096 hcl:#623a2f ecl:amb hgt:160cm byr:1991 eyr:2026 | |
| byr:2022 hgt:152cm eyr:2023 cid:70 ecl:grn | |
| hcl:e0a24e | |
| iyr:1959 pid:77110462 | |
| pid:251982311 byr:1994 ecl:gry hgt:165cm eyr:2021 | |
| hcl:#623a2f | |
| iyr:2019 | |
| ecl:blu byr:1945 | |
| cid:241 | |
| pid:732768808 hcl:#efcc98 | |
| hgt:171cm eyr:2020 iyr:2012 | |
| cid:243 eyr:2001 | |
| hcl:01a022 | |
| hgt:162 pid:507703455 | |
| byr:2003 ecl:#c6a07b | |
| iyr:1941 | |
| hcl:#733820 cid:150 | |
| ecl:hzl pid:843607639 hgt:190cm | |
| byr:1958 | |
| eyr:2025 | |
| eyr:2030 | |
| pid:489370607 iyr:2014 ecl:oth hcl:#cfa07d byr:1995 hgt:193cm | |
| hgt:68in | |
| byr:1933 | |
| iyr:2010 ecl:brn | |
| pid:380075958 | |
| hcl:#623a2f cid:279 | |
| eyr:2025 | |
| iyr:2019 | |
| byr:2001 | |
| hcl:#cfa07d ecl:brn pid:349877352 | |
| hgt:161cm eyr:2029 | |
| hgt:171cm | |
| eyr:2040 ecl:dne hcl:#6b5442 iyr:2020 byr:1990 | |
| hcl:#fffffd | |
| hgt:154cm | |
| byr:1979 eyr:2020 iyr:2018 | |
| pid:118713281 cid:174 | |
| hcl:#7d3b0c eyr:2030 ecl:brn iyr:2017 | |
| cid:184 hgt:180cm pid:504181498 byr:1925 | |
| hgt:150cm | |
| eyr:2020 byr:1999 hcl:#a97842 iyr:2011 ecl:grn pid:620166468 | |
| hcl:#602927 | |
| iyr:2015 | |
| byr:1928 | |
| pid:083747352 | |
| eyr:2027 hgt:193cm | |
| ecl:hzl | |
| byr:1938 ecl:gry | |
| pid:511669464 eyr:1973 hgt:70cm | |
| cid:262 iyr:2015 hcl:#c0946f | |
| eyr:2029 | |
| byr:1923 hgt:160cm hcl:#7d3b0c iyr:2013 pid:525837692 ecl:gry | |
| hcl:#602927 eyr:2025 | |
| pid:232338168 hgt:174cm cid:322 iyr:2010 ecl:oth | |
| hgt:192in cid:126 hcl:#6b5442 | |
| pid:101406211 byr:1922 ecl:hzl eyr:2022 iyr:2013 | |
| eyr:2026 ecl:amb | |
| byr:1921 | |
| cid:336 | |
| iyr:2020 hgt:182cm pid:533626984 | |
| pid:411943955 ecl:amb eyr:2025 hgt:166cm byr:1964 hcl:#341e13 cid:285 | |
| iyr:2010 | |
| ecl:grn byr:1933 eyr:2024 | |
| hgt:153cm | |
| hcl:#5cfb31 iyr:2019 pid:773885967 | |
| ecl:hzl pid:426060511 | |
| hgt:159cm | |
| byr:1922 hcl:#6ffd04 iyr:2017 | |
| byr:2025 pid:#097d1b iyr:2020 eyr:2029 hcl:73d113 hgt:69cm ecl:utc | |
| ecl:amb hgt:170cm eyr:2025 byr:1930 iyr:2018 hcl:#733820 | |
| cid:262 | |
| iyr:2019 | |
| eyr:2021 | |
| cid:65 pid:258615618 | |
| ecl:oth byr:1987 | |
| hcl:#efcc98 | |
| hgt:178cm | |
| hcl:z eyr:1980 ecl:#1c5fd1 hgt:65cm byr:2014 | |
| cid:222 pid:#c69fd5 iyr:2020 | |
| cid:271 pid:#4b8380 hcl:80fab0 | |
| byr:2024 ecl:#20e25f | |
| iyr:1945 | |
| eyr:1935 hgt:159cm | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var passes = Input.Trim().Split("\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| Seat.Parse("FBFBBFFRLR").Equals(new (44, 5)).Dump(); // 44, 5 | |
| Seat.Parse("BFFFBBFRRR").Equals(new (70, 7)).Dump(); // 70, 7, 567 | |
| Seat.Parse("FFFBBBFRRR").Equals(new (14, 7)).Dump(); // 14, 7, 119 | |
| Seat.Parse("BBFFBBFRLL").Equals(new (102, 4)).Dump(); // 102, 4, 820 | |
| var seats = passes.Select(p => Seat.Parse(p)).OrderByDescending(p => p.SeatId).ToList().Dump(); | |
| int min = seats.OrderBy(s => s.SeatId).First().SeatId; | |
| int max = seats.First().SeatId; | |
| (max - min).Dump(); | |
| Enumerable.Range(min, max - min).Except(seats.Select(s => s.SeatId)).Dump(); | |
| } | |
| record Seat(int Row, int Col) | |
| { | |
| public int SeatId => Row * 8 + Col; | |
| public static Seat Parse(string raw) | |
| { | |
| raw = raw.Trim(); | |
| int rowDiv = 128; | |
| int row = 0; | |
| for (int i = 0; i < 7; i++) | |
| { | |
| rowDiv /= 2; | |
| row += raw[i] == 'F' ? 0 : rowDiv; | |
| } | |
| int colDiv = 8; | |
| int col = 0; | |
| for (int i = 7; i < 10; i++) | |
| { | |
| colDiv /= 2; | |
| col += raw[i] == 'L' ? 0 : colDiv; | |
| } | |
| return new (row, col); | |
| } | |
| } | |
| static readonly string Input = @" | |
| FFBBFFFLLL | |
| BFBFBFBLLR | |
| BFFBBBBRRR | |
| FBFBFFFLLL | |
| FFFBFBBRRL | |
| FBBFFBBLLR | |
| FBBBFBFRRR | |
| FBFBBFFLLL | |
| FBFBFBFRRR | |
| FFBFFFFLRL | |
| FBFBFBBLRL | |
| FBFFFBBLLR | |
| FBBBBBFLLL | |
| BBFBFFFLLL | |
| FBBBBFBLRL | |
| FBBBBFBRRR | |
| FBFFBBBLLL | |
| FBFFFFFLLR | |
| BFBFFFFRRL | |
| BFFFBBBLRL | |
| FBBBBFBRLL | |
| BFBFBBBRLR | |
| BFBBFFFLRR | |
| BBFFFFBRRR | |
| FFBFBBFRRR | |
| FFBFBFBLRR | |
| BBFBBFBRRL | |
| BBFBFBFLRR | |
| FBBBBFFLRR | |
| BFBFBBBLRL | |
| BFBFFFFRLL | |
| BBFFFBFRLR | |
| BBFFFBBLRR | |
| FBFBBBFRRL | |
| BFBFBBFLRL | |
| BBFFBBBRLL | |
| BBFFBBBLRL | |
| FBFFFFFRLR | |
| FBFBFBFRRL | |
| FBBFBFBLLR | |
| BFBBFFBLLL | |
| BFFFFBFRLR | |
| FBBFFFFLRR | |
| FFFBBFBRRR | |
| FBFFBFFLRR | |
| FFBBFBBLLR | |
| FBFBBFBLLR | |
| BFFBBFBRLR | |
| FFBBBBBRRR | |
| FBFFBBFRLL | |
| BFFFBFFRLL | |
| BBFFBFBLRR | |
| BFFFBFBRLR | |
| BFFBBBFRLR | |
| BBFBFBFRLL | |
| BFFFBFFRLR | |
| FBFFFBFRLL | |
| BBFBFFBRLR | |
| BBFFBFBLRL | |
| FBBBBBFLLR | |
| FBBBFFBRLR | |
| FFFBBBFRRL | |
| BFBFBBBRRR | |
| BBFBFBBLRL | |
| FBFBBBFLRR | |
| FBFBBFBLLL | |
| FFBBFBFLLR | |
| BFBFBBFRLR | |
| FFBFBBBRRR | |
| FFBFBFFRRR | |
| BFBBFFFRRL | |
| BFFBBBBRLR | |
| BFFBFFFLRR | |
| FBBFBFBLLL | |
| FBFFBBBLRL | |
| BFBBBBBLRR | |
| BBFBFFFRRL | |
| BFBFFFFLRL | |
| BBFFBBFRLL | |
| FBFBFFBLRR | |
| BFBFBBFRLL | |
| BBFFFBFLLR | |
| BFBFBFFLRL | |
| BFBFBFBLRR | |
| BFFFFFFRRR | |
| FFFBFBFRLR | |
| BFFFFFBRLL | |
| BFFFBFFLRL | |
| BBFFBFFLRL | |
| FFBBBFFLLL | |
| FFFBFBBRLL | |
| FBFFBBFLRR | |
| BBFBFFFLRL | |
| BBFBFFBRRR | |
| FBFFFBFLRL | |
| FFBFFBBRLR | |
| FBBBFBBLRL | |
| BFFFBBFRLR | |
| BBFFBFBRLR | |
| BFFFFBFRRL | |
| FBFBBBBLLR | |
| BFFBBFFLRL | |
| FFBFFBFRLR | |
| FBBFFFFLLL | |
| FBFFBFFRLR | |
| BFFBFBFLLL | |
| BFFFBFFLLR | |
| BFFBBFBLLR | |
| FBBBBBBLRR | |
| BFFFFBFRLL | |
| BBFBBBFRLR | |
| FFBBFFFRRL | |
| FBBFFFBRRL | |
| FBBFFBBRLR | |
| BBFBFBBLLR | |
| BBFFFBFRRL | |
| BFFFBBFRRL | |
| FBFBBBFLLL | |
| BBFFFBFRRR | |
| FBFBBFFRLR | |
| BBFFFFFLRR | |
| FFBFFFBRRR | |
| BFBFBBFRRL | |
| FBBFFBBLLL | |
| FFFBBFBLRL | |
| FBBFBBFLRR | |
| FBBFBFBLRR | |
| FBFFFBBRRR | |
| BBFFBBFLRL | |
| FBBFFBFLRR | |
| BBFBBFFLRR | |
| BFFFFFFLRL | |
| FBFBFFFLLR | |
| FBBFFFFRRR | |
| BFBBFFBLRR | |
| FFBFFFFLLR | |
| FFBFBFFLRR | |
| BBFFFBFLRR | |
| FBBFBBBRLR | |
| FBBFBFBRRR | |
| FBFFBBFLLR | |
| FFFBBFBRLR | |
| BFFBBFFRRR | |
| BFBFFBBLLR | |
| BFFBBFFRLL | |
| FBBFBFBLRL | |
| BBFFBBFRLR | |
| BFFBFBBLLL | |
| FBBBBBBRRL | |
| BBFFBFFLLL | |
| FBFBFFFRRL | |
| FBBBBFBRLR | |
| FBBFFBBLRL | |
| FBBFFFBRLR | |
| FBFBFBFLRR | |
| BFFFBBBRRL | |
| FBFBBBFRLR | |
| BFFBBFFRRL | |
| FFFBFBBLRL | |
| FBBFBBFRRL | |
| FFBBBBFRRL | |
| FFBBBFBLLL | |
| FBFBBBFLRL | |
| FBBFFBFLLL | |
| FFBFFBFLLL | |
| BBFBBFFRLL | |
| FBBFBBBLRR | |
| BFBBBFFRRR | |
| BBFFBBFRRL | |
| BFFBFFFLLR | |
| BBFBBBBLRL | |
| FFBBFBBLRR | |
| BFFFFFFRLL | |
| FBBFBFFLRL | |
| BBFFFFBLRL | |
| BFBFFFBRLL | |
| FFBBBFBRRL | |
| BBFBFBBRLR | |
| FBBBFFBLRR | |
| BFBBBFFLLR | |
| BFBBBBFRLL | |
| BFBBBFFLRL | |
| FBFBFFBLLR | |
| FFBFBBBLLR | |
| BFBBFFFLLR | |
| FBFFBBFRLR | |
| FFBBFBFRRL | |
| BFFBFFFRRL | |
| BBFBFBBRRR | |
| BFFBFFFRLR | |
| BFFFBFFLLL | |
| FBBBFBFLRR | |
| FBFFFFFLLL | |
| FBBBFFFLRL | |
| BBFFBBBRLR | |
| BBFFBFFRRL | |
| FFBFFFBLLL | |
| FFBBFFBRLR | |
| FFBBBFFRRR | |
| BFBBFBBLRR | |
| BFBBBBFLLR | |
| BFFFBFBRLL | |
| FBBBBFFRRL | |
| BFFBBBFLRL | |
| BFFFFFFLLR | |
| FFBBBBFLRL | |
| BFBFBBBLLR | |
| BBFFFFFRLR | |
| FBBFBBFLLR | |
| FFBBBBFLRR | |
| BFFBFFBRRL | |
| BFFFBBFLRL | |
| FBBBFFFLRR | |
| FBBFFBBRLL | |
| FBFBFBBLRR | |
| FFBBFFBLLL | |
| FFBFBBFRRL | |
| BFBBFFBRRL | |
| BFBFFBBRRL | |
| FFFBBFFLLL | |
| FFFBFBBLRR | |
| BFBBFBFLLL | |
| BFFFBBBLRR | |
| FBFBFFFRLL | |
| FBBBFBFLRL | |
| BFBFBFBRRL | |
| FBFBBFFRLL | |
| FBBBFBBRLR | |
| FBFFBFBLLR | |
| FFBFBFFLLR | |
| BFFFBFBLLR | |
| FFFBBBFLRL | |
| BFFBFBFLRL | |
| BFFBFBBRRL | |
| FFBBBBBLRR | |
| FBBBFBFRLR | |
| BBFBBFFRLR | |
| BFBFBFBLLL | |
| BFBFFFBRRL | |
| FFBBBBBRRL | |
| BBFFFBBRLR | |
| FBBBBFFLLL | |
| FFBBFBFLRL | |
| BFBFFBFLRR | |
| BFBBBFBLRR | |
| BFBBBBFLRR | |
| FFFBFBBRRR | |
| BBFBBFBRRR | |
| FFFBBBFLRR | |
| FBBFFFBLLR | |
| BFFBFBBRRR | |
| FFFBBBBLLL | |
| FFFBBFBLLR | |
| BFBBBFFRLL | |
| FBBBFFFRRL | |
| FFBFFFFRRR | |
| BBFFFFBLLL | |
| FBFFFFFLRR | |
| BBFFBBFLRR | |
| FFFBBBFRRR | |
| BBFBBFBRLR | |
| FBBFFBFLLR | |
| FFBFBBFLLL | |
| FFBBBFFLRR | |
| FBBFFFBLRL | |
| BFFFBFBRRL | |
| FBBFFFFRRL | |
| FFFBFBBLLR | |
| FBBFFBFRLR | |
| BFFBBBFLRR | |
| FBFFBFFRRR | |
| BFBFFBFRRR | |
| BBFFBFFLLR | |
| FFBBFBFLLL | |
| BBFBBBFRRR | |
| FBBBBFFRLL | |
| BFBBBBFLRL | |
| BBFBFFBLLL | |
| FFBFBBFLLR | |
| BBFFFFBLLR | |
| BBFFFBBRRR | |
| BFFFBFFRRL | |
| FFBBFBBRLL | |
| FBBBFBFLLR | |
| BFBBFBFRRR | |
| BBFBFFFRLR | |
| FBFFFBBLRR | |
| BBFFFFFRRL | |
| FFBFFBBLLL | |
| BFFBBFFLLR | |
| FBFFFBFRLR | |
| FBFFFBBLRL | |
| BFBBBFBRLL | |
| BFBFBFFRLL | |
| BFBBFBFRLR | |
| FBBFBBFRLL | |
| FBBBBFBLRR | |
| FBBBFBFRLL | |
| BBFBFFFLLR | |
| FBBFBBBRRL | |
| FFBFBBFLRL | |
| BFBBBBFRRL | |
| BFFBBFFRLR | |
| BFBBBFBRRL | |
| FFBBFFBLRL | |
| FFBBBFBLRL | |
| FBBFBBBLLR | |
| FFBFFFBRLL | |
| BFFFFBBLRR | |
| BFBBBBBRRL | |
| BFFBBFBRRR | |
| BFFBBBFLLR | |
| BFBFBFFLLL | |
| FBBBBBBRRR | |
| BFBFBBFLLL | |
| BFBBBFFRRL | |
| BFBFBBFLLR | |
| FBFBBBBRLL | |
| FBFBFBBRLR | |
| BBFBBFFLLR | |
| BBFBBFBLRL | |
| BBFFBBFLLR | |
| BFBFFBBRLR | |
| FFBFFFBRLR | |
| FBBFBFFLLR | |
| FBFBFBFLLR | |
| FFBBBFBLLR | |
| FFBBBFBRLR | |
| BFFBFBFRLR | |
| BBFFFBFRLL | |
| FFFBFBBRLR | |
| FFBFFFFRLL | |
| BBFFFBBRRL | |
| FBFFFFBRRR | |
| BFBFBFFLRR | |
| FBBFBFFRLR | |
| BBFBBFBLLL | |
| FBFFBBBRRL | |
| FFBBBBBLLR | |
| BBFBBBFLLR | |
| FFBFBFFRRL | |
| FBFFFBBRLR | |
| FBFBBFBRLL | |
| BBFFFFFLLL | |
| FBBBBBFLRL | |
| BBFBBBFLRR | |
| FBBFBFFLLL | |
| FFBFFFBLLR | |
| BFFBBBFRRL | |
| FFFBBBBLRL | |
| FFBBFBFRLR | |
| FBFFFBFRRL | |
| FFBBFBBRLR | |
| FBBFBFBRLR | |
| FBBBFBBLRR | |
| FBFFFFBRLR | |
| BBFBBBFLLL | |
| FBFFFFBLLR | |
| FFFBBBFRLL | |
| FFFBBFFRLR | |
| BFBBBFBLLL | |
| BBFBBFFLRL | |
| BFBBFFBRLR | |
| FFBFBBBRLL | |
| BFFFFFFLLL | |
| BFBBBFFLRR | |
| BFBBFBFRRL | |
| BFFFFFFLRR | |
| BBFFBBFRRR | |
| FFBBFBBLLL | |
| BBFBBFBLRR | |
| FBBBBBFRRL | |
| FFFBBBBLLR | |
| FFFBBBBRLR | |
| BBFBFBBLLL | |
| BBFBFBBRLL | |
| FBFBBBFRLL | |
| BFBFBFBRLR | |
| BBFBFFFRRR | |
| FFBBBBFLLR | |
| BBFFBBBLRR | |
| FBBFFBBRRL | |
| FFFBBFFRLL | |
| FBFBBFFLRL | |
| BFFFFBBLLR | |
| BFFBFFBRRR | |
| BFBFFFBLLR | |
| FFBBFFBRRL | |
| FFFBBBFRLR | |
| BFFFFFBLRR | |
| BBFBBBFRRL | |
| BFBFFFBLRL | |
| FBBFBFBRLL | |
| BFFBBBFRRR | |
| FBBFFBBRRR | |
| FBFBFBBLLL | |
| FFBBBBFLLL | |
| FFBFFBFLLR | |
| BBFBBFFRRL | |
| BFFBBBBLRR | |
| FBFBFBFLRL | |
| FBBFFFFRLR | |
| BBFBFFBLRL | |
| FFFBBFBLLL | |
| FBBBFFFRLL | |
| FBBBFBBRLL | |
| FBBBFFBRRR | |
| FBBBFFBLLL | |
| BFBFFFFRRR | |
| BFBBBBBLRL | |
| FBFBBBBRLR | |
| FBFBFFFLRR | |
| BFBBBBBLLR | |
| FFBFBFBLLR | |
| BBFBBFFRRR | |
| FFBBBBBRLL | |
| BFFFFBBLRL | |
| FFBBBFBRRR | |
| FBFFFBFLLR | |
| BBFFBFBLLL | |
| FBBBBBBLLR | |
| BBFBFBBRRL | |
| BFFFFBFLLL | |
| BFBFFFBRLR | |
| FBBBBBFRLL | |
| BFFFFFBRRR | |
| BFBBFBFLRR | |
| FBFBBBBLRR | |
| FFBBFBFRLL | |
| FBBFBBBLRL | |
| BFBFBFFRLR | |
| FBFBFFBLLL | |
| BFBBFFFRLR | |
| FBFBFBBRRL | |
| FFBFFBFRRR | |
| BFFBFBBLLR | |
| BFBBFFBLRL | |
| FBBFFFFLLR | |
| BBFBFBFLRL | |
| BFBBFBBRRL | |
| BFBFBFFRRL | |
| FBFBBFBLRL | |
| BFBBFFBRLL | |
| FFBFFBFRLL | |
| FFBBFFFRLL | |
| BBFFBBBRRR | |
| FFBBBFFLLR | |
| BBFFBFBLLR | |
| FBFFBFFLLL | |
| FBBFFFFRLL | |
| BFBFFBFLLR | |
| BBFFBFBRRL | |
| BBFFFFBRRL | |
| FFBFBFBLRL | |
| FBFFFFBRRL | |
| BBFFFFFLRL | |
| BFFBFFBLLR | |
| FFBFFFBLRL | |
| BFBFBBFRRR | |
| FBBBFFBRRL | |
| FFBBFBBRRL | |
| BFFBFFFLRL | |
| BBFBFFFLRR | |
| FFFBBFFRRR | |
| BFFBFBFRRR | |
| FBFFFBFLLL | |
| FBFBBFFLRR | |
| BFBFBFBRLL | |
| FFBFFFFLRR | |
| BFFFFFBLLR | |
| FBFBBFFRRR | |
| BFBBBBBLLL | |
| FBFFFFBRLL | |
| BFBBBFFLLL | |
| FBBFFFBLRR | |
| FFBFFFFRRL | |
| BFFBBBBLLR | |
| FBFFBBFRRL | |
| FBBFBFBRRL | |
| FBFBFFFRLR | |
| BBFFFFFLLR | |
| BFBBFFFLRL | |
| FBBBFFBLLR | |
| BFBBBFBRLR | |
| FBBBBFBLLL | |
| FBBBFBBRRR | |
| BBFFBFFLRR | |
| BFFFBBBLLR | |
| FBBFFBFRLL | |
| BBFBFFBLLR | |
| BBFBFFFRLL | |
| FFFBBBFLLL | |
| FBFFFFBLLL | |
| FBFBBFBLRR | |
| FFBFBFBRRR | |
| FBFFBBBRLR | |
| BFFFFFBLRL | |
| BBFFBFBRRR | |
| BFFFFBFLRR | |
| FFBBBBFRLR | |
| FBFFBFBRRL | |
| FBFFFFFLRL | |
| FFBFFFBLRR | |
| BFFBBFBLLL | |
| FFBBFFBRRR | |
| FFBBFBFLRR | |
| BBFFBBFLLL | |
| FBBBBBBRLL | |
| FFBFFBFLRL | |
| BBFFBFFRLR | |
| BFFFBFBLRL | |
| BFBBBBBRLL | |
| BFBBFBFLLR | |
| BBFFFFBRLL | |
| FFFBBFFLLR | |
| BFFBBBBRLL | |
| FFBBFFFLLR | |
| BBFBFBBLRR | |
| FBFFFFFRLL | |
| BBFBBBFLRL | |
| BBFFBBBLLR | |
| BFFFBFBRRR | |
| FBFFFBBLLL | |
| FBFBFBBRLL | |
| FFBFBBFRLL | |
| BFBBBBBRLR | |
| BFBFFBBLRL | |
| FFBBFBBLRL | |
| BFBFFBFLRL | |
| FBBFBFFLRR | |
| BFBBFBFLRL | |
| FBBFBBFLLL | |
| FBFFFFBLRR | |
| FBFBBFFRRL | |
| FBFFBFFRLL | |
| BBFBBBBLLR | |
| BFBBFFBRRR | |
| BBFFFBBLLR | |
| FBFBFBBRRR | |
| FBBFBBFLRL | |
| BFFBBBBLRL | |
| FBFFBBBRLL | |
| FFBFFFFLLL | |
| BBFBFBFRRL | |
| BFBFBFBLRL | |
| BBFFFBFLLL | |
| FFFBBFFRRL | |
| FFBFFBBLLR | |
| BFBFFFFLRR | |
| FFBFBBFRLR | |
| FFBBFFBLLR | |
| BFBFBFBRRR | |
| FBBBFFFRLR | |
| FBFBFFFRRR | |
| FBFFBBBLRR | |
| FBFFFBBRRL | |
| BBFFFFFRRR | |
| FFBFBFFLLL | |
| FBBBBFFLRL | |
| FBFBBBBRRL | |
| FBFBBBBRRR | |
| BFBBFBBRLR | |
| FBFBFFBRLR | |
| FBFFFFFRRL | |
| FFBFBBBLLL | |
| FBFFBBBRRR | |
| FBBBFFBRLL | |
| BFFBFBFRRL | |
| FFFBBBFLLR | |
| FBFFBFBRLR | |
| FFBFBFBLLL | |
| FBBFBFFRRL | |
| FFBFFBBLRL | |
| BFFBFBBLRR | |
| BFFFFBFLLR | |
| FBFFBFBLRL | |
| BFBBFBBLLL | |
| FFBFBFBRLL | |
| BFFBBBFLLL | |
| FBBBBBBRLR | |
| FBBBBBBLLL | |
| FFBFBBBRLR | |
| BFFFBBFLRR | |
| BFBBBFBLLR | |
| FFFBFBFRRR | |
| BFFFBBBRRR | |
| FFBFFBBRLL | |
| BFFBFBFLRR | |
| FFBBBBFRLL | |
| BFBBFFFRRR | |
| FBBFBBFRRR | |
| BFFBBBBLLL | |
| FBFFBBFLRL | |
| BBFBFFBRLL | |
| BFFFBFFLRR | |
| BFBBBBFRLR | |
| BFFBFBFRLL | |
| BFBFFBBLRR | |
| BFFFBBBRLL | |
| FBFBBBFLLR | |
| BBFBFBFRLR | |
| FFFBBFBRRL | |
| BBFFBFFRRR | |
| BFBFFFFLLL | |
| FBBBFFFLLR | |
| FBFBBBBLLL | |
| BBFFFFFRLL | |
| FBFFBFFLLR | |
| BBFFBBBLLL | |
| FFBBFBBRRR | |
| BFBBBFBRRR | |
| BFBBBBFRRR | |
| FFFBFBBLLL | |
| FBBFFBFLRL | |
| BBFFBBBRRL | |
| FBFBBBFRRR | |
| BBFFFFBLRR | |
| BFBBFBBRRR | |
| BFFBFFBLRL | |
| BFFFFFFRRL | |
| BBFFFBBLLL | |
| FBFFBFFLRL | |
| FBFFFBFLRR | |
| FBFBFBFLLL | |
| BFFBBFBRRL | |
| FBBFFFBLLL | |
| BFBBBFBLRL | |
| FBFBBFBRLR | |
| FBBBFFFRRR | |
| FFBFFBBRRR | |
| FFBBFFBRLL | |
| FFBFBBFLRR | |
| BFFFBFBLLL | |
| BFFFFBBRLL | |
| FFBFBFFRLL | |
| BFFBFBFLLR | |
| FFBBBFFRRL | |
| BFFBFFFRLL | |
| BBFFBFBRLL | |
| FFBBFBFRRR | |
| BFBFBBFLRR | |
| FBFBFFBLRL | |
| FBBBBFBLLR | |
| FFFBBFFLRR | |
| FBFBFFBRRL | |
| BFFFFBBRRR | |
| FBBFBBFRLR | |
| BFFBBBFRLL | |
| BBFBBBBLLL | |
| FFBBFFFRLR | |
| BFBBBBBRRR | |
| FBFFBFBRRR | |
| FBFBBFBRRL | |
| FBFFFFFRRR | |
| BFFFFBFRRR | |
| BFFBBFBLRR | |
| FBBBFBFRRL | |
| BBFFFBBLRL | |
| BFBFFFBRRR | |
| FFBBFFFLRL | |
| FFBFBFBRLR | |
| BFBFBBBRLL | |
| FBBBFFBLRL | |
| BFBFFBBLLL | |
| FFBFFBFLRR | |
| FFFBFBFRRL | |
| FBBBBFFRRR | |
| BBFFFFBRLR | |
| FBFBFFBRLL | |
| BFBBFBFRLL | |
| BFFFFBBLLL | |
| FBFFBFBLRR | |
| BFFFFFFRLR | |
| FBFBFBBLLR | |
| FFBBBFFLRL | |
| FFBFBBBRRL | |
| FBBFBBBRLL | |
| BFFBFFFLLL | |
| FFBBFFBLRR | |
| FBBBFBBLLL | |
| FBBFBFFRLL | |
| FBFBBFBRRR | |
| BFFBBFBLRL | |
| BFBFBFFRRR | |
| FFBBBBBLLL | |
| FFBFBFFLRL | |
| FFBBBFBRLL | |
| FBBBFBFLLL | |
| FBBBBBFRRR | |
| BFBFFBBRLL | |
| FBBFFFBRLL | |
| FFBBBFFRLL | |
| FFBFFBBLRR | |
| FBFFBFBRLL | |
| BBFBFBFLLL | |
| BFFFBFBLRR | |
| FBBBBBFRLR | |
| FFBBBBFRRR | |
| BFFBFBBRLL | |
| FFFBBFFLRL | |
| BFBBFFBLLR | |
| BFFFFBBRRL | |
| FFBFFBBRRL | |
| FBFFBFFRRL | |
| FBBBBBBLRL | |
| BFFFBBBLLL | |
| BBFBFFBLRR | |
| FBBFFFFLRL | |
| FBBBBBFLRR | |
| BBFBBFBLLR | |
| BFFFFBFLRL | |
| FBBBFBBLLR | |
| BBFBFBFRRR | |
| FFBBFFFRRR | |
| BBFFFBFLRL | |
| BFBFFFBLLL | |
| FFBBBBBLRL | |
| BBFBFBFLLR | |
| BFBFBBBLRR | |
| BFBBFFFLLL | |
| BFFFFFBLLL | |
| FBFFBBBLLR | |
| BBFBBFFLLL | |
| BFBBFFFRLL | |
| BFBFFBFLLL | |
| BFFBBFFLRR | |
| FFBBBFFRLR | |
| BFFFBBFLLR | |
| BFFBFBBLRL | |
| FFFBBBBRRL | |
| BFFFBBFLLL | |
| FBFBBFFLLR | |
| FBFFBBFRRR | |
| FBFBFBFRLL | |
| BFBBFBBLRL | |
| FFBBBBBRLR | |
| FFBFBBBLRL | |
| FFBFBBBLRR | |
| BBFFBFFRLL | |
| BFFFFBBRLR | |
| FFBFFBFRRL | |
| FBFFFBFRRR | |
| FBBBBFBRRL | |
| FBFFBFBLLL | |
| BFBFFBFRRL | |
| FFBFFFFRLR | |
| BFBFBBBRRL | |
| FFBBBFBLRR | |
| BFFFFFBRLR | |
| BFFBBFBRLL | |
| BFFFBFFRRR | |
| FBFFBBFLLL | |
| BFFFBBBRLR | |
| FBFBFFBRRR | |
| FFFBBBBRLL | |
| FBFBFBFRLR | |
| BBFBBFBRLL | |
| FBBBFFFLLL | |
| BFFFFFBRRL | |
| FBBFFBFRRR | |
| FBFBBBBLRL | |
| BFBFFFFLLR | |
| BFFBFFBRLR | |
| FFBFBFBRRL | |
| BFBFBBBLLL | |
| BFFFBBFRLL | |
| BBFBFFBRRL | |
| BFBFBFFLLR | |
| FBFBFFFLRL | |
| BFBBBBFLLL | |
| FBBFFFBRRR | |
| FBBBBFFRLR | |
| BFFBFBBRLR | |
| FFBBFFFLRR | |
| FBBFBFFRRR | |
| FBFFFFBLRL | |
| FBBBFBBRRL | |
| FBBFFBFRRL | |
| FBBFFBBLRR | |
| FFFBBFBLRR | |
| FBFFFBBRLL | |
| BFBFFBFRLR | |
| FBBBBFFLLR | |
| BFBBFBBLLR | |
| FFBFFFBRRL | |
| BFBFFBBRRR | |
| BFBBBFFRLR | |
| FBBFBBBLLL | |
| BFFBFFBLRR | |
| FFFBBBBRRR | |
| FFFBBFBRLL | |
| BFFBFFBLLL | |
| BFFBFFBRLL | |
| BFFBBFFLLL | |
| FBBFBBBRRR | |
| BFFBFFFRRR | |
| BFFBBBBRRL | |
| BBFBBBFRLL | |
| BBFFFBBRLL | |
| BFFFBBFRRR | |
| FFBFBFFRLR | |
| BFBFFFFRLR | |
| BFBFFBFRLL | |
| BFBBFBBRLL | |
| FFFBBBBLRR | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var sGroups = Input.Split("\r\n\r\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| // Number of answers where passengers said 'yes' | |
| sGroups | |
| .Select(group => | |
| group.Split("\n", StringSplitOptions.TrimEntries) | |
| .SelectMany(person => person) | |
| .Distinct() | |
| .Count()) | |
| .Sum().Dump(); | |
| // Number of answers to which all group members said 'yes' | |
| sGroups | |
| .SelectMany(group => | |
| { | |
| var people = group.Split("\n", StringSplitOptions.TrimEntries); | |
| return people | |
| .SelectMany(person => person.Distinct()) | |
| .GroupBy(response => response, (r, g) => (response: r, count: g.Count())) | |
| .Where(g => g.count == people.Count()); | |
| }) | |
| .ToList().Dump() | |
| .Count().Dump(); | |
| } | |
| static readonly string TestInput = @" | |
| abc | |
| a | |
| b | |
| c | |
| ab | |
| ac | |
| a | |
| a | |
| a | |
| a | |
| b | |
| "; | |
| static readonly string Input = @" | |
| lfnghcsvpyrdjtxozimb | |
| mdtbnorpfalcijxvhsy | |
| elmwjkfbihydxcpqtovsrun | |
| tlhmsdjingyxcbfrvpo | |
| a | |
| a | |
| xqh | |
| mxdeqcinvfg | |
| vbncrgzxqefka | |
| oejsdfwm | |
| fojsmewd | |
| ewxfsouimdj | |
| eodafjwsm | |
| edjwsmfo | |
| d | |
| d | |
| j | |
| mgxywknlt | |
| khgwmr | |
| wkpezgboavm | |
| mjgkwni | |
| mwkcg | |
| mqzjtgskhadecwy | |
| nhkjeqgdtfsa | |
| rc | |
| cru | |
| hcr | |
| vuaeqdcnty | |
| nltovzycbeidu | |
| phcqe | |
| chep | |
| hpce | |
| smjuow | |
| jwktu | |
| ujw | |
| ljphnwtmugi | |
| giltnpuwm | |
| mgtulpkiwn | |
| uxltinpgwm | |
| jmglintwpu | |
| slbguajo | |
| lqwardbuo | |
| zlqmdobau | |
| ucalqob | |
| lobua | |
| uwtcp | |
| umtlwc | |
| lrcpgjwqfaybxtisoznuhe | |
| wjpnrsxiultyabgzhcqfe | |
| clmfrxgbqikzpsoduvjy | |
| uoxibjmkygrsdqczplfnv | |
| oncmzsf | |
| onzmds | |
| snzmo | |
| zlmegxcnavjb | |
| bmloajdecvwzxgn | |
| pjgzecxvsmbhnla | |
| fngpcvhaexzlbjm | |
| ulhkjzxadgvc | |
| uejbgctld | |
| xuindfqzvpg | |
| ugdofws | |
| qrpvexjlywfmgbintuzk | |
| wrtnibqvuflkeypxg | |
| kretgquypbinwxfvl | |
| tmrdpzxvily | |
| itorywvlxjcd | |
| rltdvygbxic | |
| xyliotvrdc | |
| xrvtdilygc | |
| uihswfvanoyzl | |
| owgnzcshuvaqlfiy | |
| whrtnuoyimzlsvqfac | |
| jiekwxbznhfvuplo | |
| jgbtesurivfxclapnqdmkzhyw | |
| dcnjhsqgkzyitwfplvearubxm | |
| umovhtgaekjixwfcdnq | |
| fcoamwkvjeqxhdbgitn | |
| datcxweqzhirmjfnkogv | |
| vwahorqcxfilmkgtndej | |
| myhkadptsgcxfojinqewv | |
| oys | |
| syo | |
| oys | |
| yso | |
| oys | |
| fatvyeruxnilcmpd | |
| ydacelgfmrxtvin | |
| tgdirmynaxclqwe | |
| jstnbxmdlcezhraiy | |
| fkbnpgyhs | |
| ktnhbya | |
| ybhan | |
| wqconhbey | |
| zicrfu | |
| dblyczk | |
| eshjmczvn | |
| cdzgofpx | |
| rawzc | |
| hcuypzdfalvt | |
| dfplcsyvazrqh | |
| lfcdvzrhyabtqup | |
| lycegwaofdkmzpnihv | |
| ayvzdhscplf | |
| rvowpcnbjlfhe | |
| hsgbdivpcjlxo | |
| wbiplofhkmgvr | |
| wvmrohkbfeglpi | |
| bvklotpghrfiwm | |
| wltkighfbrmvpo | |
| bgvkflitwhmpor | |
| dwmorjebnchvuaz | |
| hyikgfenl | |
| nykhxegq | |
| pnsactlj | |
| knytclorg | |
| w | |
| wj | |
| w | |
| gushnlqjctfvwiyz | |
| shtqjuvzcgniy | |
| cgdusyjpntzivqh | |
| ivuzjgcnqhwtsy | |
| vcusgtqinyzhj | |
| fjnacgiw | |
| ngijcfw | |
| gcwnifjo | |
| wvhsncikgtfj | |
| tecvxgzsjridpa | |
| azvtdgprjesixc | |
| mxspejvzrdcaigkt | |
| vristcjaexpzdg | |
| jvipeagxdtczsr | |
| v | |
| f | |
| w | |
| w | |
| wrsxdmlay | |
| yxalwfs | |
| xlatysmwe | |
| bgqyohvpzswnlxujcak | |
| silxayw | |
| zxelswo | |
| slwzpxo | |
| aizvyoqg | |
| ealnxdyczgpsrj | |
| hkmwbutf | |
| cohalxbk | |
| suiydp | |
| qebdumfwsjagk | |
| cxaokgmr | |
| r | |
| x | |
| a | |
| xhey | |
| exhy | |
| hxey | |
| zchi | |
| izhc | |
| dh | |
| dsh | |
| hd | |
| lfjcmoauvzxqitdspbw | |
| febzhrmowptvsqiyaudjkgc | |
| ijausfvcdznmpqowtb | |
| vcsfzqbjoipuwadmt | |
| up | |
| rkpy | |
| nzjdbg | |
| twkl | |
| tuepkzc | |
| opzst | |
| rgszfijlxneuvqcmktpa | |
| azcjfnkuvlpegmrsq | |
| fgjzkvusqnmlcarep | |
| kvrcpumgsfqalezjn | |
| tvqiwkmdf | |
| qfdtvowsk | |
| tvkifsrqdw | |
| vgdxeubfkjhqzlpwt | |
| dvkytawfqm | |
| yhiogvbkxlzjwsafd | |
| fylwkxhotbasivdjzg | |
| cdjfgnkshmwyxvaliozb | |
| xusvawyhzklgjoifbd | |
| vkisfrjowaxhglydubtz | |
| kqws | |
| xqysrkw | |
| lcjsqkmw | |
| qwsk | |
| koqsw | |
| wc | |
| cjw | |
| wc | |
| cw | |
| wc | |
| awrshieplc | |
| ixelpycsrvw | |
| qebsmzklpwiuocg | |
| cxf | |
| xf | |
| najxvf | |
| xfh | |
| umgylpoz | |
| fxwcyet | |
| yt | |
| t | |
| gbeskji | |
| ejbsqki | |
| grmdbezfou | |
| ufzbredgom | |
| wmtvcfhk | |
| cyleh | |
| prseclyhz | |
| cyrwzamnoxhue | |
| hxacmyenru | |
| ndyrashxgmecu | |
| eilychmuraxnfbtv | |
| fbgwal | |
| ablhjg | |
| agxlb | |
| cvw | |
| vcoz | |
| nvmrc | |
| prvbngaqh | |
| qbhgpvarn | |
| palgyevfrqnhb | |
| vgqnbarhp | |
| rbhavqpgn | |
| fztoevmhwgnb | |
| nbhfweomvg | |
| zfmghoevwbn | |
| vhmsfgwcbeonq | |
| negfvwobhm | |
| qbx | |
| dev | |
| hyzl | |
| wr | |
| ltnibrq | |
| qrbnil | |
| rlbinq | |
| qinrbl | |
| irnqbl | |
| thfng | |
| gfhkbd | |
| hmucga | |
| rhdg | |
| fqwalrhvpyxieu | |
| plehrstgivfx | |
| xbcvtrpefldih | |
| efpxrlhvdi | |
| kculvzfnesawmty | |
| vkztnuycwfamlse | |
| ecvnzlumykwatsf | |
| zatkulemcyfsvnw | |
| tafczlusnywekmv | |
| a | |
| a | |
| a | |
| a | |
| cktun | |
| lnrdyfk | |
| rexndcwvkibpflzjqymu | |
| exivdprnjzyblfmkwc | |
| czbknjlrfdivxypmwe | |
| fjvgyixpedkmrwzncbl | |
| hricxbjypenlzfdwvkom | |
| vqebrauop | |
| ebopavuc | |
| upabhveo | |
| vobeaup | |
| iaxlnehuycwkrmzqsbp | |
| bynlcreqpswzmxikhau | |
| nb | |
| ikqoh | |
| ho | |
| qjh | |
| oaixhtmeqc | |
| envpiuhkqdmjx | |
| xhforyeqwim | |
| hcaezwimxq | |
| ctubrpd | |
| dstub | |
| vchgnkea | |
| hkegyxivc | |
| fpychegtvk | |
| apxkiotyjzsqufvbld | |
| daviftqlxopsbyjku | |
| zblyqpajvkdsixuotf | |
| lafqdsyjuckbtoixvp | |
| pmlwfdcbik | |
| xzjebqshotrnygu | |
| cepzjtkamvnfuloqrig | |
| vkoiepjfnztuglqmarc | |
| pnjrlqgmkzotiuevfca | |
| tluscvmjrzkgaeipnfqo | |
| k | |
| k | |
| r | |
| ae | |
| ea | |
| ae | |
| ea | |
| ae | |
| ypvtzi | |
| mtu | |
| tjs | |
| fjust | |
| ufmtj | |
| zilgoaqmr | |
| aqopzmuvxlwrjg | |
| ozrmnadbqgl | |
| rbfm | |
| r | |
| rep | |
| vfmr | |
| ajrsgqiodfmwuezkltv | |
| tqsfiwvgzmeurdkajlo | |
| sqgywzoakturjlimfdev | |
| wplbfyivhasrujdgzqcmxnk | |
| tklsezcwrihvj | |
| vshfrae | |
| bhnocstidq | |
| xlhsfmza | |
| swlxah | |
| mpksvhy | |
| uelktdbswyjpaxqmnr | |
| ruvwjsnyadhmzepb | |
| jepzvwaqublirdftgcmx | |
| lwncbxgqkvdjpztiuamf | |
| vxmfwtlaibpjgzucdq | |
| pfidxgumvtacwblqzj | |
| dsgivqfnptwzmbaxucjl | |
| gotqzew | |
| jdfn | |
| dub | |
| v | |
| nzj | |
| jg | |
| g | |
| vp | |
| n | |
| clbgtr | |
| tgrlbc | |
| rtbclg | |
| rtbylgac | |
| uyit | |
| iuqtpc | |
| ituj | |
| tui | |
| jlsipo | |
| hpijl | |
| solxjip | |
| izplej | |
| xlpitsj | |
| zd | |
| grntma | |
| w | |
| iz | |
| lkxgcpywohifnu | |
| hyglocfnkpqwux | |
| fjz | |
| hj | |
| fxpjdrglkntmzce | |
| qznmtgfpljcrhd | |
| w | |
| hauesfy | |
| goixwvdy | |
| dxivyow | |
| dowvyix | |
| idxowvy | |
| dvowxyi | |
| bw | |
| y | |
| swg | |
| uyw | |
| aijx | |
| xhkdzbts | |
| pedonw | |
| gqld | |
| neslgchypjqavwr | |
| aclkpygqtnwiosh | |
| vboyhcijednm | |
| neyvjcd | |
| yvdjnec | |
| ednvjcy | |
| pezkudgxf | |
| zpfxgkbedu | |
| exkzgfdpu | |
| oulheigbsfjn | |
| ltnagbieju | |
| vmyhslndzaroiqpgxutfk | |
| dpilskvjutayrghzon | |
| dctniozulkhpsvgrya | |
| srhtzkyupavdngoli | |
| aeybn | |
| slcoixqtkgh | |
| bw | |
| rvfzp | |
| uynjmpd | |
| zexkwslndgyi | |
| encftykmx | |
| rhbenmkoyjx | |
| xymnrke | |
| kyxjbnumer | |
| egdq | |
| efkxg | |
| lmnscieutozapj | |
| wye | |
| nk | |
| ny | |
| wn | |
| nk | |
| wnmubxsrvqzcyhtpjf | |
| sjymafxtzhcnriubwv | |
| msub | |
| ubvyhkm | |
| ulmocbq | |
| blfcuepqm | |
| gtsfubrozwdiapm | |
| oqkuvhncxbzip | |
| vfbklexjnhziwsayqtrpm | |
| ntrzifljyqvesamhpk | |
| hnvmkyprultqsifazoejc | |
| ejcvmtnipfalyrhkzqs | |
| qtiavmhrlneydpjgkszf | |
| yxst | |
| hgtwy | |
| ymf | |
| yv | |
| zpdyb | |
| amdhqbzjkxilowtuvgnrfpsy | |
| fugmwydqvsihkntlxjeazbo | |
| rsvxyzqjoadibglfthunmkw | |
| qzbsk | |
| bqzsk | |
| zsbqhk | |
| zkbsdq | |
| qdbkzs | |
| dwlij | |
| jldiwn | |
| jiwnl | |
| ljwrbi | |
| jiwl | |
| nmbhlqkaovrgiudte | |
| dbnotamqvikeglhzrx | |
| ohgnmkrztblaidvqef | |
| tbqvahorjgniewldmk | |
| qrtvyobigemkdlhan | |
| par | |
| rpx | |
| rq | |
| r | |
| r | |
| r | |
| r | |
| nuxaoymrctdsikpeghzqwjb | |
| lrnpzwbyiksdcjeumxga | |
| efzlgxyvdubrsmjwpnakci | |
| ftm | |
| t | |
| zjydrsx | |
| syrxjdz | |
| sjrxyzd | |
| rxczvljiahfwmbok | |
| olznqgdawfjtchibvmrx | |
| ydlwknjzhugeamq | |
| jzvylqmgdewhaukn | |
| zyluqhnewjdamgk | |
| lnuygmwdaehkqzj | |
| jindyaeqzulwghmk | |
| ujcbsanxhmltdvzeg | |
| uznjaedcmlgstbhxv | |
| ejxp | |
| dypjn | |
| lan | |
| bwgvkrm | |
| v | |
| s | |
| s | |
| s | |
| s | |
| rdswzekavfj | |
| jubothxgani | |
| jazgdw | |
| gazjdw | |
| gajzdw | |
| wdjzga | |
| mnecwfslyp | |
| yfntmsl | |
| mcnfghls | |
| xlinzojsvm | |
| ocgxrsmheynbvuiw | |
| handgupyeslixmwcbvr | |
| yfzhmrpdkustegwoalbq | |
| lyftdmopzrewsgbu | |
| rwuglfsbkdtcnpqozme | |
| etzuwbsoyprfdglm | |
| dmwtljgrszpfeobiux | |
| ealrftgbzy | |
| blgearjyz | |
| yngdbxclrzmea | |
| jayfrezbglh | |
| leargyszbf | |
| clkedspwxzqhfojb | |
| nsxhezwcjpkdfoqb | |
| czowphbeskfjqxdl | |
| pkzoadrt | |
| dozrtapk | |
| dtorzpka | |
| atdpzrko | |
| vrjyxhnqfg | |
| yjhrnvqag | |
| owgadqkfusicxrztl | |
| qicupjdzgkolftw | |
| o | |
| q | |
| csbaloz | |
| cozblas | |
| soczalb | |
| lczabso | |
| mtozcbsla | |
| faljzbneuxympogctdi | |
| cailgjmzqexdptbvfynu | |
| wjpknbfhelcimtxrdyzg | |
| gmyebdfipnxljczvt | |
| j | |
| j | |
| j | |
| j | |
| getbmjnwazok | |
| czenqpftw | |
| nlxzweqtf | |
| drwuzetnyl | |
| ywmi | |
| sgqdt | |
| lnhzfxpbruovja | |
| cqe | |
| gyk | |
| vp | |
| dxesf | |
| krp | |
| ar | |
| gz | |
| xeo | |
| q | |
| myfw | |
| qnelw | |
| jrodw | |
| ndajkhfmzxslvopb | |
| ajsckbhdpqfnlgzmvx | |
| imldxsptvaqyhcgbjn | |
| ghnyicdvpqtljasxbm | |
| lqjesvdhtbaxpmcginy | |
| andpytcblvsixmghjq | |
| tdvyxcnimahlsjqgbp | |
| vsopuwdxhtabgej | |
| gjahsudbxtwpeov | |
| vsawxbgedzotphju | |
| detawvgbouxhpsj | |
| xriwbfaocqgztydvnelkspj | |
| xkjfpcaqibswtdelyrgzovn | |
| zpdexnfwalqhyjsokgbvcirt | |
| zevfqwxcrjplgoskyitadnb | |
| jcsvkgtwezobdnxyfqprial | |
| uvigr | |
| i | |
| i | |
| i | |
| zyatdpgjrle | |
| ezsyrdhxptav | |
| kapdyuzreotm | |
| qeryptdagz | |
| z | |
| z | |
| z | |
| z | |
| z | |
| sizxwqmegyflndk | |
| fnweyjdbckugxtmpv | |
| vjtkzol | |
| hwjtzmqdykosv | |
| jtzokev | |
| xztkvojc | |
| o | |
| utxgqfenh | |
| d | |
| yvkj | |
| kswvm | |
| uefcqyzgalm | |
| qafcezlmguy | |
| cumafzlgeqy | |
| lmfzyt | |
| mltf | |
| tlgfm | |
| ne | |
| eu | |
| e | |
| zen | |
| e | |
| tepckxywbnuqahilvr | |
| cwqpuveanixogmbtlyk | |
| mgyu | |
| usyz | |
| nyu | |
| uy | |
| hvnilwjcgbekmt | |
| mljgckftviwhneq | |
| rdaspohl | |
| lfxjad | |
| amdl | |
| dla | |
| ncjmux | |
| hxzemjuoqnc | |
| slhdpwkc | |
| plhkwsc | |
| wslphnkc | |
| kx | |
| kx | |
| klbmqja | |
| cbpikxjoaswyhg | |
| lakbmuj | |
| kbja | |
| do | |
| dl | |
| qd | |
| d | |
| uwbktzrfax | |
| xfvtkl | |
| pvylfnsder | |
| dnfprelvys | |
| srlpdefnoyv | |
| fvnesrpldy | |
| rdfyneplsv | |
| cietjkmyu | |
| gkqjcrubel | |
| gvjouc | |
| ajuco | |
| nsfjpdcwuh | |
| zeacqhdkltxi | |
| mtldxqcha | |
| adqcxlhwt | |
| whatcdxql | |
| gsrhkdwnyt | |
| wvngykhtd | |
| otvwdnhgk | |
| dkmtnhwg | |
| gdq | |
| asgqd | |
| gkuqd | |
| cgdaq | |
| amoriyvlens | |
| nfrdvltkyes | |
| bgemhciuqtnpw | |
| jqwtgbpcnhmui | |
| zyogtixnwmhcqbp | |
| gqtwinhbcmepu | |
| jn | |
| nj | |
| gkqz | |
| gvjyzmk | |
| kagwzf | |
| qimgwjex | |
| qcxjemi | |
| xjmqige | |
| jqxgmei | |
| emjxqi | |
| bftzjip | |
| fkjvzbcy | |
| kzjthybdm | |
| nogjbrezl | |
| lukfvrc | |
| lkrfucv | |
| drbfuklvc | |
| uflckrv | |
| tekijdqozns | |
| djsiekoqtn | |
| noektqjdis | |
| hndojsiqekt | |
| usndjteqiokg | |
| cw | |
| c | |
| cs | |
| wc | |
| cn | |
| lxfgopvmh | |
| ckpatzifnwxsjum | |
| bfemqdyrpx | |
| xosicnwrb | |
| wsocbr | |
| brwcasoy | |
| esiz | |
| ise | |
| ies | |
| dcungxvhipzorlbwsjqkt | |
| pvgzlihbocskdnuwqxjr | |
| jwqvrboixdchpsklzugn | |
| jsizhem | |
| zjsbhi | |
| tjhzu | |
| tgldmihkjb | |
| hbekplin | |
| borvflqchzauxi | |
| eosqa | |
| zpqgusowa | |
| okqslrae | |
| qofskay | |
| olaqst | |
| dbulmwerfxjoiha | |
| jdiwhoumflbxra | |
| rxbdihmofuwalj | |
| gqzwfumsipboyjnl | |
| forhywgnulpsbmiz | |
| ql | |
| qml | |
| owq | |
| dpbxiqjy | |
| bxyqjpdi | |
| yisjxpqdb | |
| hxcrzpjvmnkgeuo | |
| hryatdbx | |
| rxlhytfwds | |
| ljdozibqytwnfhvkxp | |
| fqxiwhcyzbptkjlvnod | |
| iptkxndvjzlyqwmhofb | |
| efgvoxydhpjqiztwlbkrnus | |
| vfzqpjblnidytkxaowh | |
| onewvclt | |
| vhcteos | |
| vecnto | |
| fpoisndugqmb | |
| fqkgntpwjbmdus | |
| elfqmcnbudgshzp | |
| gnqpdmbfsvu | |
| snrqdupbvgfmj | |
| euvtmyohfqkscjdn | |
| fydvukotsmpnjhqec | |
| fhqumnvydstkoejc | |
| zcoupardbfvns | |
| siufbpodcnlva | |
| dwkfe | |
| nfdz | |
| ibjodf | |
| xdyhvltgpu | |
| dzjnmrcasq | |
| k | |
| k | |
| k | |
| bk | |
| ckj | |
| tavfsckigh | |
| hquzcnbdorlwm | |
| ycgh | |
| qplvetmdc | |
| qdmvetcpl | |
| pqmdcvtel | |
| lpetvmdqc | |
| lhcq | |
| qcuk | |
| whmnsqpkjov | |
| wtjgu | |
| tlcjdw | |
| egicls | |
| cioegs | |
| cesgi | |
| lxaifjhyrqgsem | |
| mafexiryqdsjghl | |
| xemjlkgfqyraish | |
| zwrdcmavo | |
| zvrcadfmo | |
| madfozrcv | |
| slfagzbjwotdni | |
| mdspebtajxfiwknzlc | |
| dqsitfarvljnbzhw | |
| auilefztdjonwbs | |
| tsiebdwjlnfaz | |
| svgnwpr | |
| nsaiguwl | |
| xmplcdgsn | |
| eotjkyshbqnzgf | |
| bl | |
| ly | |
| iafxle | |
| wnckbplriv | |
| ixdbelhpgmqfscvwzj | |
| lpwivbc | |
| byptliwvuac | |
| vbicwoklpyu | |
| eskwamyvgxzqbtprculijf | |
| eipbrxystfkgucjazwqmvl | |
| wvplyjkrbcguzqsfteimxa | |
| vhtrlousjbpmfzanqkwgcxyei | |
| p | |
| m | |
| ntfspeyqrj | |
| pqyernsftj | |
| tnrspejfqy | |
| gx | |
| x | |
| x | |
| x | |
| gizducfvmtohe | |
| genmuitdvzkhxf | |
| tbpyaruimeshzgwldqv | |
| kidmjnuovehzgt | |
| mxthzudigve | |
| kudjgcbhna | |
| lcajungkd | |
| chdankjug | |
| cekjgpanud | |
| zqlucvfkmnpoighxb | |
| ohcpgetlvzufinkqmbx | |
| cunpqvgkziflbxhom | |
| cgklbnvfxouqmpzih | |
| kjimlchzgxpqvyuofbn | |
| uwmz | |
| nz | |
| zbofx | |
| zw | |
| r | |
| or | |
| av | |
| j | |
| j | |
| tvbqc | |
| qedctbv | |
| tqzvbc | |
| t | |
| t | |
| ts | |
| t | |
| t | |
| qhkbwa | |
| awubqtzx | |
| fqbyja | |
| mbaiqhrt | |
| wzcuyqanpdtsghr | |
| zpocrshdwynaqtxvge | |
| gpq | |
| qeh | |
| cq | |
| jfltaouwri | |
| ygbxsqdz | |
| skd | |
| jmlh | |
| hlmj | |
| hjlm | |
| jmlh | |
| umihknslj | |
| ute | |
| ltdzqf | |
| ygkx | |
| mywxcrd | |
| apyx | |
| xy | |
| y | |
| dy | |
| mivusqxpzyljehgkotrf | |
| ajlizqnpegckfohdvsxrwb | |
| pl | |
| lp | |
| pl | |
| lp | |
| xmnaupwtcvozrfekbdshlq | |
| dlafzmnhvpeskwoqucb | |
| uzydhfovwmapneqlgkbcs | |
| cjapswblfmnzqokeuvhid | |
| dzlaovqnmsuwkhcyfpeb | |
| wpb | |
| bp | |
| bp | |
| bp | |
| bp | |
| pusm | |
| umpshr | |
| musp | |
| xdz | |
| z | |
| f | |
| ecjo | |
| nkxz | |
| tjmvdf | |
| st | |
| trn | |
| hkfgarys | |
| rghfasy | |
| ljyixtumsfngvdwoqzpakecrbh | |
| kfpuvicgrsnoetabmywjzqxlhd | |
| az | |
| z | |
| rgkf | |
| khrgn | |
| nrgk | |
| gkrfoc | |
| werzgkpa | |
| vkg | |
| k | |
| k | |
| ku | |
| ik | |
| blruxyvehtsn | |
| thdl | |
| mtldh | |
| lht | |
| thil | |
| rnzqadiplhbegj | |
| qlezpgnabdrji | |
| lnrzaqjpdigeb | |
| rbjlnpiegqazd | |
| jprzlegqdbnia | |
| kgo | |
| okg | |
| rjm | |
| kiml | |
| cuxstqpwod | |
| kghb | |
| yckovthbrigazfxq | |
| atriygxofzkcqh | |
| vudbtxjpgaqfzhlkmncswyi | |
| lgfjahksybqmncoeuwvixtrd | |
| dmlyrgkwfjovqasxit | |
| ylawsjxrftdegmkqvi | |
| stqgmxfrjvlkhaydwie | |
| mypcdrjnkgtsxvqawlfzi | |
| ethrvfnyasdkb | |
| eanwdyfcsbhr | |
| xayerdsbhlf | |
| ejdrshvywbaf | |
| hqyfnrxjzsd | |
| buly | |
| yukpm | |
| likmy | |
| zlpditkvsawocunjqyhmrx | |
| rdtjsunpqymlhxkvcwzoai | |
| oaprkqhumtvlcwxdnzsyij | |
| uxmdclkpjqrotahysizvnw | |
| olwhpitmraqdnkxuvjsycz | |
| srnhuf | |
| hrsxfwynuo | |
| gnzsfbutcrh | |
| krnhusf | |
| l | |
| lsb | |
| ujqtvol | |
| cptnhxgdkivyjlsbrwmuf | |
| nkbshfmrxgjdoclwivy | |
| fxibalcmhydvkjnwgsr | |
| txye | |
| cjvqsulagn | |
| kihdbf | |
| ohpmzwr | |
| rbtw | |
| tgm | |
| mgt | |
| nhucrjmq | |
| rubajlyszwn | |
| nlbsjzwryau | |
| zrwuynsjbla | |
| flvdypkxabzm | |
| lipzbtrmqof | |
| ljmghurbifpzns | |
| bsv | |
| wsux | |
| vs | |
| s | |
| sv | |
| vfqsehx | |
| xseqvhf | |
| svxefqh | |
| fipwjdl | |
| jpilwfd | |
| whflvdipjx | |
| oclrqnubyhpmdks | |
| wmkchdsqujbpxlnyo | |
| onulmdsbyhkqp | |
| mlubkpyhnqods | |
| tfmesqblonudihypk | |
| gcwf | |
| a | |
| v | |
| q | |
| o | |
| xpqlzcfvtjgr | |
| fxwprjglmasiqev | |
| xljpgbrfqvo | |
| fbvqrcgxpdljt | |
| nxpktofqglvrsjbi | |
| wvkotsgijlbnrufdxq | |
| rpfew | |
| iflep | |
| tdy | |
| teyvdjo | |
| tdy | |
| ix | |
| gzkwchaqd | |
| oysure | |
| hxvkjmneycuspbwroqaligf | |
| qkhpisjmxblnwezrgoauycfvt | |
| emcqhiufkjbrlwyngapsovx | |
| aixrbgcfynwelsoqkpmhjuv | |
| ckxhmridjbfalqo | |
| yzunwpsdlgev | |
| ls | |
| lzk | |
| sl | |
| kdpzmau | |
| gzamukp | |
| kpfua | |
| pkau | |
| usmywivnpgt | |
| biqxymnosaklrehzj | |
| orwcjpkbiexz | |
| bpzikgwn | |
| winpbkz | |
| wobslxnhfyjtg | |
| vqdecolzarnm | |
| rgfloc | |
| yufcor | |
| tgwnebxyzkchqvoulmprdijasf | |
| zmpdjlekigtswronhubqcvfa | |
| fyrbd | |
| yfbr | |
| frby | |
| fbkghytr | |
| stexkgyiqpaodnm | |
| opecuqrdnytkxaig | |
| oxykdtnaegpiq | |
| xtgaydoepqikn | |
| oyktnixegqpbad | |
| irgbyxhwm | |
| iwgykrbx | |
| yibgrwx | |
| dxejzvrocb | |
| tbxhmqscrid | |
| cjrodlgbxz | |
| zcbxwpjrd | |
| l | |
| lg | |
| g | |
| lg | |
| nfi | |
| ab | |
| aw | |
| vlbi | |
| zegtwnc | |
| dgbj | |
| dgjybl | |
| ardgupbsqjv | |
| xoquygizahnwpkvds | |
| duaoyzvgqxhkiwspn | |
| gpvyukzaiqdnwoxsh | |
| qpwnyzihovukasxgd | |
| fcepzibvulyxhsjqdanwmtrg | |
| bijrdfxcqhplwnymsezatuv | |
| uxbcwnrmisvqhljpzdaetfy | |
| umwzscitfjhxyrelpvdabnq | |
| usahyzdmtqfibxcjvlepwnr | |
| tpk | |
| gzetqkypuhj | |
| pknct | |
| mfticpk | |
| akiwtfsp | |
| qedhju | |
| lvdqtzehyj | |
| vyfe | |
| vey | |
| yve | |
| yve | |
| yev | |
| dseopbmfcuk | |
| msfekpuodcb | |
| jm | |
| jm | |
| mj | |
| jm | |
| jfgevdqxm | |
| mqftev | |
| fmeqv | |
| etfmqv | |
| grhalzpfsjweuyt | |
| zteylfsaugpj | |
| jtuzpeyflgsa | |
| zlajntyufgkspe | |
| fjyapletgzsu | |
| ixhz | |
| n | |
| mqekbhiu | |
| ikgbhmeq | |
| xscglkt | |
| ctglkxr | |
| kxlctg | |
| siygouxkzhetdrqcfp | |
| eiftxuyhpkczrqdsgo | |
| qgfryxepotiucskhdz | |
| pfruziqyxgedkthcso | |
| pezofhisdcxygurqkt | |
| kp | |
| kqyxp | |
| hzbtkxlyipegra | |
| lkrgehiyapzxtb | |
| zhliaprgbkexty | |
| axgyhlpekbiztr | |
| mh | |
| al | |
| hien | |
| zxkprdvo | |
| xfjokhuyszwt | |
| ujotxwsfkzyh | |
| tfhwozsujykx | |
| bqudfgvjeiy | |
| djefqvibug | |
| yvxuiedqjgbf | |
| xuefjqgdvib | |
| ibveujdqgnf | |
| liyqzxwogcdhvjsr | |
| nvcigxswpoedq | |
| zjdgxfqwhcbm | |
| qxhjgdwmbzcvf | |
| cxgfmzjwbdqh | |
| qjzwphxibcmfdg | |
| tdflsxicwmpar | |
| iawprsxtmcfdl | |
| rxpafwlihsdtcm | |
| amtwplscxrfdi | |
| sgjmp | |
| sojg | |
| gsj | |
| sjgu | |
| pjtayfvqgubsdzh | |
| rxwbhcekljnm | |
| fhsmgpyblcitz | |
| zmibgvhylwf | |
| vigmfbzylh | |
| iyfvglwhmzb | |
| bprqyialnmkveohuxs | |
| iykvuxbpshemloarqn | |
| ivnoqlxrpyabheukms | |
| xvqnmyhbkueslipora | |
| ogdijpwtxuchrv | |
| ovjhdwxptiugcr | |
| jxutokrfwpighcvd | |
| oizhtyglwbnjfuverqps | |
| syaiuqhzeltbovrwjpgn | |
| eohzgwjbtrqulsivnpy | |
| uptch | |
| igt | |
| up | |
| uhy | |
| u | |
| oua | |
| hu | |
| owtkc | |
| oktwc | |
| wkcto | |
| wcokt | |
| qosvjmkcixhdb | |
| upaweznmgjt | |
| pcnabt | |
| bapct | |
| dcbaqzuvyl | |
| jcab | |
| siw | |
| iws | |
| wsi | |
| siw | |
| zskiw | |
| b | |
| by | |
| vdljnuawqg | |
| daluqjvwgn | |
| vqctdhulbpj | |
| citavlqhjkdpe | |
| glhsjpryofnzwvcqdt | |
| xo | |
| xo | |
| xo | |
| ox | |
| l | |
| vkjflgh | |
| ld | |
| oftdbe | |
| jutioleh | |
| ebcrtgo | |
| dcwx | |
| zgcxtb | |
| dcqt | |
| opfucrjikea | |
| kjogaebchpmxzudy | |
| yvxmabpdgznjoe | |
| dtfrbceshaupizxqwl | |
| wlefqdxbarzitscpuh | |
| lrafisdhktxpzcbwuqe | |
| tleibrqsazhufdpcxw | |
| mwjahec | |
| wcjme | |
| kjrwcme | |
| cemjw | |
| jfgonrqkezumxdsbvaci | |
| vgsindtuyzjbomrkqf | |
| osfbklvjiumwznhdgp | |
| nwmgfludzhoyb | |
| jwmgonfzhdkiuab | |
| huvgwsfrbdcenmotzqp | |
| zdhgxofwbijmnu | |
| wahstyxvugdmolp | |
| tdalphmxsuoygwv | |
| glpudovmtshawxy | |
| hwstlopuyxmagvd | |
| lgayovuwdnxptshjm | |
| a | |
| a | |
| a | |
| rca | |
| szlidbpwxq | |
| slbzpqdwx | |
| qzwxhrpybls | |
| ewhjlxfcmuidsgnbrkyoq | |
| enmiavrkwzlobjsuyq | |
| pisbwokteznlqjuymr | |
| brnec | |
| nwcrei | |
| bnecor | |
| ncerb | |
| rnkedc | |
| pqw | |
| kbct | |
| hviudfjyars | |
| wbe | |
| b | |
| xtsbynudvwjkfalre | |
| auwkntbfeyvxsrdlj | |
| nyewflsxkjuartdbv | |
| adexltvsbymrwnkujf | |
| yima | |
| miay | |
| amiy | |
| czimay | |
| yagqmw | |
| mwqgya | |
| gqwyam | |
| acqibtfwlnyvjumrdgspoxz | |
| dxzbqownsgylajucitmrpfv | |
| ztpcrulxjomvwbdgyfinas | |
| scbwynpftarmgjduxliovz | |
| mpgtuyzhxwcoibdrsanflvj | |
| bdftwqgsaimhxvn | |
| stmaqbxhgwvfdni | |
| abmfshgnxvqitdw | |
| thabinfgmvdqsxwy | |
| dtwvbasxnhiqfgm | |
| siomckdrlhnytjaqpzwu | |
| cqxytvoanbulrekzwfpd | |
| uxadwqkgptrzlycon | |
| stwohnvrq | |
| kfnpxvcy | |
| ijlkvrdacmuhotxwbsqpegyn | |
| gopemwhirtcbynxaskvulqj | |
| aweqlciybkguopsjtmxrhvn | |
| pwelrvhicybstoqkujgaxmn | |
| ckpdbfs | |
| kcdfqv | |
| foecjkqsvbh | |
| muzckif | |
| zsblxdetgovunfiqwhjpkmracy | |
| wvkxysnjdraclzgemouphbt | |
| qmtx | |
| xqt | |
| dmieulgon | |
| jfmyra | |
| fsjma | |
| xmsq | |
| tvcm | |
| xklcpvzje | |
| lpjrvaez | |
| zpjlev | |
| fvpjlez | |
| bodrkvzcmhyxulswnijt | |
| ynilmcwzrvohtsubkdx | |
| tewspzja | |
| wjtsplzfega | |
| atzsewjp | |
| tu | |
| but | |
| atdnsu | |
| y | |
| u | |
| qbtawmldjsy | |
| mjqdsylbatw | |
| tyalbmqjswd | |
| ljsdtwbqyma | |
| msgytaj | |
| vygscje | |
| qjciogk | |
| nhpflxzrduw | |
| vcmrtws | |
| srwyc | |
| wursckd | |
| cpwrs | |
| wsrc | |
| ielm | |
| pilfr | |
| mhxlcaf | |
| gvzosdytl | |
| ij | |
| avi | |
| ylio | |
| kaim | |
| ijamw | |
| cgxwjydavlhbpior | |
| adckqejbhysinlo | |
| ajwczfloydthbmvi | |
| cubojhwagryild | |
| jyqagilxfsk | |
| yfasltokjgqx | |
| impglqcwn | |
| ngcaydziwp | |
| ipbgnzwcu | |
| lj | |
| j | |
| jfrb | |
| xncgrjkpsmwailbdeouzqht | |
| rayuhpxqsezkdlowicfnmjgbt | |
| ijzwpaqtdxcuhegsmlkvborn | |
| upndtklhgeoibmzcxrswaqj | |
| ohsckdiej | |
| dochisejk | |
| dcsiojkeh | |
| xcbnwtzqu | |
| oeywhzn | |
| jgfskirml | |
| dsrvqfctojm | |
| facqi | |
| yflgqcw | |
| cqnlfz | |
| qefkcy | |
| xvwadfktl | |
| fltkxwa | |
| wptxjalf | |
| mtfaxlw | |
| awtflx | |
| vzxqjbrwlpysguonctmf | |
| orynmphcqbfuzwtaxjs | |
| mrunfcqjxoytszbpw | |
| podxzyserwjbqutnfcm | |
| sxqdfercbnopmyujtwz | |
| anzbwplo | |
| ingwuxc | |
| dwrketnsv | |
| goz | |
| go | |
| goa | |
| msgopxyt | |
| tsopygmx | |
| gmxyustpko | |
| xpmtsoyg | |
| xptgmosy | |
| ohj | |
| ojf | |
| jo | |
| gvm | |
| c | |
| nrhjkwda | |
| ryqudzpvg | |
| vzugpqr | |
| wya | |
| wa | |
| bajqno | |
| gxa | |
| da | |
| eobwrtihcqfp | |
| rhbkdep | |
| spnlubhavkw | |
| obiqgzyxdfercj | |
| jtfq | |
| q | |
| jyx | |
| wuz | |
| bhqnegu | |
| uehqngo | |
| ehvqgu | |
| edquhg | |
| ucgyqdhe | |
| cigbdtul | |
| agicltduv | |
| cgytuidl | |
| utgcdilm | |
| ulgejtcwfxdi | |
| efk | |
| fd | |
| yekuojwtxp | |
| odky | |
| ngz | |
| tpwyd | |
| vo | |
| og | |
| o | |
| o | |
| ofj | |
| wavejohibzrk | |
| wijeafkrvzob | |
| ierabjvkzwoq | |
| bxtkfhcyigulzdp | |
| ihjfyukgltb | |
| nafkrhwibgyulqvm | |
| wljfgnvr | |
| aowxfliqpr | |
| swkxmvhcriylgt | |
| cgitkxhlvmrwy | |
| ilnzkweohypu | |
| axfcdrtsmjqbv | |
| xolcuzgfvitedbkyr | |
| gkldfetvpuxyorzi | |
| fxituzlqvokersgjhyd | |
| btkzyxiedrlfvgou | |
| koryuemagtixfdlzv | |
| hsubfgecvrjna | |
| nctvf | |
| pyeaxfmr | |
| eyxprfam | |
| zr | |
| uez | |
| zou | |
| zqdxnsakmvifj | |
| hz | |
| jhbwgfrpvdx | |
| mcnrpehvufgtb | |
| pvzubqhfgar | |
| ofipybhktlqrvgs | |
| bsfu | |
| hu | |
| xk | |
| kx | |
| uk | |
| k | |
| k | |
| qymaugnc | |
| ajigmczroyxb | |
| dxjisapbrcqnltwv | |
| anzrjtiqxslbce | |
| qnxgjalrtiscmyb | |
| rkmxv | |
| hmrkvx | |
| nha | |
| pqjeh | |
| h | |
| ahv | |
| vah | |
| ipl | |
| svirqdjpmx | |
| pjimx | |
| whpekfzgtbi | |
| qlshkevani | |
| eshaknilvq | |
| xpi | |
| pxio | |
| xpjoi | |
| pnxi | |
| piox | |
| kxub | |
| dkmxu | |
| nka | |
| cku | |
| quxzmk | |
| exthvjmbrl | |
| ebsamihlxrvt | |
| utfbrexmkljhvn | |
| hbxmelrvtj | |
| mlerbhxtv | |
| ykzvcm | |
| vfackzmy | |
| zvmkyc | |
| cdnqv | |
| vcqdn | |
| dcsqn | |
| dcnzq | |
| odv | |
| jdokvasx | |
| dqvo | |
| dwplnvo | |
| qsodv | |
| ud | |
| du | |
| du | |
| sfoihm | |
| oisf | |
| siohf | |
| sifo | |
| qdjkifalso | |
| eabz | |
| bpza | |
| bz | |
| ezb | |
| bzuyvg | |
| d | |
| x | |
| d | |
| d | |
| d | |
| muf | |
| m | |
| ohtfclrqkabuvynewidxgjp | |
| lchojyerxwianpbtfkdvqu | |
| h | |
| h | |
| vh | |
| h | |
| uthpecmangsirovj | |
| itzrvywgmaushc | |
| cumrhqtasvgnfi | |
| mvgtorachqiebsu | |
| icrlaxzefw | |
| ceibjhywlvzdrsao | |
| xelqaiczmufwr | |
| ialnczmewr | |
| v | |
| frwckiy | |
| qne | |
| zsgn | |
| ysaxl | |
| xqwlasey | |
| xsyalb | |
| ntevywd | |
| hxungtl | |
| snzgpbyhtlamxroec | |
| wczfumyrjhidgsqbkavot | |
| sapbxcfrthquln | |
| kqafnsuhob | |
| eaxhmlnuwco | |
| qigzs | |
| gkfjy | |
| jrvdg | |
| bztomjpxycqnkse | |
| qcotlpesajmfk | |
| oetdksqpcmj | |
| pwtjdilcyx | |
| liejpwtcdyx | |
| ticlpwyjxd | |
| iwldjcpytx | |
| aoznvbfrxy | |
| zbfvyxroan | |
| fybavroznx | |
| fbavnyzrox | |
| xobyfvrnza | |
| ioxynh | |
| xinyho | |
| io | |
| uyiwon | |
| oxi | |
| ivo | |
| cio | |
| y | |
| ny | |
| l | |
| lc | |
| gl | |
| cl | |
| l | |
| akxs | |
| asxk | |
| akxs | |
| vglhiwm | |
| hkv | |
| rducpj | |
| iszjbtaouvcdkgfylxhqnrm | |
| cagdmhlziutfxqrkjynovsb | |
| kmcdrvgxynzoafusjlebqtih | |
| kqduelpmh | |
| uplhedkmq | |
| dupqelkh | |
| eflyuhwqgdkp | |
| hqplekdu | |
| gwkfxo | |
| fowxgk | |
| foxkwg | |
| xkfwog | |
| fwkgxo | |
| xpegdzcsoyjt | |
| zpcsgetjydxo | |
| stoxjgfzecvdpy | |
| typecgxjzosd | |
| digfewr | |
| psxv | |
| pntydfukzoecihxv | |
| vtfzihungkcdxoey | |
| ktaqydchpr | |
| kcalptydhx | |
| ydkprcaht | |
| qep | |
| pqew | |
| qvpe | |
| qepx | |
| l | |
| o | |
| o | |
| n | |
| zubsojhtqep | |
| bujqpsytoieh | |
| upeqthsobyj | |
| regblhcjn | |
| djgecrtblnh | |
| jhebcnlrg | |
| brehclngj | |
| lprbihju | |
| jhzoplsnk | |
| hgnlwjfqczu | |
| cjyuntigwzqeh | |
| qhwlgunfzcajv | |
| adjmogquh | |
| wpsodnth | |
| brueif | |
| teiuqrfb | |
| ufrbei | |
| fbieru | |
| zeaufk | |
| ukfeza | |
| qk | |
| cqkf | |
| kq | |
| kq | |
| qk | |
| dfw | |
| ndwft | |
| wfd | |
| sdevru | |
| fdsr | |
| nbtmord | |
| vlhxnguq | |
| qvlgun | |
| nkcoszpaivjqybwt | |
| qjdzgrumbsiopkveaylcx | |
| szypwickvjfoqbha | |
| xbtzcjeimsnwf | |
| vtkicgmnhbx | |
| xnhabvqicmtdpr | |
| uxt | |
| utx | |
| utx | |
| yurfmzncxwbil | |
| vyi | |
| yovi | |
| iya | |
| ksyi | |
| vbkmdhjzf | |
| vbhkjzmf | |
| mfolkbhjzv | |
| bcl | |
| blc | |
| clb | |
| groy | |
| n | |
| mq | |
| wiebc | |
| bpn | |
| pnb | |
| pbn | |
| bpnw | |
| nbzp | |
| blgdwivs | |
| gvilsmwbd | |
| bwgdklisnv | |
| busdviwlg | |
| mwlibsgvudc | |
| stafhuqw | |
| aufhqs | |
| hsqauf | |
| xrkfmepbsnqac | |
| ajlhmnzqfbiskyxvuoc | |
| svfalqujboincmxzkhy | |
| sxvlznqfajhyboimukc | |
| vljuykzxnsiabqchfmo | |
| fbszjynvolhamucikqx | |
| tjhcwv | |
| wc | |
| jobkfqrchsxeilu | |
| jmfiaowhpkulqrx | |
| janucsmrw | |
| lnjco | |
| qgctnjz | |
| vgjnfc | |
| dcionzxj | |
| ouhskqaiydtjz | |
| oisamqzehwlyutx | |
| uqytfipahsvzco | |
| uapehtyqziso | |
| yqatsuizefhmow | |
| klsdvrhmfiqyptuebxwc | |
| usdxgerciwlvnmpyfob | |
| vbwxyedsrmlpiacfu | |
| mzcf | |
| mwc | |
| chm | |
| zuipejovcklydarwxqsft | |
| cdevzkwmrjfpoqxtuylsia | |
| frwldqezastuocvixpjyk | |
| xkluzcosjtfvdeapwriqy | |
| yk | |
| yk | |
| ky | |
| kgy | |
| ykv | |
| vtrikmwcoju | |
| qtphlzbjwovrg | |
| pujnbx | |
| nbupjx | |
| ubxpjn | |
| nikcbsdhge | |
| hibkgcnle | |
| nboehtpigck | |
| likhecnbg | |
| cuhjlgofs | |
| khsocg | |
| sbfoghzv | |
| ydsngtwop | |
| swfudijxtklq | |
| xqvnajufkihwtdsl | |
| ixjkwdsqtful | |
| mvajfubtpgxwocs | |
| pvsbofxmjwaguc | |
| asbgcfmowxujpv | |
| oseuibcgxfvmawjp | |
| pmbcageuojfxswv | |
| dvwqskngflbpx | |
| ibtgczowdfljmhuaye | |
| svlgnwfrpqbd | |
| ftxykloisajqwzun | |
| qytozbimwxuafeknj | |
| lazjyixqmotnuwk | |
| voxhyjzknuticqwa | |
| tfszajmeokvupiy | |
| tmqcvyjsuf | |
| vtyufsmgnj | |
| kwzrisqu | |
| zuskiqr | |
| v | |
| h | |
| h | |
| h | |
| w | |
| g | |
| g | |
| g | |
| g | |
| mg | |
| wmoigknfuqlerxcpd | |
| xmcrguoeqfnpkwild | |
| egmlufncqdvxropiwk | |
| wagquoxrcfptekdinml | |
| lxgfmeirdquowkcpn | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var sRules = Input.Split("\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| //(new Bag("a", "b") == new Bag("a", "b")).Dump(); | |
| foreach (var sRule in sRules) | |
| { | |
| Bag.Parse(sRule); | |
| } | |
| // Number of bags with at least one "shiny gold" bag | |
| Bag shinyGoldBag = new Bag("shiny", "gold"); | |
| Bags.Where(b => HasInnerBag(b, shinyGoldBag))//.Dump() | |
| .Count().Dump("Number of bags with at least one shiny gold bag"); | |
| // Number of bags inside each "shiny gold" bag | |
| Bags.TryGetValue(shinyGoldBag, out Bag actual); | |
| (actual.RecursiveTotal - 1).Dump("Number of bags inside each shiny gold bag"); | |
| Bags.Dump(); | |
| } | |
| bool HasInnerBag(Bag subject, Bag bagToFind) | |
| { | |
| foreach (var inner in subject.InnerBags.Keys) | |
| { | |
| if (inner == bagToFind) | |
| { | |
| return true; | |
| } | |
| else if (HasInnerBag(inner, bagToFind)) | |
| { | |
| return true; | |
| } | |
| } | |
| return false; | |
| } | |
| public static readonly HashSet<Bag> Bags = new(); | |
| public sealed record Bag(string Modifier, string Color) : IEquatable<Bag> | |
| { | |
| public Dictionary<Bag, int> InnerBags { get; } = new(); | |
| public int RecursiveTotal => InnerBags.Sum(ib => ib.Key.RecursiveTotal * ib.Value) + 1; | |
| public bool Equals(Bag other) => Modifier == other.Modifier && Color == other.Color; | |
| public override int GetHashCode() => Modifier.GetHashCode() + Modifier.GetHashCode(); | |
| public override string ToString() => $"{Modifier} {Color}"; | |
| public static Bag Parse(string raw) | |
| { | |
| var words = raw.Split(' ', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| var parsedBag = new Bag(words[0], words[1]); | |
| Bag bag = Bags.TryGetValue(parsedBag, out Bag existingBag) ? existingBag : parsedBag; | |
| if (words[4].ToLowerInvariant() == "no") | |
| { | |
| Bags.Add(bag); | |
| return bag; | |
| } | |
| for (int i = 0; i < (words.Length - 4) / 4; i++) | |
| { | |
| (int count, Bag inner) = ParseInner(words.Skip(4 * (i + 1))); | |
| bag.InnerBags.TryAdd(inner, count); | |
| } | |
| Bags.Add(bag); | |
| return bag; | |
| } | |
| private static (int count, Bag bag) ParseInner(IEnumerable<string> words) | |
| { | |
| var e = words.GetEnumerator(); | |
| e.MoveNext(); | |
| int count = int.Parse(e.Current); | |
| e.MoveNext(); | |
| string modifier = e.Current; | |
| e.MoveNext(); | |
| string color = e.Current; | |
| var newBag = new Bag(modifier, color); | |
| if (Bags.TryGetValue(newBag, out var existingBag)) | |
| { | |
| return (count, existingBag); | |
| } | |
| else | |
| { | |
| Bags.Add(newBag); | |
| return (count, newBag); | |
| } | |
| } | |
| } | |
| static readonly string TestInput = @" | |
| light red bags contain 1 bright white bag, 2 muted yellow bags. | |
| dark orange bags contain 3 bright white bags, 4 muted yellow bags. | |
| bright white bags contain 1 shiny gold bag. | |
| muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. | |
| shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. | |
| dark olive bags contain 3 faded blue bags, 4 dotted black bags. | |
| vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. | |
| faded blue bags contain no other bags. | |
| dotted black bags contain no other bags. | |
| "; | |
| static readonly string Input = @" | |
| dim silver bags contain 3 posh fuchsia bags. | |
| wavy olive bags contain 1 striped olive bag, 1 dull cyan bag. | |
| dull coral bags contain 1 dim olive bag, 5 muted violet bags, 2 dark gray bags. | |
| bright olive bags contain 3 light indigo bags, 3 dark coral bags. | |
| clear lavender bags contain 1 dark olive bag. | |
| dim lime bags contain 3 dotted red bags. | |
| drab indigo bags contain 5 striped coral bags, 2 muted bronze bags. | |
| striped orange bags contain 5 wavy fuchsia bags, 5 clear red bags, 3 plaid red bags. | |
| dotted indigo bags contain 2 plaid white bags, 1 wavy gold bag, 1 plaid silver bag. | |
| posh crimson bags contain 3 clear crimson bags, 5 dotted silver bags, 3 dull crimson bags, 5 wavy violet bags. | |
| mirrored tan bags contain 1 plaid white bag, 3 vibrant beige bags, 3 drab silver bags, 1 pale blue bag. | |
| dull turquoise bags contain 5 plaid magenta bags, 3 bright aqua bags, 1 dim purple bag, 1 wavy orange bag. | |
| dark tomato bags contain 1 plaid gray bag. | |
| shiny red bags contain 4 vibrant maroon bags, 5 faded bronze bags. | |
| clear tan bags contain 4 pale lime bags, 4 faded plum bags. | |
| mirrored plum bags contain 1 wavy silver bag, 4 dim purple bags, 3 dim coral bags. | |
| dotted orange bags contain 4 pale aqua bags, 3 dotted aqua bags, 4 clear beige bags. | |
| wavy lime bags contain 5 dim salmon bags, 4 dark violet bags, 4 clear turquoise bags. | |
| faded gray bags contain 2 dotted lime bags, 5 plaid tomato bags. | |
| pale orange bags contain 5 faded maroon bags. | |
| shiny lime bags contain 3 striped olive bags, 5 light fuchsia bags, 1 pale crimson bag, 1 pale salmon bag. | |
| drab red bags contain 5 muted chartreuse bags, 4 clear purple bags, 4 drab silver bags, 3 posh green bags. | |
| plaid plum bags contain 2 dim blue bags, 1 dim coral bag. | |
| clear red bags contain 3 plaid teal bags, 4 vibrant orange bags, 1 pale red bag. | |
| dark yellow bags contain 5 mirrored lavender bags, 5 dull bronze bags, 4 pale salmon bags, 5 wavy crimson bags. | |
| clear violet bags contain 5 clear turquoise bags, 3 clear beige bags, 4 dim plum bags. | |
| plaid cyan bags contain no other bags. | |
| light salmon bags contain 3 dull yellow bags, 2 vibrant violet bags, 2 dark orange bags, 1 light magenta bag. | |
| dim indigo bags contain 2 vibrant orange bags, 3 drab teal bags, 4 plaid indigo bags. | |
| shiny magenta bags contain 1 dark salmon bag, 4 shiny gray bags, 2 mirrored purple bags. | |
| drab coral bags contain 5 pale crimson bags, 1 mirrored aqua bag, 4 light red bags. | |
| muted blue bags contain 1 dark green bag, 5 muted salmon bags, 4 posh beige bags, 4 pale salmon bags. | |
| plaid salmon bags contain 5 striped white bags, 4 posh fuchsia bags, 5 faded turquoise bags. | |
| vibrant bronze bags contain 1 bright orange bag, 2 bright plum bags. | |
| dull salmon bags contain 2 pale crimson bags, 3 dark tan bags, 5 light plum bags. | |
| striped magenta bags contain 4 wavy yellow bags, 3 bright chartreuse bags, 5 plaid cyan bags. | |
| light olive bags contain 5 vibrant beige bags, 3 faded tomato bags, 1 dark indigo bag. | |
| faded turquoise bags contain 2 shiny salmon bags, 3 wavy crimson bags, 5 dim yellow bags, 1 posh salmon bag. | |
| pale fuchsia bags contain 2 posh blue bags, 4 mirrored blue bags, 3 wavy silver bags, 2 wavy crimson bags. | |
| dotted tomato bags contain 2 dotted lime bags, 1 wavy teal bag, 1 mirrored black bag, 3 dull gold bags. | |
| shiny maroon bags contain 5 striped salmon bags. | |
| vibrant gray bags contain 5 clear tan bags, 5 plaid crimson bags, 3 striped cyan bags, 1 dark gold bag. | |
| muted tomato bags contain 1 dull salmon bag. | |
| striped salmon bags contain 4 plaid white bags, 5 dim salmon bags, 4 vibrant lime bags. | |
| light tan bags contain 2 posh lavender bags, 5 shiny aqua bags. | |
| wavy brown bags contain 2 posh lavender bags. | |
| drab beige bags contain 5 plaid coral bags, 3 bright turquoise bags, 5 dark purple bags, 3 mirrored black bags. | |
| bright tomato bags contain 1 bright teal bag, 2 bright tan bags, 2 dotted salmon bags. | |
| dim tan bags contain 2 striped cyan bags, 5 wavy green bags, 3 drab beige bags. | |
| light plum bags contain 4 clear silver bags, 1 vibrant chartreuse bag. | |
| light black bags contain 1 muted tan bag, 2 dim yellow bags. | |
| clear orange bags contain 5 mirrored violet bags, 1 wavy salmon bag, 3 dim plum bags. | |
| bright gray bags contain 5 dim blue bags, 1 dotted red bag, 5 mirrored aqua bags. | |
| striped cyan bags contain 4 striped teal bags, 1 dark tan bag, 1 dim green bag. | |
| shiny olive bags contain 1 dark aqua bag, 2 muted lime bags. | |
| clear brown bags contain 5 dark salmon bags. | |
| dotted tan bags contain 2 plaid brown bags. | |
| light green bags contain 5 plaid silver bags, 5 posh aqua bags, 3 dull green bags, 5 faded red bags. | |
| posh coral bags contain 1 muted teal bag. | |
| drab green bags contain 1 dotted blue bag. | |
| dark fuchsia bags contain 2 wavy tomato bags, 3 faded plum bags. | |
| vibrant purple bags contain 3 posh tomato bags, 4 dim purple bags, 5 plaid brown bags, 4 dotted red bags. | |
| vibrant tomato bags contain 5 wavy orange bags, 1 striped teal bag. | |
| faded coral bags contain 5 dotted maroon bags, 2 light tan bags, 1 plaid black bag, 4 dark indigo bags. | |
| posh gold bags contain 4 mirrored plum bags. | |
| muted beige bags contain 2 pale brown bags, 4 dull black bags, 4 vibrant blue bags. | |
| dull green bags contain 3 drab silver bags, 5 dotted red bags, 3 mirrored violet bags, 3 bright black bags. | |
| dark lime bags contain 5 light chartreuse bags, 3 pale magenta bags, 1 dull indigo bag. | |
| dark orange bags contain 1 dark crimson bag, 2 clear turquoise bags, 2 dotted silver bags. | |
| muted yellow bags contain 2 pale salmon bags, 3 bright plum bags, 3 shiny aqua bags, 5 plaid cyan bags. | |
| vibrant white bags contain 5 dim coral bags, 5 dim bronze bags. | |
| posh white bags contain 2 wavy blue bags, 3 clear chartreuse bags, 1 wavy coral bag, 5 drab turquoise bags. | |
| faded violet bags contain 4 dim bronze bags. | |
| bright yellow bags contain 5 pale violet bags, 2 striped fuchsia bags. | |
| dim blue bags contain 2 posh salmon bags, 4 posh red bags, 5 clear turquoise bags, 4 muted lavender bags. | |
| plaid olive bags contain no other bags. | |
| posh plum bags contain 2 drab turquoise bags, 4 bright fuchsia bags, 4 drab indigo bags. | |
| posh violet bags contain 3 plaid olive bags, 2 posh teal bags, 1 posh purple bag. | |
| pale beige bags contain 4 wavy crimson bags, 5 shiny gold bags. | |
| shiny turquoise bags contain 5 dark gray bags, 4 clear brown bags. | |
| clear bronze bags contain 1 dull coral bag, 1 mirrored cyan bag, 2 dotted orange bags, 1 plaid magenta bag. | |
| dark magenta bags contain 3 vibrant orange bags, 1 dull lime bag, 1 dim plum bag. | |
| light silver bags contain 2 posh coral bags. | |
| drab gold bags contain 5 mirrored gold bags, 1 bright blue bag. | |
| dull fuchsia bags contain 3 pale blue bags. | |
| muted brown bags contain 4 drab fuchsia bags, 4 plaid bronze bags. | |
| bright coral bags contain 2 dull crimson bags. | |
| clear black bags contain 5 striped brown bags. | |
| mirrored coral bags contain 2 striped brown bags, 4 clear coral bags. | |
| dull purple bags contain 1 plaid green bag, 5 shiny gold bags. | |
| drab brown bags contain 4 striped coral bags, 1 muted magenta bag, 4 faded red bags. | |
| faded plum bags contain 5 shiny orange bags. | |
| vibrant violet bags contain 1 drab gold bag, 1 light violet bag. | |
| clear salmon bags contain 5 posh orange bags, 1 wavy fuchsia bag, 5 mirrored yellow bags. | |
| dull yellow bags contain 5 light orange bags, 4 striped purple bags. | |
| striped olive bags contain 1 plaid beige bag, 1 shiny turquoise bag, 2 drab gold bags, 1 pale lime bag. | |
| clear beige bags contain no other bags. | |
| mirrored fuchsia bags contain 1 clear olive bag, 3 pale aqua bags. | |
| posh turquoise bags contain 5 pale crimson bags, 3 dull cyan bags. | |
| dull lime bags contain 3 plaid chartreuse bags. | |
| wavy black bags contain 3 dull salmon bags, 5 plaid teal bags. | |
| dim lavender bags contain 1 dark gray bag, 2 muted indigo bags. | |
| wavy yellow bags contain 2 striped turquoise bags. | |
| striped gray bags contain 3 drab white bags. | |
| dotted magenta bags contain 3 plaid white bags, 4 clear beige bags, 1 faded maroon bag, 3 muted lavender bags. | |
| vibrant coral bags contain 5 shiny olive bags, 2 pale brown bags. | |
| dim aqua bags contain 5 striped crimson bags, 3 bright lavender bags. | |
| pale lavender bags contain 3 vibrant tan bags. | |
| bright fuchsia bags contain 2 dotted fuchsia bags. | |
| dark black bags contain 5 drab purple bags, 3 striped yellow bags, 2 posh tan bags. | |
| dark teal bags contain 3 plaid white bags, 5 bright cyan bags, 1 posh blue bag, 4 mirrored magenta bags. | |
| plaid brown bags contain 3 bright plum bags, 1 muted magenta bag, 4 clear gray bags, 2 clear crimson bags. | |
| mirrored magenta bags contain no other bags. | |
| light brown bags contain 4 wavy red bags, 2 faded white bags. | |
| dotted purple bags contain 2 pale lime bags. | |
| clear teal bags contain 3 plaid red bags, 3 striped coral bags, 4 mirrored black bags, 2 posh red bags. | |
| striped gold bags contain 3 bright plum bags, 2 mirrored gold bags. | |
| dotted black bags contain 2 clear crimson bags, 1 dark violet bag, 2 clear teal bags, 3 mirrored purple bags. | |
| dim gray bags contain 1 dotted salmon bag, 2 dim silver bags, 5 wavy black bags, 2 dotted green bags. | |
| shiny black bags contain 3 plaid bronze bags, 5 dim plum bags, 3 muted teal bags, 5 muted magenta bags. | |
| plaid orange bags contain 5 plaid crimson bags, 4 muted white bags, 4 dark lime bags, 5 plaid cyan bags. | |
| striped fuchsia bags contain 1 dull bronze bag, 1 wavy aqua bag, 1 plaid salmon bag, 2 faded cyan bags. | |
| wavy white bags contain 4 posh beige bags. | |
| dull teal bags contain 1 vibrant blue bag, 1 light red bag, 3 striped brown bags. | |
| vibrant chartreuse bags contain 1 shiny aqua bag, 4 clear crimson bags, 1 faded red bag, 1 dull crimson bag. | |
| wavy cyan bags contain 5 striped red bags, 1 shiny magenta bag. | |
| vibrant olive bags contain 3 light fuchsia bags, 5 pale tan bags, 5 light tomato bags. | |
| dotted fuchsia bags contain 5 clear silver bags, 5 light aqua bags, 5 posh beige bags. | |
| wavy tomato bags contain 2 wavy tan bags, 3 muted lavender bags, 2 pale salmon bags. | |
| posh lime bags contain 4 drab lime bags, 4 dull lavender bags. | |
| shiny white bags contain 1 plaid olive bag, 2 faded white bags, 2 dull salmon bags. | |
| bright plum bags contain 1 dotted salmon bag, 4 plaid red bags, 1 mirrored purple bag, 3 shiny aqua bags. | |
| dotted lavender bags contain 1 light green bag, 3 light magenta bags. | |
| bright gold bags contain 4 dim blue bags, 5 dark salmon bags, 2 posh crimson bags. | |
| striped violet bags contain 4 posh plum bags, 1 drab crimson bag, 2 faded orange bags, 3 dotted green bags. | |
| dull plum bags contain 1 dark maroon bag. | |
| striped tomato bags contain 5 striped maroon bags, 1 plaid turquoise bag. | |
| muted bronze bags contain 1 plaid red bag. | |
| dull lavender bags contain 2 plaid white bags. | |
| dark bronze bags contain 1 clear turquoise bag, 5 dim purple bags, 2 bright turquoise bags, 2 striped coral bags. | |
| muted green bags contain 3 plaid white bags, 5 pale blue bags, 3 plaid tan bags, 2 clear turquoise bags. | |
| mirrored bronze bags contain 2 faded white bags, 3 bright teal bags, 2 clear red bags, 2 clear crimson bags. | |
| clear silver bags contain 5 dim yellow bags, 2 striped brown bags, 1 muted magenta bag. | |
| dark indigo bags contain 3 faded maroon bags, 3 mirrored purple bags. | |
| posh silver bags contain 3 dotted maroon bags, 1 striped indigo bag, 1 faded red bag. | |
| light teal bags contain 1 vibrant beige bag, 1 striped plum bag, 4 dim salmon bags. | |
| dull orange bags contain 2 shiny teal bags, 5 muted teal bags, 1 dark fuchsia bag, 4 bright magenta bags. | |
| muted red bags contain 2 mirrored magenta bags. | |
| dotted gray bags contain 3 dull maroon bags, 4 mirrored blue bags, 3 mirrored red bags. | |
| light lime bags contain 5 plaid fuchsia bags, 4 posh plum bags. | |
| pale coral bags contain 3 shiny gray bags, 2 plaid beige bags. | |
| dim brown bags contain 1 faded gray bag. | |
| drab tan bags contain 5 dotted crimson bags. | |
| clear chartreuse bags contain 4 faded maroon bags, 5 plaid white bags. | |
| posh maroon bags contain 1 clear beige bag, 5 light black bags. | |
| mirrored blue bags contain 4 faded gray bags, 5 mirrored olive bags, 1 pale lime bag. | |
| clear coral bags contain 1 plaid fuchsia bag, 4 drab yellow bags, 4 light bronze bags. | |
| mirrored orange bags contain 4 mirrored lavender bags, 3 faded orange bags, 4 mirrored gold bags, 3 dim silver bags. | |
| pale bronze bags contain 4 plaid orange bags, 3 wavy chartreuse bags, 2 clear red bags. | |
| faded yellow bags contain 2 posh green bags. | |
| light magenta bags contain 3 clear silver bags, 3 pale magenta bags. | |
| clear aqua bags contain 2 dark tan bags. | |
| clear yellow bags contain 5 dim violet bags, 5 drab bronze bags. | |
| plaid yellow bags contain 4 dotted salmon bags. | |
| pale salmon bags contain 2 plaid olive bags, 5 clear beige bags. | |
| bright magenta bags contain 2 shiny maroon bags, 1 bright maroon bag, 5 shiny white bags. | |
| dull brown bags contain 4 posh fuchsia bags, 2 dotted tan bags. | |
| muted magenta bags contain no other bags. | |
| muted lavender bags contain 5 light aqua bags, 1 faded maroon bag, 4 plaid lavender bags. | |
| dotted violet bags contain 2 pale red bags, 3 mirrored magenta bags. | |
| wavy gray bags contain 5 dark indigo bags, 3 dim yellow bags, 3 posh lime bags, 1 wavy yellow bag. | |
| posh beige bags contain 4 mirrored magenta bags, 1 striped brown bag, 1 mirrored aqua bag, 5 dotted silver bags. | |
| drab crimson bags contain 2 faded coral bags, 4 light indigo bags, 4 dark indigo bags. | |
| wavy magenta bags contain 5 clear gold bags, 4 dim purple bags, 3 pale green bags. | |
| dim fuchsia bags contain 2 drab teal bags, 4 plaid brown bags, 5 faded orange bags. | |
| faded indigo bags contain 2 faded orange bags, 4 striped turquoise bags, 4 pale salmon bags, 4 bright cyan bags. | |
| posh yellow bags contain 2 pale gold bags, 3 posh coral bags, 1 dotted tan bag. | |
| muted chartreuse bags contain 5 plaid brown bags, 3 dull green bags. | |
| dotted plum bags contain 4 mirrored purple bags, 1 drab tan bag, 3 striped white bags. | |
| clear plum bags contain 3 posh green bags. | |
| striped red bags contain 1 striped tomato bag, 1 wavy fuchsia bag, 3 clear yellow bags. | |
| striped aqua bags contain 4 posh teal bags, 2 bright beige bags. | |
| dim gold bags contain 5 dull salmon bags, 3 mirrored red bags, 1 mirrored black bag. | |
| mirrored brown bags contain 1 mirrored salmon bag. | |
| wavy plum bags contain 3 shiny yellow bags, 5 light crimson bags, 5 dotted silver bags. | |
| striped coral bags contain no other bags. | |
| dark gray bags contain 4 dotted salmon bags, 2 clear brown bags, 2 posh crimson bags, 5 mirrored plum bags. | |
| posh chartreuse bags contain 2 wavy fuchsia bags, 4 mirrored beige bags. | |
| dotted gold bags contain 1 dark lavender bag, 1 striped black bag. | |
| posh green bags contain 3 dotted salmon bags, 4 pale salmon bags, 3 posh red bags, 4 dim green bags. | |
| plaid blue bags contain 2 posh green bags, 3 dim cyan bags, 5 dull bronze bags. | |
| light lavender bags contain 5 muted green bags, 1 light violet bag, 5 muted plum bags. | |
| pale plum bags contain 5 muted lavender bags, 5 light bronze bags, 4 plaid crimson bags. | |
| mirrored indigo bags contain 4 dark violet bags, 2 wavy purple bags, 5 plaid tan bags. | |
| dim violet bags contain 4 mirrored black bags, 4 dull lime bags, 3 posh crimson bags, 1 pale brown bag. | |
| shiny coral bags contain 1 light aqua bag, 5 plaid olive bags, 4 bright turquoise bags. | |
| dotted cyan bags contain 4 shiny olive bags, 4 light bronze bags, 2 dim plum bags. | |
| mirrored teal bags contain 5 dim violet bags. | |
| shiny purple bags contain 4 dim magenta bags, 2 clear white bags, 3 posh silver bags, 1 shiny turquoise bag. | |
| shiny gray bags contain 5 pale lavender bags, 3 vibrant turquoise bags, 1 faded maroon bag, 1 bright cyan bag. | |
| mirrored chartreuse bags contain 2 clear white bags. | |
| light beige bags contain 5 mirrored turquoise bags, 5 plaid maroon bags, 3 light silver bags. | |
| dull tomato bags contain 1 shiny gold bag, 4 pale blue bags. | |
| plaid teal bags contain 1 dim purple bag, 3 striped turquoise bags, 3 light indigo bags, 2 faded red bags. | |
| vibrant aqua bags contain 3 mirrored turquoise bags, 1 light plum bag, 5 clear teal bags, 1 dull blue bag. | |
| dotted turquoise bags contain 5 bright fuchsia bags, 5 dim blue bags, 3 posh green bags, 3 wavy red bags. | |
| dark lavender bags contain 1 mirrored lime bag, 2 plaid red bags, 2 striped white bags, 1 plaid tomato bag. | |
| plaid tan bags contain 5 plaid white bags. | |
| pale olive bags contain 1 clear salmon bag. | |
| wavy indigo bags contain 1 plaid black bag, 1 wavy teal bag, 3 mirrored salmon bags. | |
| drab chartreuse bags contain 2 light lime bags, 3 drab yellow bags. | |
| drab blue bags contain 3 vibrant brown bags. | |
| muted purple bags contain 2 shiny yellow bags. | |
| muted aqua bags contain 4 striped white bags. | |
| mirrored violet bags contain 3 wavy violet bags, 4 mirrored aqua bags. | |
| bright cyan bags contain 3 wavy fuchsia bags, 2 dark coral bags, 1 shiny orange bag. | |
| posh teal bags contain 5 bright gray bags, 4 faded gray bags, 2 plaid turquoise bags. | |
| muted lime bags contain 2 striped coral bags, 1 dark tan bag, 4 plaid cyan bags. | |
| mirrored crimson bags contain 4 faded violet bags, 1 posh purple bag. | |
| light blue bags contain 2 dotted blue bags, 2 dark gold bags, 5 bright cyan bags, 1 light crimson bag. | |
| dull beige bags contain 2 dark turquoise bags, 5 mirrored violet bags, 1 muted crimson bag. | |
| dark cyan bags contain 5 muted blue bags. | |
| dim turquoise bags contain 3 shiny silver bags, 1 pale yellow bag, 3 plaid chartreuse bags, 1 posh bronze bag. | |
| faded brown bags contain 3 dim silver bags, 2 mirrored bronze bags. | |
| wavy bronze bags contain 3 shiny tomato bags, 3 dim salmon bags. | |
| pale brown bags contain 3 pale tan bags, 2 plaid olive bags, 2 posh lavender bags, 1 shiny aqua bag. | |
| dull white bags contain 1 dull red bag, 5 dark gold bags, 3 striped magenta bags, 2 muted green bags. | |
| plaid crimson bags contain 5 drab bronze bags, 2 pale blue bags. | |
| bright lavender bags contain 1 dark bronze bag. | |
| plaid red bags contain 3 striped turquoise bags, 4 dull crimson bags, 1 striped brown bag, 2 clear crimson bags. | |
| muted gold bags contain 5 dotted black bags, 1 striped salmon bag, 3 drab purple bags, 5 bright red bags. | |
| striped silver bags contain 3 posh black bags. | |
| bright aqua bags contain 4 light orange bags, 3 wavy blue bags, 3 dull lime bags. | |
| plaid fuchsia bags contain 2 shiny orange bags. | |
| bright violet bags contain 1 drab turquoise bag, 1 dim cyan bag, 4 pale blue bags, 3 wavy blue bags. | |
| dim white bags contain 1 plaid black bag, 5 plaid violet bags, 2 light gray bags. | |
| bright tan bags contain 5 bright gold bags, 3 shiny salmon bags, 2 muted magenta bags, 1 dotted black bag. | |
| shiny bronze bags contain 3 light aqua bags, 4 clear crimson bags, 1 light beige bag, 4 clear blue bags. | |
| muted silver bags contain 4 striped lavender bags. | |
| dull red bags contain 1 dim coral bag, 1 faded plum bag, 4 plaid red bags. | |
| wavy aqua bags contain 2 dotted fuchsia bags, 2 mirrored tomato bags. | |
| dark olive bags contain 4 muted yellow bags, 2 shiny gold bags, 2 posh crimson bags. | |
| dark crimson bags contain 3 shiny aqua bags, 1 wavy black bag. | |
| dark brown bags contain 2 drab lavender bags, 5 posh green bags, 4 pale turquoise bags. | |
| pale blue bags contain 2 striped coral bags, 2 shiny gold bags. | |
| vibrant blue bags contain 1 mirrored lavender bag, 4 dark aqua bags, 5 wavy coral bags. | |
| posh cyan bags contain 1 dull lavender bag, 3 striped gray bags, 1 vibrant orange bag. | |
| faded red bags contain 1 posh crimson bag, 1 wavy coral bag, 5 clear beige bags, 3 dotted silver bags. | |
| vibrant gold bags contain 3 drab lavender bags, 5 dim magenta bags, 2 bright tomato bags, 4 light magenta bags. | |
| shiny chartreuse bags contain 5 vibrant turquoise bags. | |
| clear gray bags contain 4 wavy coral bags, 2 dark salmon bags, 3 dark indigo bags. | |
| pale maroon bags contain 4 posh tomato bags, 5 bright tan bags. | |
| light turquoise bags contain 3 drab fuchsia bags, 4 bright silver bags, 5 light green bags. | |
| muted crimson bags contain 1 dim yellow bag, 4 wavy fuchsia bags, 2 mirrored magenta bags, 2 clear beige bags. | |
| dull gray bags contain 2 posh green bags. | |
| light fuchsia bags contain 5 dark gold bags, 3 plaid black bags, 2 bright lavender bags. | |
| striped green bags contain 2 striped fuchsia bags, 5 dull tomato bags, 2 posh crimson bags. | |
| mirrored purple bags contain 2 posh crimson bags, 2 mirrored magenta bags, 3 wavy violet bags, 1 striped coral bag. | |
| vibrant black bags contain 3 clear magenta bags, 4 muted salmon bags, 5 posh blue bags. | |
| plaid beige bags contain 2 dark black bags, 5 plaid yellow bags, 2 bright violet bags. | |
| pale teal bags contain 3 pale crimson bags. | |
| striped turquoise bags contain no other bags. | |
| dim purple bags contain 2 dull crimson bags, 5 bright red bags. | |
| faded cyan bags contain 5 posh aqua bags, 4 dull green bags, 3 dark olive bags. | |
| mirrored cyan bags contain 5 plaid salmon bags, 4 dim salmon bags, 4 posh tomato bags. | |
| striped purple bags contain 2 faded salmon bags, 2 bright tan bags, 4 drab white bags. | |
| bright blue bags contain 3 light purple bags, 1 pale yellow bag. | |
| faded bronze bags contain 1 light indigo bag, 3 plaid green bags, 5 posh orange bags. | |
| striped white bags contain 4 drab indigo bags, 5 wavy tomato bags, 5 dotted fuchsia bags, 2 dim silver bags. | |
| clear lime bags contain 2 dotted magenta bags, 5 striped magenta bags, 3 bright coral bags, 3 mirrored silver bags. | |
| bright white bags contain 3 dim lavender bags. | |
| dim crimson bags contain 1 posh black bag, 1 mirrored silver bag. | |
| clear olive bags contain 4 vibrant purple bags, 3 drab lavender bags, 2 pale violet bags. | |
| light coral bags contain 2 dotted green bags, 2 wavy aqua bags, 4 dark salmon bags, 3 light gold bags. | |
| muted plum bags contain 5 plaid tan bags, 1 mirrored silver bag, 3 vibrant turquoise bags. | |
| dim plum bags contain 4 bright plum bags. | |
| drab bronze bags contain 1 light indigo bag, 3 striped brown bags, 3 clear gold bags, 3 clear gray bags. | |
| plaid maroon bags contain 1 dotted orange bag, 5 light magenta bags, 4 faded salmon bags, 3 pale yellow bags. | |
| wavy violet bags contain 2 dotted silver bags, 3 dull crimson bags, 5 mirrored aqua bags, 4 striped brown bags. | |
| pale crimson bags contain 3 bright chartreuse bags, 4 light turquoise bags, 1 bright gray bag, 1 muted bronze bag. | |
| mirrored aqua bags contain no other bags. | |
| clear crimson bags contain 2 pale salmon bags, 4 mirrored magenta bags, 1 striped coral bag, 5 plaid olive bags. | |
| dark tan bags contain 4 wavy silver bags, 4 dark aqua bags. | |
| wavy maroon bags contain 3 clear gray bags. | |
| light crimson bags contain 3 clear silver bags. | |
| vibrant green bags contain 1 clear magenta bag, 1 dim white bag, 4 plaid black bags. | |
| bright bronze bags contain 2 light brown bags. | |
| light maroon bags contain 5 bright red bags, 2 bright tan bags, 5 dim silver bags, 4 pale salmon bags. | |
| dark coral bags contain 2 light crimson bags. | |
| pale silver bags contain 2 mirrored magenta bags, 3 posh red bags, 1 muted yellow bag, 5 dark salmon bags. | |
| dotted crimson bags contain 4 faded salmon bags, 4 vibrant beige bags, 5 dim beige bags. | |
| dull silver bags contain 1 striped brown bag, 2 shiny magenta bags. | |
| striped beige bags contain 4 clear crimson bags. | |
| faded orange bags contain 2 drab white bags, 3 striped salmon bags, 5 bright chartreuse bags. | |
| drab olive bags contain 4 clear purple bags. | |
| dull maroon bags contain 3 dotted magenta bags. | |
| vibrant lavender bags contain 2 light tomato bags, 1 shiny teal bag. | |
| dotted chartreuse bags contain 4 faded white bags, 2 light brown bags. | |
| drab cyan bags contain 2 pale coral bags, 3 light purple bags, 2 drab bronze bags, 1 dim beige bag. | |
| bright teal bags contain 2 vibrant plum bags, 2 dull tan bags, 1 dim tomato bag, 5 dark violet bags. | |
| wavy fuchsia bags contain 1 dim green bag, 2 wavy violet bags. | |
| drab black bags contain 3 striped tomato bags, 4 light salmon bags, 4 dim yellow bags, 3 shiny black bags. | |
| dark green bags contain 5 dark tan bags. | |
| clear tomato bags contain 4 mirrored gold bags, 4 dark gold bags. | |
| plaid aqua bags contain 5 dotted coral bags, 1 muted white bag. | |
| plaid white bags contain 3 clear crimson bags, 3 wavy gold bags, 3 pale lime bags, 2 striped brown bags. | |
| muted black bags contain 1 wavy tan bag, 4 mirrored turquoise bags. | |
| faded aqua bags contain 5 dull turquoise bags, 1 vibrant tan bag. | |
| vibrant brown bags contain 5 pale silver bags, 3 drab orange bags, 1 clear olive bag. | |
| pale cyan bags contain 2 faded cyan bags, 1 mirrored tan bag, 3 vibrant aqua bags, 3 light gold bags. | |
| shiny salmon bags contain 5 posh red bags, 5 light chartreuse bags, 2 striped brown bags. | |
| plaid lime bags contain 4 dim gold bags, 1 clear magenta bag. | |
| drab tomato bags contain 5 clear orange bags. | |
| faded beige bags contain 3 dark crimson bags, 2 mirrored tan bags. | |
| vibrant crimson bags contain 4 wavy blue bags, 5 clear gray bags. | |
| dotted maroon bags contain 5 dotted red bags, 4 wavy silver bags, 1 drab brown bag, 3 dark black bags. | |
| striped indigo bags contain 3 striped orange bags. | |
| dim orange bags contain 1 wavy lavender bag, 5 drab brown bags, 1 dull salmon bag. | |
| posh olive bags contain 3 faded indigo bags, 1 plaid white bag. | |
| striped lavender bags contain 1 bright red bag. | |
| muted violet bags contain 3 bright tan bags, 5 striped coral bags, 1 drab bronze bag. | |
| wavy tan bags contain 1 striped brown bag, 3 dim salmon bags, 1 posh fuchsia bag, 4 mirrored violet bags. | |
| dull magenta bags contain 1 clear red bag, 4 dull green bags, 2 posh lime bags, 5 mirrored gold bags. | |
| dotted red bags contain 1 mirrored black bag, 3 dull bronze bags, 2 dim salmon bags. | |
| drab turquoise bags contain 5 muted yellow bags, 1 light indigo bag, 5 dotted black bags. | |
| faded purple bags contain 5 dim orange bags, 3 dark red bags. | |
| faded teal bags contain 1 bright fuchsia bag. | |
| plaid gray bags contain 5 pale aqua bags. | |
| bright black bags contain 4 wavy violet bags. | |
| dim green bags contain 3 mirrored aqua bags, 1 light chartreuse bag, 1 light indigo bag. | |
| dark gold bags contain 2 mirrored red bags, 2 bright lavender bags, 3 pale crimson bags. | |
| dark plum bags contain 2 pale salmon bags. | |
| wavy orange bags contain 2 light tan bags, 1 pale yellow bag, 2 shiny aqua bags, 4 vibrant orange bags. | |
| bright chartreuse bags contain 5 dark salmon bags, 1 plaid olive bag. | |
| wavy purple bags contain 4 faded coral bags, 2 vibrant orange bags. | |
| shiny violet bags contain 3 plaid chartreuse bags, 2 plaid brown bags. | |
| posh indigo bags contain 1 posh salmon bag. | |
| clear indigo bags contain 3 light violet bags. | |
| plaid purple bags contain 1 clear blue bag, 2 muted gold bags, 1 dull brown bag. | |
| posh lavender bags contain 1 plaid black bag, 3 shiny orange bags, 3 posh red bags, 4 plaid cyan bags. | |
| wavy silver bags contain 3 plaid cyan bags, 1 plaid olive bag. | |
| posh salmon bags contain 3 clear gray bags, 5 dotted silver bags, 4 shiny aqua bags. | |
| faded lavender bags contain 4 drab chartreuse bags, 4 plaid magenta bags, 1 vibrant tomato bag. | |
| pale red bags contain 4 bright red bags, 4 pale lime bags, 3 striped turquoise bags. | |
| bright purple bags contain 3 muted lavender bags. | |
| dim magenta bags contain 1 plaid teal bag, 3 posh lavender bags. | |
| posh magenta bags contain 3 pale teal bags, 5 mirrored tomato bags, 2 striped gold bags, 2 bright tomato bags. | |
| bright brown bags contain 1 dark fuchsia bag, 4 pale yellow bags, 5 shiny crimson bags. | |
| light red bags contain 1 wavy teal bag. | |
| pale turquoise bags contain 3 mirrored yellow bags. | |
| vibrant magenta bags contain 4 dark gold bags. | |
| dotted salmon bags contain 3 wavy violet bags, 4 shiny aqua bags, 4 dull bronze bags. | |
| mirrored gray bags contain 3 dark plum bags, 3 striped gray bags, 4 plaid violet bags. | |
| dim yellow bags contain 3 striped turquoise bags, 2 pale salmon bags, 4 mirrored magenta bags, 5 striped brown bags. | |
| drab lavender bags contain 2 faded maroon bags, 2 shiny orange bags. | |
| muted maroon bags contain 1 wavy tomato bag, 2 drab red bags. | |
| clear gold bags contain 3 mirrored olive bags, 3 striped turquoise bags. | |
| light bronze bags contain 1 muted lavender bag. | |
| dotted bronze bags contain 2 dotted turquoise bags. | |
| pale tomato bags contain 3 shiny beige bags, 1 mirrored tomato bag, 2 dotted maroon bags, 2 wavy teal bags. | |
| pale chartreuse bags contain 5 plaid silver bags. | |
| drab magenta bags contain 5 wavy tomato bags, 1 drab brown bag, 2 posh maroon bags, 5 mirrored teal bags. | |
| posh blue bags contain 3 muted lime bags, 1 mirrored tomato bag, 5 shiny aqua bags. | |
| posh purple bags contain 5 dull maroon bags. | |
| posh bronze bags contain 2 mirrored orange bags, 2 pale violet bags, 2 plaid gray bags. | |
| pale gold bags contain 4 striped brown bags, 2 muted green bags. | |
| faded crimson bags contain 5 drab salmon bags, 2 posh crimson bags, 3 light purple bags, 5 clear red bags. | |
| vibrant fuchsia bags contain 2 posh beige bags, 4 dotted indigo bags, 5 pale silver bags, 4 clear black bags. | |
| faded lime bags contain 3 posh plum bags, 3 shiny aqua bags, 4 dull chartreuse bags. | |
| shiny fuchsia bags contain 4 shiny salmon bags, 3 pale chartreuse bags. | |
| wavy lavender bags contain 2 dark blue bags, 5 muted salmon bags. | |
| pale indigo bags contain 1 wavy gold bag, 1 clear silver bag, 3 dim blue bags. | |
| drab violet bags contain 4 muted yellow bags. | |
| shiny plum bags contain 3 bright black bags, 5 pale teal bags, 5 light red bags, 2 plaid magenta bags. | |
| shiny gold bags contain 1 vibrant chartreuse bag. | |
| wavy gold bags contain 5 posh beige bags, 1 mirrored aqua bag. | |
| dark salmon bags contain 3 light aqua bags, 3 posh red bags, 2 mirrored black bags, 1 posh crimson bag. | |
| pale tan bags contain 4 wavy coral bags. | |
| dull tan bags contain 4 bright cyan bags. | |
| clear maroon bags contain 4 dim magenta bags, 2 shiny lavender bags. | |
| light white bags contain 3 dark brown bags, 4 bright fuchsia bags. | |
| wavy red bags contain 4 dim red bags. | |
| dotted aqua bags contain 4 striped teal bags. | |
| bright beige bags contain 5 shiny tomato bags. | |
| plaid indigo bags contain 1 muted bronze bag. | |
| light yellow bags contain 2 striped black bags, 2 muted gold bags, 3 dotted tan bags, 5 dark coral bags. | |
| vibrant silver bags contain 2 dim blue bags. | |
| posh tomato bags contain 5 bright red bags, 3 posh red bags, 3 plaid olive bags, 4 clear crimson bags. | |
| pale magenta bags contain 3 mirrored blue bags, 5 dull maroon bags, 5 dark violet bags. | |
| light indigo bags contain 2 plaid olive bags, 1 plaid black bag, 3 dark indigo bags. | |
| shiny green bags contain 1 vibrant chartreuse bag, 4 bright lavender bags, 3 wavy crimson bags, 4 dull red bags. | |
| striped maroon bags contain 2 posh coral bags, 2 striped gray bags, 3 clear plum bags. | |
| posh fuchsia bags contain 2 wavy gold bags, 2 posh beige bags. | |
| dim coral bags contain 4 wavy gold bags, 4 muted lavender bags. | |
| faded maroon bags contain 5 dim purple bags, 4 bright red bags, 5 wavy violet bags, 1 mirrored aqua bag. | |
| striped black bags contain 4 plaid fuchsia bags, 5 bright lavender bags, 4 dull black bags. | |
| mirrored gold bags contain 3 dotted silver bags. | |
| light tomato bags contain 5 pale brown bags, 3 wavy coral bags. | |
| dark white bags contain 2 mirrored tomato bags, 1 striped orange bag, 1 dim olive bag, 2 dotted blue bags. | |
| dotted green bags contain 3 clear plum bags. | |
| dotted brown bags contain 1 clear magenta bag. | |
| muted orange bags contain 3 muted olive bags, 2 faded yellow bags, 2 faded turquoise bags, 3 muted violet bags. | |
| dull olive bags contain 2 dotted teal bags. | |
| mirrored lime bags contain 4 dark violet bags, 4 muted yellow bags. | |
| wavy green bags contain 5 bright lime bags. | |
| drab purple bags contain 2 striped turquoise bags, 4 clear silver bags, 1 muted lime bag. | |
| clear cyan bags contain 5 light lavender bags. | |
| dim black bags contain 3 dull black bags. | |
| posh gray bags contain 4 mirrored magenta bags. | |
| dotted yellow bags contain 4 light maroon bags, 1 clear blue bag, 5 dark maroon bags. | |
| mirrored olive bags contain 2 dark violet bags, 2 dull crimson bags, 5 dim salmon bags, 5 bright tan bags. | |
| dark blue bags contain 3 dull aqua bags, 1 dim teal bag. | |
| dull bronze bags contain 4 striped coral bags. | |
| drab maroon bags contain 2 dark bronze bags, 1 wavy blue bag. | |
| mirrored lavender bags contain 4 clear black bags. | |
| dim beige bags contain 3 shiny silver bags, 2 dark purple bags, 3 dull green bags. | |
| light violet bags contain 1 muted gray bag, 5 wavy tomato bags. | |
| striped chartreuse bags contain 3 dull tan bags, 1 dim salmon bag. | |
| posh red bags contain 2 clear crimson bags, 2 striped coral bags, 2 bright red bags. | |
| wavy beige bags contain 5 muted silver bags, 5 pale teal bags. | |
| light gray bags contain 5 drab indigo bags, 3 posh crimson bags, 1 dark tan bag, 2 pale red bags. | |
| muted white bags contain 3 wavy fuchsia bags. | |
| pale violet bags contain 4 wavy tan bags, 2 plaid yellow bags. | |
| drab fuchsia bags contain 1 plaid lavender bag, 2 pale lime bags. | |
| clear green bags contain 4 light indigo bags. | |
| vibrant turquoise bags contain 2 vibrant tan bags, 3 clear silver bags. | |
| faded green bags contain 5 striped orange bags, 4 bright fuchsia bags. | |
| striped tan bags contain 4 wavy silver bags. | |
| clear white bags contain 3 vibrant fuchsia bags, 2 pale silver bags, 1 vibrant indigo bag, 3 shiny silver bags. | |
| dim cyan bags contain 2 mirrored black bags, 2 plaid chartreuse bags, 4 bright gold bags. | |
| muted gray bags contain 3 mirrored violet bags, 4 dim yellow bags. | |
| mirrored maroon bags contain 5 clear crimson bags, 2 clear gray bags, 1 dotted salmon bag. | |
| dim bronze bags contain 2 striped plum bags, 2 bright orange bags. | |
| shiny tomato bags contain 4 dim yellow bags, 2 faded bronze bags, 1 drab maroon bag, 3 dim gold bags. | |
| muted olive bags contain 2 mirrored yellow bags, 4 bright olive bags. | |
| shiny brown bags contain 3 bright coral bags. | |
| clear blue bags contain 2 pale green bags, 2 light violet bags, 4 plaid crimson bags. | |
| faded tan bags contain 4 dim crimson bags, 3 mirrored turquoise bags, 3 drab gold bags. | |
| muted cyan bags contain 2 drab silver bags. | |
| mirrored red bags contain 1 bright gold bag. | |
| faded salmon bags contain 5 posh red bags, 4 dull crimson bags, 3 dotted salmon bags, 5 shiny olive bags. | |
| dark purple bags contain 5 dim magenta bags. | |
| dotted lime bags contain 4 posh fuchsia bags, 3 wavy tan bags, 2 mirrored aqua bags, 1 shiny aqua bag. | |
| posh tan bags contain 3 plaid tan bags, 2 drab fuchsia bags. | |
| dotted teal bags contain 4 dull crimson bags, 2 bright lavender bags, 2 wavy tan bags, 4 muted crimson bags. | |
| clear purple bags contain 4 shiny aqua bags, 1 dim cyan bag, 3 dotted black bags, 4 dull gray bags. | |
| light gold bags contain 2 dotted magenta bags, 5 dark olive bags, 3 dim cyan bags, 2 dark indigo bags. | |
| mirrored silver bags contain 2 plaid black bags, 3 vibrant beige bags, 3 mirrored purple bags, 3 dotted lime bags. | |
| posh black bags contain 4 wavy violet bags, 3 plaid teal bags. | |
| faded silver bags contain 2 vibrant purple bags, 5 shiny olive bags. | |
| drab teal bags contain 2 dotted salmon bags, 4 posh beige bags, 4 mirrored tan bags, 1 muted green bag. | |
| dark maroon bags contain 2 dark tan bags, 5 mirrored gold bags, 2 dim plum bags. | |
| striped plum bags contain 3 striped coral bags, 5 clear brown bags, 1 striped brown bag. | |
| striped bronze bags contain 4 drab yellow bags, 4 striped chartreuse bags, 5 posh plum bags, 3 clear blue bags. | |
| drab plum bags contain 1 shiny gold bag, 5 vibrant tan bags, 3 light gold bags. | |
| clear fuchsia bags contain 1 vibrant red bag. | |
| dark silver bags contain 5 clear salmon bags, 1 faded yellow bag, 1 shiny lavender bag, 3 wavy fuchsia bags. | |
| striped lime bags contain 2 dim tomato bags, 3 light fuchsia bags, 1 light lime bag. | |
| wavy salmon bags contain 1 shiny tomato bag, 1 light tomato bag. | |
| dim maroon bags contain 4 faded beige bags, 2 bright turquoise bags, 4 dull purple bags, 4 vibrant olive bags. | |
| faded chartreuse bags contain 4 mirrored blue bags, 5 posh white bags, 2 wavy magenta bags. | |
| clear magenta bags contain 2 muted bronze bags, 5 dim yellow bags, 2 dotted lime bags. | |
| bright silver bags contain 2 bright gold bags, 4 wavy yellow bags. | |
| dull violet bags contain 3 faded beige bags, 1 mirrored orange bag, 1 mirrored aqua bag. | |
| vibrant cyan bags contain 2 clear aqua bags, 2 dark maroon bags, 5 pale tan bags. | |
| light chartreuse bags contain 1 wavy gold bag, 2 posh tomato bags, 2 clear silver bags. | |
| dotted olive bags contain 5 wavy crimson bags, 1 drab tomato bag. | |
| posh aqua bags contain 3 striped brown bags. | |
| posh orange bags contain 2 wavy coral bags. | |
| dull cyan bags contain 1 dark tan bag, 5 dull gray bags, 3 drab turquoise bags, 4 shiny aqua bags. | |
| muted teal bags contain 4 dull blue bags. | |
| bright turquoise bags contain 5 dull bronze bags, 1 plaid lavender bag. | |
| plaid tomato bags contain 2 muted lime bags, 1 light indigo bag, 5 posh tomato bags. | |
| dim salmon bags contain 1 dark indigo bag, 5 plaid brown bags, 3 clear crimson bags, 4 clear silver bags. | |
| posh brown bags contain 3 clear silver bags, 5 faded cyan bags, 4 posh crimson bags. | |
| dark turquoise bags contain 1 drab crimson bag, 5 striped coral bags. | |
| dull crimson bags contain no other bags. | |
| striped teal bags contain 5 plaid lavender bags, 4 faded red bags. | |
| dotted blue bags contain 5 muted beige bags. | |
| vibrant plum bags contain 1 pale lime bag, 1 posh red bag, 1 dull bronze bag, 3 drab silver bags. | |
| wavy coral bags contain 4 mirrored magenta bags, 5 dim yellow bags, 4 bright red bags, 2 posh crimson bags. | |
| dark chartreuse bags contain 5 dotted fuchsia bags, 3 mirrored silver bags, 5 mirrored aqua bags, 4 dim cyan bags. | |
| vibrant teal bags contain 3 vibrant silver bags. | |
| shiny beige bags contain 5 posh teal bags. | |
| dim olive bags contain 3 clear gray bags, 4 wavy gold bags. | |
| drab yellow bags contain 4 light chartreuse bags, 3 striped crimson bags, 2 faded gray bags. | |
| dull chartreuse bags contain 1 light lavender bag. | |
| dotted silver bags contain no other bags. | |
| shiny blue bags contain 5 dull brown bags, 2 dark coral bags, 4 shiny crimson bags. | |
| mirrored black bags contain 5 mirrored magenta bags, 1 striped turquoise bag, 2 plaid cyan bags. | |
| dull black bags contain 4 dim purple bags, 4 dark salmon bags, 2 mirrored gold bags. | |
| mirrored beige bags contain 4 striped fuchsia bags, 4 plaid black bags, 5 dim red bags, 5 light green bags. | |
| dim chartreuse bags contain 4 shiny yellow bags. | |
| shiny teal bags contain 1 vibrant maroon bag. | |
| dim tomato bags contain 5 plaid tomato bags, 5 mirrored violet bags, 2 mirrored orange bags. | |
| vibrant beige bags contain 1 plaid black bag, 3 dotted salmon bags, 2 posh fuchsia bags. | |
| dull aqua bags contain 5 wavy tan bags, 3 bright olive bags. | |
| pale lime bags contain 5 bright turquoise bags, 5 dim yellow bags, 3 shiny orange bags. | |
| bright orange bags contain 4 muted gold bags, 1 clear white bag. | |
| drab salmon bags contain 2 dark fuchsia bags, 2 dull gray bags. | |
| mirrored salmon bags contain 3 posh plum bags, 1 dotted silver bag, 1 clear plum bag, 5 dull black bags. | |
| shiny silver bags contain 4 drab lavender bags, 2 dim violet bags, 5 dark aqua bags, 2 vibrant chartreuse bags. | |
| plaid coral bags contain 4 dim blue bags, 1 vibrant lime bag. | |
| mirrored white bags contain 2 pale gold bags, 3 shiny green bags, 5 striped white bags. | |
| pale gray bags contain 5 mirrored gold bags, 1 wavy silver bag, 5 posh green bags, 1 mirrored red bag. | |
| pale white bags contain 4 shiny turquoise bags, 4 bright plum bags, 5 dotted bronze bags. | |
| muted fuchsia bags contain 5 plaid turquoise bags, 2 dark aqua bags, 4 pale brown bags, 4 striped plum bags. | |
| striped yellow bags contain 5 posh red bags, 1 plaid black bag. | |
| plaid silver bags contain 2 dark indigo bags, 3 clear teal bags, 3 dotted black bags. | |
| plaid black bags contain 3 dull crimson bags. | |
| vibrant lime bags contain 1 dotted fuchsia bag, 4 dull bronze bags, 4 dark aqua bags, 1 dark salmon bag. | |
| dotted white bags contain 5 dim red bags. | |
| light aqua bags contain 5 mirrored aqua bags, 2 striped brown bags, 4 posh crimson bags. | |
| striped brown bags contain 1 dotted silver bag, 5 clear beige bags. | |
| vibrant red bags contain 3 bright olive bags, 3 plaid chartreuse bags, 3 light olive bags, 4 dim violet bags. | |
| dim teal bags contain 3 clear violet bags. | |
| bright lime bags contain 2 dull lavender bags, 4 pale turquoise bags. | |
| striped crimson bags contain 5 bright gray bags, 4 dark green bags, 4 posh plum bags, 5 shiny coral bags. | |
| mirrored tomato bags contain 1 wavy tan bag. | |
| dull blue bags contain 5 bright turquoise bags, 2 striped brown bags. | |
| mirrored yellow bags contain 4 vibrant purple bags, 4 faded bronze bags, 2 dull lavender bags, 3 light plum bags. | |
| plaid gold bags contain 5 striped olive bags, 5 dotted chartreuse bags. | |
| dotted coral bags contain 2 bright teal bags. | |
| wavy crimson bags contain 5 dotted salmon bags, 1 dull crimson bag. | |
| dark aqua bags contain 3 dull crimson bags, 5 light aqua bags, 3 mirrored purple bags, 1 striped brown bag. | |
| vibrant yellow bags contain 1 faded beige bag, 3 dark brown bags, 1 wavy bronze bag. | |
| wavy teal bags contain 5 dotted magenta bags. | |
| drab white bags contain 3 pale blue bags. | |
| muted salmon bags contain 4 posh salmon bags, 1 bright chartreuse bag. | |
| light purple bags contain 5 dark maroon bags. | |
| faded black bags contain 4 dull gold bags. | |
| muted turquoise bags contain 1 wavy silver bag, 4 clear purple bags. | |
| plaid chartreuse bags contain 1 posh crimson bag, 5 striped brown bags. | |
| vibrant tan bags contain 2 dull blue bags, 1 posh black bag, 1 faded red bag, 5 plaid magenta bags. | |
| shiny orange bags contain 5 vibrant chartreuse bags, 3 shiny gold bags. | |
| shiny lavender bags contain 2 posh teal bags. | |
| pale black bags contain 5 dark brown bags. | |
| shiny cyan bags contain 5 wavy tomato bags, 3 bright bronze bags, 3 faded crimson bags. | |
| faded olive bags contain 3 clear aqua bags. | |
| dark violet bags contain 4 faded red bags. | |
| light orange bags contain 1 posh aqua bag, 2 light crimson bags, 2 dark maroon bags. | |
| drab silver bags contain 1 pale blue bag. | |
| plaid bronze bags contain 5 mirrored orange bags, 4 plaid cyan bags, 1 dotted black bag. | |
| plaid violet bags contain 1 plaid fuchsia bag, 5 clear teal bags. | |
| clear turquoise bags contain 4 dim yellow bags, 5 plaid teal bags, 3 plaid red bags, 1 dotted salmon bag. | |
| plaid lavender bags contain 3 clear silver bags, 4 dull bronze bags. | |
| mirrored green bags contain 3 striped lavender bags. | |
| faded white bags contain 2 light chartreuse bags. | |
| bright crimson bags contain 2 mirrored purple bags. | |
| dotted beige bags contain 1 pale salmon bag, 5 dotted teal bags, 5 light lavender bags, 3 wavy violet bags. | |
| pale green bags contain 2 dark gold bags, 4 clear gray bags. | |
| dull indigo bags contain 2 striped brown bags, 3 plaid plum bags. | |
| shiny yellow bags contain 3 striped silver bags, 2 mirrored plum bags, 1 muted red bag, 5 clear gold bags. | |
| bright maroon bags contain 2 muted crimson bags, 2 plaid chartreuse bags, 1 dim violet bag, 1 plaid blue bag. | |
| vibrant orange bags contain 5 posh plum bags, 4 shiny gold bags. | |
| faded fuchsia bags contain 2 dotted aqua bags. | |
| bright indigo bags contain 3 shiny coral bags, 1 muted salmon bag, 2 clear white bags, 1 vibrant maroon bag. | |
| shiny indigo bags contain 4 dark red bags, 2 pale lime bags. | |
| light cyan bags contain 2 clear black bags, 2 mirrored aqua bags, 1 faded beige bag, 2 faded salmon bags. | |
| faded gold bags contain 5 muted lime bags, 3 plaid fuchsia bags. | |
| muted coral bags contain 2 faded indigo bags, 1 dim beige bag, 5 dotted orange bags, 4 posh black bags. | |
| drab gray bags contain 5 clear magenta bags, 5 bright tomato bags, 1 dull gold bag. | |
| vibrant salmon bags contain 4 bright gold bags. | |
| dark red bags contain 5 posh black bags, 4 faded teal bags. | |
| wavy blue bags contain 3 dim green bags, 4 dull green bags, 2 posh aqua bags. | |
| mirrored turquoise bags contain 5 dull lime bags, 4 dark gray bags, 1 striped cyan bag, 4 muted gold bags. | |
| wavy chartreuse bags contain 1 pale brown bag, 4 shiny chartreuse bags, 4 wavy fuchsia bags. | |
| dim red bags contain 1 bright blue bag, 3 clear purple bags, 2 wavy crimson bags, 5 shiny black bags. | |
| dull gold bags contain 4 wavy blue bags. | |
| faded blue bags contain 1 plaid turquoise bag, 2 vibrant indigo bags. | |
| shiny aqua bags contain 4 plaid cyan bags, 4 posh crimson bags. | |
| bright salmon bags contain 1 posh red bag, 1 shiny orange bag, 1 vibrant crimson bag. | |
| pale yellow bags contain 4 plaid cyan bags. | |
| plaid magenta bags contain 3 plaid brown bags, 5 pale yellow bags, 5 drab fuchsia bags, 1 clear black bag. | |
| vibrant maroon bags contain 4 dull tomato bags, 1 dotted indigo bag, 2 plaid teal bags, 2 shiny gold bags. | |
| drab orange bags contain 3 wavy coral bags. | |
| pale aqua bags contain 5 wavy lime bags, 5 drab turquoise bags. | |
| shiny crimson bags contain 3 posh black bags, 5 drab fuchsia bags, 1 plaid fuchsia bag, 4 posh plum bags. | |
| pale purple bags contain 2 clear green bags, 2 striped crimson bags, 4 drab indigo bags. | |
| faded magenta bags contain 5 light red bags. | |
| shiny tan bags contain 5 plaid silver bags, 3 light lavender bags, 4 wavy purple bags. | |
| vibrant indigo bags contain 5 plaid beige bags. | |
| wavy turquoise bags contain 4 dark teal bags, 2 dark cyan bags, 4 mirrored olive bags, 5 bright red bags. | |
| striped blue bags contain 1 vibrant lime bag, 3 vibrant indigo bags, 1 pale maroon bag, 2 dark white bags. | |
| faded tomato bags contain 3 plaid tan bags, 4 pale tan bags, 5 wavy violet bags, 3 pale lime bags. | |
| bright green bags contain 1 bright purple bag, 5 posh magenta bags. | |
| dark beige bags contain 4 light green bags, 4 light magenta bags, 5 dotted lime bags, 4 plaid salmon bags. | |
| plaid green bags contain 2 pale salmon bags. | |
| bright red bags contain 2 dotted silver bags. | |
| drab lime bags contain 3 dotted bronze bags. | |
| muted indigo bags contain 4 posh gray bags, 2 dark lavender bags, 2 plaid chartreuse bags, 2 pale red bags. | |
| muted tan bags contain 2 muted brown bags, 3 dull maroon bags. | |
| plaid turquoise bags contain 3 clear teal bags, 2 dull tomato bags, 5 dotted purple bags, 1 posh salmon bag. | |
| drab aqua bags contain 3 bright lime bags, 5 posh red bags. | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var sInsts = Input.Split("\n", StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries); | |
| var originalInstructions = sInsts.Select(i => Instruction.Parse(i)).ToList(); | |
| PartOne(originalInstructions.ClearExecutionCounts().ToList()); | |
| PartTwo(originalInstructions.ClearExecutionCounts().ToList()); | |
| } | |
| void PartOne(IReadOnlyList<Instruction> instructions) | |
| { | |
| // Accumulator state before the next instruction is executed a second time | |
| InitState(); | |
| while (instructions[ProgramCounter].ExecutionCount < 1) | |
| { | |
| instructions[ProgramCounter].Execute(); | |
| } | |
| Accumulator.Dump(); | |
| } | |
| void PartTwo(IReadOnlyList<Instruction> originalInsts) | |
| { | |
| // Accumulator state after the program terminates | |
| var indexInsts = originalInsts.GetIndexInst().Where(pair => pair.inst.OpCode == Operation.Jmp || pair.inst.OpCode == Operation.Nop); | |
| int exitPoint = originalInsts.Count; | |
| //indexInsts.Dump(); | |
| foreach (var indexInst in indexInsts) | |
| { | |
| InitState(); | |
| // Fresh copy of instructions | |
| var workingInsts = originalInsts.ClearExecutionCounts().ToList(); | |
| workingInsts[indexInst.index] = | |
| indexInst.inst with | |
| { | |
| OpCode = indexInst.inst.OpCode switch | |
| { | |
| Operation.Jmp => Operation.Nop, | |
| Operation.Nop => Operation.Jmp, | |
| _ => indexInst.inst.OpCode | |
| } | |
| }; | |
| while (true) | |
| { | |
| var nextInst = workingInsts[ProgramCounter]; | |
| //nextInst.Dump(); | |
| if (nextInst.ExecutionCount == 1) | |
| { | |
| "Infinite loop".Dump(); | |
| break; | |
| } | |
| nextInst.Execute(); | |
| if (ProgramCounter == exitPoint) | |
| { | |
| Accumulator.Dump(); | |
| return; | |
| } | |
| else if (ProgramCounter > exitPoint) | |
| { | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| static class InstructionExt | |
| { | |
| public static IEnumerable<(int index, Instruction inst)> GetIndexInst(this IReadOnlyList<Instruction> insts) | |
| { | |
| for (int i = 0; i < insts.Count; i++) | |
| { | |
| yield return new(i, insts[i]); | |
| } | |
| } | |
| public static IEnumerable<Instruction> ClearExecutionCounts(this IEnumerable<Instruction> insts) => | |
| insts.Select(i => i with { ExecutionCount = 0 }); | |
| } | |
| void InitState() | |
| { | |
| Accumulator = 0; | |
| ProgramCounter = 0; | |
| } | |
| public static int Accumulator { get; set; } = 0; | |
| public static int ProgramCounter { get; set; } = 0; | |
| public enum Operation { Acc, Jmp, Nop } | |
| public record Instruction(Operation OpCode, int Arg) | |
| { | |
| public int ExecutionCount { get; set; } | |
| private void DoAcc() | |
| { | |
| Accumulator += Arg; | |
| ProgramCounter++; | |
| } | |
| private void DoJmp() => ProgramCounter += Arg; | |
| private void DoNop() => ProgramCounter++; | |
| public void Execute() | |
| { | |
| //$"{ProgramCounter} : {OpCode} {Arg} {ExecutionCount}".Dump(); | |
| switch (OpCode) | |
| { | |
| case Operation.Acc: DoAcc(); break; | |
| case Operation.Jmp: DoJmp(); break; | |
| case Operation.Nop: DoNop(); break; | |
| default: throw new Exception($"Unknown opcode {OpCode}"); | |
| }; | |
| ExecutionCount++; | |
| } | |
| public static Instruction Parse(string raw) | |
| { | |
| var sInst = raw.Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); | |
| string sOp = sInst[0].ToLowerInvariant(); | |
| Operation op = sOp switch | |
| { | |
| "jmp" => Operation.Jmp, | |
| "acc" => Operation.Acc, | |
| "nop" => Operation.Nop, | |
| _ => throw new Exception($"Unknown opcode {sOp}") | |
| }; | |
| int arg = int.Parse(sInst[1]); | |
| return new (op, arg); | |
| } | |
| } | |
| static readonly string TestInput = @" | |
| nop +0 | |
| acc +1 | |
| jmp +4 | |
| acc +3 | |
| jmp -3 | |
| acc -99 | |
| acc +1 | |
| jmp -4 | |
| acc +6 | |
| "; | |
| static readonly string Input = @" | |
| jmp +149 | |
| acc -11 | |
| nop +95 | |
| acc -6 | |
| jmp +196 | |
| acc +2 | |
| acc -6 | |
| acc +38 | |
| acc +18 | |
| jmp +246 | |
| acc +43 | |
| acc +37 | |
| acc -1 | |
| jmp +390 | |
| acc +32 | |
| acc -15 | |
| jmp +487 | |
| jmp +382 | |
| jmp +71 | |
| jmp +331 | |
| acc -3 | |
| acc -12 | |
| acc +4 | |
| jmp +417 | |
| acc +30 | |
| acc +20 | |
| jmp +410 | |
| acc +22 | |
| acc +25 | |
| acc +19 | |
| acc +5 | |
| jmp +405 | |
| acc +15 | |
| acc +33 | |
| acc +7 | |
| acc -18 | |
| jmp +463 | |
| acc +25 | |
| acc +8 | |
| acc +1 | |
| jmp +64 | |
| jmp +1 | |
| jmp +562 | |
| jmp +4 | |
| acc +21 | |
| acc +12 | |
| jmp +467 | |
| nop +197 | |
| acc +32 | |
| jmp +7 | |
| acc +2 | |
| jmp +352 | |
| acc +15 | |
| jmp +289 | |
| acc +39 | |
| jmp +448 | |
| jmp +227 | |
| acc +17 | |
| acc +4 | |
| jmp +326 | |
| acc -1 | |
| nop +167 | |
| acc +30 | |
| nop +471 | |
| jmp +101 | |
| acc +45 | |
| nop +276 | |
| acc +12 | |
| jmp +215 | |
| nop +80 | |
| acc +23 | |
| acc +31 | |
| jmp +104 | |
| acc +39 | |
| acc +15 | |
| jmp +40 | |
| nop +433 | |
| acc +21 | |
| acc +22 | |
| acc +37 | |
| jmp +421 | |
| acc +14 | |
| jmp -30 | |
| acc +42 | |
| acc +38 | |
| jmp +203 | |
| acc -8 | |
| acc +27 | |
| jmp +102 | |
| acc -5 | |
| acc +0 | |
| acc +18 | |
| acc +26 | |
| jmp +212 | |
| acc +25 | |
| acc +18 | |
| jmp +209 | |
| acc +18 | |
| acc +44 | |
| acc +47 | |
| nop -40 | |
| jmp +372 | |
| acc +29 | |
| jmp +384 | |
| acc +39 | |
| acc -11 | |
| acc +43 | |
| jmp +406 | |
| acc +2 | |
| nop +439 | |
| jmp +343 | |
| acc +29 | |
| acc +18 | |
| jmp +457 | |
| jmp -31 | |
| jmp +146 | |
| acc +12 | |
| acc +26 | |
| nop +98 | |
| jmp +125 | |
| acc +6 | |
| acc +35 | |
| acc +48 | |
| acc +44 | |
| jmp +497 | |
| acc +17 | |
| acc -8 | |
| jmp +223 | |
| acc +47 | |
| jmp +405 | |
| jmp +212 | |
| jmp +317 | |
| acc -13 | |
| acc -6 | |
| jmp +94 | |
| acc +47 | |
| acc +50 | |
| acc -16 | |
| acc +38 | |
| jmp +290 | |
| jmp +383 | |
| nop -44 | |
| acc +38 | |
| nop +418 | |
| acc +42 | |
| jmp +233 | |
| nop -94 | |
| acc +46 | |
| jmp +413 | |
| acc +10 | |
| acc -6 | |
| jmp +410 | |
| acc +30 | |
| jmp -93 | |
| acc -13 | |
| jmp +6 | |
| acc -16 | |
| acc +18 | |
| nop +403 | |
| acc +0 | |
| jmp +68 | |
| acc +45 | |
| jmp +302 | |
| acc +5 | |
| jmp +26 | |
| acc -5 | |
| acc +49 | |
| jmp +412 | |
| acc +3 | |
| acc +14 | |
| jmp +278 | |
| acc +6 | |
| acc +4 | |
| jmp -58 | |
| acc +14 | |
| jmp -60 | |
| acc -12 | |
| acc +23 | |
| jmp +225 | |
| acc +9 | |
| acc +17 | |
| acc -10 | |
| acc -13 | |
| jmp +216 | |
| acc -8 | |
| nop +363 | |
| jmp +84 | |
| nop +300 | |
| acc -15 | |
| jmp +415 | |
| acc +17 | |
| acc -11 | |
| nop +96 | |
| jmp +377 | |
| nop +259 | |
| acc +4 | |
| jmp +327 | |
| acc +0 | |
| jmp +149 | |
| jmp +12 | |
| acc +23 | |
| acc +43 | |
| acc +2 | |
| jmp +1 | |
| jmp +400 | |
| acc +24 | |
| jmp +114 | |
| acc +3 | |
| acc -13 | |
| jmp +149 | |
| jmp +100 | |
| jmp +1 | |
| jmp +157 | |
| acc +23 | |
| acc -15 | |
| jmp -139 | |
| nop -85 | |
| jmp +201 | |
| acc -2 | |
| acc +39 | |
| acc +30 | |
| nop -93 | |
| jmp -11 | |
| acc +46 | |
| jmp +285 | |
| jmp +1 | |
| acc +41 | |
| jmp +115 | |
| acc +48 | |
| acc -12 | |
| acc -17 | |
| jmp -15 | |
| nop +82 | |
| acc +25 | |
| jmp -151 | |
| acc +20 | |
| acc -14 | |
| acc +9 | |
| acc -9 | |
| jmp +284 | |
| acc +27 | |
| acc +38 | |
| acc +50 | |
| jmp +145 | |
| nop +279 | |
| jmp -55 | |
| nop +245 | |
| jmp +254 | |
| acc +4 | |
| jmp +368 | |
| nop -119 | |
| acc -11 | |
| acc +16 | |
| acc +19 | |
| jmp -54 | |
| nop -186 | |
| nop -187 | |
| acc +9 | |
| acc +44 | |
| jmp -222 | |
| jmp +253 | |
| nop -234 | |
| acc +33 | |
| acc +35 | |
| acc -17 | |
| jmp +11 | |
| acc +2 | |
| acc +41 | |
| acc +47 | |
| jmp +310 | |
| acc +0 | |
| acc -8 | |
| acc +1 | |
| jmp +55 | |
| acc -1 | |
| jmp -257 | |
| acc +7 | |
| acc +44 | |
| nop +253 | |
| acc +41 | |
| jmp +302 | |
| acc +16 | |
| jmp -185 | |
| jmp +140 | |
| jmp +1 | |
| nop +3 | |
| acc +35 | |
| jmp -267 | |
| acc +6 | |
| jmp -269 | |
| jmp +211 | |
| acc +30 | |
| acc +14 | |
| acc +16 | |
| acc +41 | |
| jmp -47 | |
| jmp -192 | |
| nop -21 | |
| acc -1 | |
| jmp +192 | |
| acc -6 | |
| acc +15 | |
| acc +3 | |
| nop -247 | |
| jmp -88 | |
| jmp +164 | |
| acc +47 | |
| nop +43 | |
| acc +40 | |
| jmp +151 | |
| jmp +85 | |
| jmp +1 | |
| acc +40 | |
| jmp -257 | |
| acc +13 | |
| acc +13 | |
| jmp -256 | |
| acc +25 | |
| acc +39 | |
| jmp +260 | |
| acc +13 | |
| acc -18 | |
| acc -19 | |
| acc -14 | |
| jmp -10 | |
| acc -16 | |
| acc +9 | |
| jmp -199 | |
| nop +185 | |
| acc +38 | |
| jmp -261 | |
| nop +200 | |
| acc -18 | |
| nop +115 | |
| acc +36 | |
| jmp -259 | |
| acc +47 | |
| acc -2 | |
| acc +9 | |
| jmp -139 | |
| nop -117 | |
| jmp -13 | |
| jmp +1 | |
| jmp +247 | |
| acc +19 | |
| acc +49 | |
| jmp +177 | |
| acc -1 | |
| jmp +249 | |
| jmp -218 | |
| acc +12 | |
| acc +33 | |
| jmp +108 | |
| jmp -48 | |
| nop -205 | |
| acc +32 | |
| jmp -159 | |
| jmp -129 | |
| acc +32 | |
| jmp +1 | |
| jmp +249 | |
| nop +75 | |
| acc +17 | |
| acc -16 | |
| jmp +253 | |
| acc -9 | |
| jmp -12 | |
| acc +15 | |
| jmp -14 | |
| acc +13 | |
| acc -8 | |
| nop -13 | |
| jmp +27 | |
| nop -336 | |
| acc +33 | |
| acc +10 | |
| acc -1 | |
| jmp -350 | |
| nop -134 | |
| acc -11 | |
| jmp +5 | |
| acc +10 | |
| acc +13 | |
| acc +13 | |
| jmp -249 | |
| acc +8 | |
| jmp -215 | |
| jmp +49 | |
| acc +35 | |
| acc +28 | |
| jmp -54 | |
| acc +14 | |
| nop -264 | |
| jmp +1 | |
| jmp -166 | |
| jmp -291 | |
| acc +9 | |
| acc +43 | |
| jmp -301 | |
| nop +149 | |
| acc -9 | |
| jmp -81 | |
| jmp -287 | |
| acc +9 | |
| acc +35 | |
| acc -12 | |
| jmp -295 | |
| acc +46 | |
| jmp -394 | |
| acc +29 | |
| acc +19 | |
| acc +9 | |
| jmp -58 | |
| acc +7 | |
| acc +32 | |
| nop -261 | |
| acc +44 | |
| jmp -365 | |
| jmp +1 | |
| jmp +120 | |
| acc +37 | |
| nop -177 | |
| jmp +101 | |
| acc +42 | |
| acc +13 | |
| acc +36 | |
| jmp -343 | |
| acc +45 | |
| jmp -408 | |
| acc +23 | |
| acc +0 | |
| jmp -66 | |
| jmp +1 | |
| acc +34 | |
| acc +19 | |
| jmp +104 | |
| jmp +1 | |
| acc +36 | |
| jmp -141 | |
| jmp -44 | |
| acc +9 | |
| acc +30 | |
| acc +18 | |
| acc +0 | |
| jmp -303 | |
| jmp +1 | |
| acc +12 | |
| jmp +66 | |
| acc +0 | |
| jmp +82 | |
| acc +43 | |
| acc +18 | |
| jmp +49 | |
| acc -16 | |
| acc -3 | |
| acc +0 | |
| jmp -249 | |
| acc -2 | |
| nop +81 | |
| jmp +40 | |
| jmp +94 | |
| acc -16 | |
| acc +1 | |
| jmp -445 | |
| jmp +1 | |
| acc +22 | |
| jmp -130 | |
| acc +44 | |
| jmp -73 | |
| acc +3 | |
| acc +5 | |
| jmp -121 | |
| jmp -352 | |
| jmp -163 | |
| acc +15 | |
| acc +47 | |
| nop +141 | |
| jmp +140 | |
| acc -18 | |
| nop -289 | |
| acc +16 | |
| jmp -476 | |
| acc -19 | |
| nop +134 | |
| acc -10 | |
| acc +37 | |
| jmp -13 | |
| jmp -359 | |
| acc +32 | |
| acc +14 | |
| jmp -306 | |
| acc +25 | |
| acc +30 | |
| jmp -441 | |
| acc +44 | |
| acc +14 | |
| acc +12 | |
| acc +19 | |
| jmp -387 | |
| jmp -12 | |
| jmp -180 | |
| jmp -113 | |
| jmp -29 | |
| acc +34 | |
| acc -13 | |
| acc -12 | |
| nop +73 | |
| jmp -263 | |
| jmp -373 | |
| jmp -360 | |
| acc +38 | |
| nop -123 | |
| jmp -176 | |
| nop -155 | |
| acc -11 | |
| acc +32 | |
| nop +54 | |
| jmp -461 | |
| acc +31 | |
| acc +10 | |
| acc -7 | |
| acc -19 | |
| jmp -212 | |
| acc +41 | |
| acc +4 | |
| nop -2 | |
| jmp -483 | |
| acc +16 | |
| acc +42 | |
| acc -15 | |
| jmp -286 | |
| jmp -122 | |
| acc -4 | |
| jmp -436 | |
| acc +27 | |
| jmp -508 | |
| acc +38 | |
| nop -309 | |
| jmp +10 | |
| acc +31 | |
| acc +18 | |
| acc +5 | |
| jmp -119 | |
| acc +8 | |
| acc -7 | |
| acc -16 | |
| acc +18 | |
| jmp -416 | |
| acc -15 | |
| acc +1 | |
| acc +30 | |
| acc +8 | |
| jmp -476 | |
| jmp -298 | |
| acc +29 | |
| acc +24 | |
| acc -9 | |
| acc +35 | |
| jmp -438 | |
| nop -5 | |
| jmp -100 | |
| acc +5 | |
| acc +3 | |
| acc +5 | |
| acc -4 | |
| jmp +14 | |
| acc +43 | |
| acc +3 | |
| acc +40 | |
| jmp -517 | |
| acc +10 | |
| acc +35 | |
| acc +38 | |
| jmp -120 | |
| acc +1 | |
| acc -18 | |
| acc +0 | |
| acc +42 | |
| jmp -69 | |
| jmp -101 | |
| acc +1 | |
| jmp -271 | |
| acc +37 | |
| acc +17 | |
| jmp +1 | |
| jmp -401 | |
| acc +1 | |
| acc +3 | |
| acc -8 | |
| jmp -392 | |
| nop -99 | |
| acc +2 | |
| jmp -301 | |
| acc +10 | |
| acc +32 | |
| acc +3 | |
| jmp -286 | |
| jmp +1 | |
| jmp -444 | |
| nop -364 | |
| acc +46 | |
| acc +30 | |
| acc -2 | |
| jmp -13 | |
| nop -65 | |
| acc +22 | |
| jmp -292 | |
| acc -13 | |
| jmp -480 | |
| acc +4 | |
| acc -8 | |
| nop -500 | |
| jmp -113 | |
| acc -16 | |
| acc +40 | |
| acc -18 | |
| jmp -125 | |
| jmp -482 | |
| acc +28 | |
| acc -5 | |
| jmp -471 | |
| acc +33 | |
| acc +49 | |
| acc +21 | |
| acc +9 | |
| jmp +1 | |
| "; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| void Main() | |
| { | |
| var testPuzzle = new PuzzleInput(TestInput, 5); | |
| var realPuzzle = new PuzzleInput(Input, 25); | |
| DayOne(testPuzzle); | |
| DayTwo(testPuzzle, 127); | |
| string.Empty.Dump(); | |
| DayOne(realPuzzle); | |
| DayTwo(realPuzzle, 21806024); // Test 127, Real 21806024 | |
| } | |
| void DayTwo(PuzzleInput input, long target) | |
| { | |
| var data = input.GetData(); | |
| bool foundMatch = false; | |
| for (int a = 0; a < data.Count && !foundMatch; a++) | |
| { | |
| for (int b = a + 1; b < data.Count && !foundMatch; b++) | |
| { | |
| var set = data.Skip(a).Take(b - a + 1);//.Dump(); | |
| long min = set.Min(); | |
| long max = set.Max(); | |
| long weakness = min + max; | |
| long sum = set.Sum(); | |
| string result = $"[{a}]-[{b}] c:{set.Count()} => {sum} // {min} + {max} = {weakness}"; | |
| foundMatch = sum == target; | |
| if (foundMatch) | |
| { | |
| result.Dump(); | |
| } | |
| } | |
| } | |
| if (!foundMatch) | |
| { | |
| $"No weakness found".Dump(); | |
| } | |
| } | |
| void DayOne(PuzzleInput input) | |
| { | |
| var data = input.GetData(); | |
| int preLength = input.PreambleLength; | |
| var preamble = data.Take(preLength); | |
| for (int baseIndex = 0; baseIndex < data.Count; baseIndex++) | |
| { | |
| bool foundMatch = false; | |
| int targetIndex = baseIndex + preLength; | |
| for (int a = baseIndex; a < targetIndex && !foundMatch; a++) | |
| { | |
| for (int b = a + 1; b < targetIndex && !foundMatch; b++) | |
| { | |
| long da = data[a]; | |
| long db = data[b]; | |
| long sum = da + db; | |
| long target = data[targetIndex]; | |
| // $"[{a}]:{da} + [{b}]:{db} = {sum} => [{targetIndex}]:{target}".Dump(); | |
| foundMatch = sum == target; | |
| } | |
| } | |
| if (!foundMatch) | |
| { | |
| $"No match for [{targetIndex}]:{data[targetIndex]}".Dump(); | |
| return; | |
| } | |
| } | |
| } | |
| record PuzzleInput(string RawInput, int PreambleLength) | |
| { | |
| public IReadOnlyList<long> GetData() => RawInput.Split("\n", StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Select(ti => long.Parse(ti)).ToList(); | |
| } | |
| static readonly string TestInput = @" | |
| 35 | |
| 20 | |
| 15 | |
| 25 | |
| 47 | |
| 40 | |
| 62 | |
| 55 | |
| 65 | |
| 95 | |
| 102 | |
| 117 | |
| 150 | |
| 182 | |
| 127 | |
| 219 | |
| 299 | |
| 277 | |
| 309 | |
| 576 | |
| "; | |
| static readonly string Input = @" | |
| 11 | |
| 1 | |
| 33 | |
| 5 | |
| 20 | |
| 31 | |
| 49 | |
| 26 | |
| 3 | |
| 35 | |
| 25 | |
| 39 | |
| 29 | |
| 28 | |
| 23 | |
| 44 | |
| 19 | |
| 4 | |
| 21 | |
| 2 | |
| 7 | |
| 41 | |
| 10 | |
| 32 | |
| 14 | |
| 68 | |
| 6 | |
| 11 | |
| 8 | |
| 18 | |
| 27 | |
| 20 | |
| 71 | |
| 13 | |
| 9 | |
| 16 | |
| 73 | |
| 52 | |
| 34 | |
| 25 | |
| 79 | |
| 15 | |
| 12 | |
| 17 | |
| 113 | |
| 94 | |
| 19 | |
| 24 | |
| 21 | |
| 22 | |
| 114 | |
| 31 | |
| 23 | |
| 26 | |
| 28 | |
| 29 | |
| 32 | |
| 47 | |
| 27 | |
| 39 | |
| 33 | |
| 80 | |
| 35 | |
| 38 | |
| 34 | |
| 36 | |
| 127 | |
| 40 | |
| 41 | |
| 227 | |
| 42 | |
| 43 | |
| 45 | |
| 44 | |
| 48 | |
| 54 | |
| 70 | |
| 71 | |
| 65 | |
| 55 | |
| 110 | |
| 60 | |
| 72 | |
| 74 | |
| 114 | |
| 77 | |
| 69 | |
| 90 | |
| 75 | |
| 187 | |
| 78 | |
| 100 | |
| 81 | |
| 83 | |
| 85 | |
| 86 | |
| 118 | |
| 93 | |
| 92 | |
| 102 | |
| 115 | |
| 120 | |
| 127 | |
| 175 | |
| 129 | |
| 160 | |
| 132 | |
| 144 | |
| 169 | |
| 147 | |
| 252 | |
| 150 | |
| 153 | |
| 156 | |
| 179 | |
| 178 | |
| 164 | |
| 166 | |
| 168 | |
| 185 | |
| 204 | |
| 208 | |
| 222 | |
| 194 | |
| 284 | |
| 235 | |
| 276 | |
| 256 | |
| 261 | |
| 273 | |
| 330 | |
| 297 | |
| 291 | |
| 447 | |
| 300 | |
| 303 | |
| 306 | |
| 378 | |
| 320 | |
| 332 | |
| 334 | |
| 374 | |
| 351 | |
| 485 | |
| 379 | |
| 398 | |
| 455 | |
| 478 | |
| 634 | |
| 491 | |
| 647 | |
| 517 | |
| 553 | |
| 896 | |
| 977 | |
| 750 | |
| 588 | |
| 591 | |
| 606 | |
| 603 | |
| 623 | |
| 626 | |
| 652 | |
| 654 | |
| 685 | |
| 829 | |
| 725 | |
| 1132 | |
| 777 | |
| 1084 | |
| 946 | |
| 969 | |
| 995 | |
| 1008 | |
| 1120 | |
| 1123 | |
| 1070 | |
| 1707 | |
| 1722 | |
| 1431 | |
| 1273 | |
| 1179 | |
| 1217 | |
| 1876 | |
| 1857 | |
| 1249 | |
| 1337 | |
| 1306 | |
| 1339 | |
| 1502 | |
| 1554 | |
| 1671 | |
| 1785 | |
| 2625 | |
| 1964 | |
| 2319 | |
| 2039 | |
| 2901 | |
| 2078 | |
| 2190 | |
| 3215 | |
| 2886 | |
| 2704 | |
| 2396 | |
| 4375 | |
| 3149 | |
| 2428 | |
| 2466 | |
| 2555 | |
| 2588 | |
| 2645 | |
| 2643 | |
| 2808 | |
| 2841 | |
| 3456 | |
| 3225 | |
| 4358 | |
| 3749 | |
| 4951 | |
| 4229 | |
| 4435 | |
| 4117 | |
| 4778 | |
| 5363 | |
| 5681 | |
| 4824 | |
| 5100 | |
| 7333 | |
| 5274 | |
| 12433 | |
| 5016 | |
| 5288 | |
| 5021 | |
| 6304 | |
| 7664 | |
| 5451 | |
| 5484 | |
| 7759 | |
| 9386 | |
| 6681 | |
| 9138 | |
| 7978 | |
| 7866 | |
| 8552 | |
| 8664 | |
| 10500 | |
| 8895 | |
| 9602 | |
| 9840 | |
| 14426 | |
| 9845 | |
| 10037 | |
| 19175 | |
| 10290 | |
| 14346 | |
| 11697 | |
| 10309 | |
| 10472 | |
| 10935 | |
| 12165 | |
| 12132 | |
| 14036 | |
| 19447 | |
| 14547 | |
| 17818 | |
| 15844 | |
| 16418 | |
| 28111 | |
| 22202 | |
| 27420 | |
| 18497 | |
| 18735 | |
| 19442 | |
| 20154 | |
| 26134 | |
| 19882 | |
| 20327 | |
| 24837 | |
| 20762 | |
| 24655 | |
| 20781 | |
| 21244 | |
| 27353 | |
| 45850 | |
| 24297 | |
| 44991 | |
| 28583 | |
| 32262 | |
| 34429 | |
| 34236 | |
| 46016 | |
| 35153 | |
| 38617 | |
| 37232 | |
| 39741 | |
| 37939 | |
| 38177 | |
| 39596 | |
| 40036 | |
| 59183 | |
| 66612 | |
| 41089 | |
| 45078 | |
| 41543 | |
| 49827 | |
| 78278 | |
| 63736 | |
| 68665 | |
| 78112 | |
| 75849 | |
| 73574 | |
| 79482 | |
| 66498 | |
| 108406 | |
| 69389 | |
| 119821 | |
| 72385 | |
| 78321 | |
| 75171 | |
| 81579 | |
| 77535 | |
| 98779 | |
| 79632 | |
| 85114 | |
| 82632 | |
| 122613 | |
| 116260 | |
| 86621 | |
| 133125 | |
| 147501 | |
| 156390 | |
| 130234 | |
| 177795 | |
| 135887 | |
| 138883 | |
| 151109 | |
| 144560 | |
| 141669 | |
| 159006 | |
| 141774 | |
| 147556 | |
| 157167 | |
| 200934 | |
| 152706 | |
| 183893 | |
| 209866 | |
| 167746 | |
| 212866 | |
| 219746 | |
| 228395 | |
| 268966 | |
| 202881 | |
| 481832 | |
| 410635 | |
| 283443 | |
| 266121 | |
| 269117 | |
| 274770 | |
| 280447 | |
| 354535 | |
| 286229 | |
| 344655 | |
| 289225 | |
| 535238 | |
| 637978 | |
| 300262 | |
| 1048613 | |
| 320452 | |
| 907095 | |
| 351639 | |
| 370627 | |
| 436712 | |
| 415747 | |
| 644917 | |
| 431276 | |
| 469002 | |
| 492106 | |
| 540891 | |
| 543887 | |
| 549564 | |
| 751728 | |
| 786374 | |
| 736974 | |
| 846641 | |
| 836761 | |
| 575454 | |
| 589487 | |
| 609677 | |
| 1015544 | |
| 875716 | |
| 620714 | |
| 946081 | |
| 672091 | |
| 1507650 | |
| 722266 | |
| 801903 | |
| 847023 | |
| 1566795 | |
| 900278 | |
| 1292805 | |
| 961108 | |
| 1032997 | |
| 1090455 | |
| 1093451 | |
| 1125018 | |
| 1583997 | |
| 1164941 | |
| 1210201 | |
| 1185131 | |
| 1196168 | |
| 1199164 | |
| 2085917 | |
| 1774618 | |
| 1342980 | |
| 1714165 | |
| 1868259 | |
| 1705088 | |
| 2540350 | |
| 2025296 | |
| 1524169 | |
| 1834900 | |
| 2783161 | |
| 1861386 | |
| 1933275 | |
| 2433435 | |
| 1994105 | |
| 2928351 | |
| 2183906 | |
| 2350072 | |
| 2324182 | |
| 4307330 | |
| 2553181 | |
| 4639098 | |
| 3575551 | |
| 6332626 | |
| 3392428 | |
| 3048068 | |
| 2867149 | |
| 4716436 | |
| 3229257 | |
| 3359069 | |
| 3549465 | |
| 3385555 | |
| 5733371 | |
| 3457444 | |
| 3696286 | |
| 3794661 | |
| 3855491 | |
| 5579329 | |
| 6633203 | |
| 4178011 | |
| 4674254 | |
| 5398140 | |
| 6778722 | |
| 6961106 | |
| 5420330 | |
| 5601249 | |
| 5915217 | |
| 6096406 | |
| 6252704 | |
| 8782366 | |
| 6226218 | |
| 6563435 | |
| 6588326 | |
| 6614812 | |
| 7081841 | |
| 6842999 | |
| 7972672 | |
| 7635455 | |
| 7153730 | |
| 13411925 | |
| 7650152 | |
| 8033502 | |
| 8852265 | |
| 11262580 | |
| 9576151 | |
| 10072394 | |
| 13932452 | |
| 11021579 | |
| 11335547 | |
| 11516466 | |
| 11697655 | |
| 12011623 | |
| 13696653 | |
| 19803945 | |
| 12789653 | |
| 12841030 | |
| 13151761 | |
| 13431325 | |
| 17950359 | |
| 13924840 | |
| 13996729 | |
| 15126402 | |
| 19166618 | |
| 31501600 | |
| 17226303 | |
| 15683654 | |
| 19731157 | |
| 21588860 | |
| 43513223 | |
| 23997234 | |
| 21093973 | |
| 22719234 | |
| 28247882 | |
| 23033202 | |
| 25513195 | |
| 24487308 | |
| 30922956 | |
| 25630683 | |
| 25941414 | |
| 35513700 | |
| 21806024 | |
| 37272514 | |
| 27356165 | |
| 32909957 | |
| 75014823 | |
| 29123131 | |
| 45091207 | |
| 34850272 | |
| 41713611 | |
| 35414811 | |
| 76014163 | |
| 40825130 | |
| 42682833 | |
| 42899997 | |
| 43813207 | |
| 44525258 | |
| 52156333 | |
| 44839226 | |
| 46293332 | |
| 60928006 | |
| 66766544 | |
| 47436707 | |
| 47747438 | |
| 89364484 | |
| 49162189 | |
| 69553462 | |
| 104039058 | |
| 60266122 | |
| 73648389 | |
| 70836742 | |
| 63973403 | |
| 70265083 | |
| 127694550 | |
| 112422455 | |
| 76239941 | |
| 95455521 | |
| 83507963 | |
| 87208091 | |
| 88652433 | |
| 88338465 | |
| 105767232 | |
| 91132558 | |
| 92275933 | |
| 95184145 | |
| 96909627 | |
| 107702829 | |
| 151398680 | |
| 109428311 | |
| 187547021 | |
| 113135592 | |
| 141101825 | |
| 124239525 | |
| 130531205 | |
| 134238486 | |
| 153773046 | |
| 217341766 | |
| 146505024 | |
| 159747904 | |
| 194419665 | |
| 163448032 | |
| 170716054 | |
| 222890919 | |
| 175546556 | |
| 231942354 | |
| 179471023 | |
| 186316703 | |
| 198835387 | |
| 187460078 | |
| 267625681 | |
| 204612456 | |
| 272883496 | |
| 222563903 | |
| 233667836 | |
| 472238137 | |
| 316648381 | |
| 254770730 | |
| 258478011 | |
| 264769691 | |
| 386338951 | |
| 309953056 | |
| 306252928 | |
| 334164086 | |
| 335294460 | |
| 378306410 | |
| 338994588 | |
| 346262610 | |
| 361863259 | |
| 355017579 | |
| 402034926 | |
| 365787726 | |
| 373776781 | |
| 487333594 | |
| 392072534 | |
| 427176359 | |
| 438280292 | |
| 568431067 | |
| 456231739 | |
| 488438566 | |
| 513248741 | |
| 519540421 | |
| 523247702 | |
| 611032301 | |
| 643076101 | |
| 616205984 | |
| 640417014 | |
| 848304273 | |
| 669458546 | |
| 674289048 | |
| 712771369 | |
| 685257198 | |
| 701280189 | |
| 716880838 | |
| 1036496443 | |
| 1096648753 | |
| 765849315 | |
| 800953140 | |
| 915614925 | |
| 894512031 | |
| 865456651 | |
| 926718858 | |
| 1081679808 | |
| 1798560646 | |
| 1007978987 | |
| 1042788123 | |
| 1130572722 | |
| 1134280003 | |
| 1227238285 | |
| 1256622998 | |
| 1749267812 | |
| 1309875560 | |
| 1391169886 | |
| 1755968856 | |
| 1359546246 | |
| 1386537387 | |
| 1402138036 | |
| 2230928756 | |
| 1482730153 | |
| 1666409791 | |
| 1566802455 | |
| 2361518288 | |
| 3055183644 | |
| 1958403048 | |
| 2286265104 | |
| 2658761034 | |
| 2409449011 | |
| 2142258990 | |
| 4189331804 | |
| 2050767110 | |
| 4325170825 | |
| 2440448282 | |
| 2390903001 | |
| 2483861283 | |
| 2566498558 | |
| 2876678015 | |
| 3158106892 | |
| 2842276399 | |
| 2746083633 | |
| 2761684282 | |
| 2788675423 | |
| 3624989143 | |
| 3957705456 | |
| 4812451392 | |
| 3624812839 | |
| 3617569565 | |
| 4009170158 | |
| 4524901606 | |
| 5251725410 | |
| 4337032214 | |
| 4533161991 | |
| 4193026100 | |
| 6065261121 | |
| 4441670111 | |
| 4924309565 | |
| 4831351283 | |
| 4874764284 | |
| 7008168669 | |
| 5050359841 | |
| 5312582191 | |
| 5507767915 | |
| 5534759056 | |
| 10459068621 | |
| 5550359705 | |
| 7634159301 | |
| 6406244988 | |
| 7242558708 | |
| 9706115567 | |
| 7242382404 | |
| 8534071764 | |
| 7954601779 | |
| 10059660662 | |
| 8870194205 | |
| 8530058314 | |
| 8634696211 | |
| 8726188091 | |
| 9024377383 | |
| 15040941199 | |
| 9925124125 | |
| 9755660848 | |
| 9881711124 | |
| 10187346475 | |
| 10820350106 | |
| 10362942032 | |
| 10847341247 | |
| 14080418019 | |
| 15610020367 | |
| 15196984183 | |
| 13184519006 | |
| 19680784973 | |
| 13648627392 | |
| 16112752913 | |
| 23573751517 | |
| 15772440718 | |
| 16484660093 | |
| 16824795984 | |
| 18893000346 | |
| 17164754525 | |
| 19943007323 | |
| 17750565474 | |
| 22940179854 | |
| 20729052371 | |
| 38573785319 | |
| 20244653156 | |
| 21183292138 | |
| 25559926215 | |
| 29255942378 | |
| 21210283279 | |
| 23547461038 | |
| 24031860253 | |
| 53770769502 | |
| 30935084480 | |
| 29761380305 | |
| 26833146398 | |
| 29421068110 | |
| 30133287485 | |
| 31885193631 | |
| 36982723997 | |
| 33523006192 | |
| 33309456077 | |
| 33989550509 | |
| 37409407681 | |
| 34915319999 | |
| 37693572797 | |
| 46972040107 | |
| 40973705527 | |
| 41427945294 | |
| 64975406332 | |
| 42393575417 | |
| 44730753176 | |
| 44757744317 | |
| 47579321291 | |
| 64244540557 | |
| 50380607436 | |
| 50865006651 | |
| 56254214508 | |
| 62944074302 | |
| 78837352975 | |
| 56966433883 | |
| 70972274506 | |
| 97227920035 | |
| 65194649708 | |
| 70292180074 | |
| 66832462269 | |
| 83821520711 | |
| 68904870508 | |
| 84988728972 | |
| 72608892796 | |
| 78667278324 | |
| 82401650821 | |
| 83367280944 | |
| 86185689611 | |
| 93258582068 | |
| 115049924391 | |
| 89488497493 | |
| 92337065608 | |
| 103833535799 | |
| 101245614087 | |
| 151276171120 | |
| 107119221159 | |
| 121448864216 | |
| 122161083591 | |
| 127258613957 | |
| 123798896152 | |
| 231092149756 | |
| 132027111977 | |
| 134099520216 | |
| 137124642343 | |
| 150199743213 | |
| 254033279012 | |
| 141513763304 | |
| 207149812563 | |
| 155010543617 | |
| 161068929145 | |
| 165768931765 | |
| 169552970555 | |
| 372918744328 | |
| 273540875281 | |
| 249419697548 | |
| 190734111580 | |
| 193582679695 | |
| 222694478303 | |
| 253475976193 | |
| 284299263429 | |
| 311066733859 | |
| 268772377261 | |
| 257898416368 | |
| 251057510109 | |
| 255826008129 | |
| 419802210777 | |
| 325609791672 | |
| 271224162559 | |
| 292135185960 | |
| 291713506517 | |
| 332247874884 | |
| 527929287945 | |
| 420610480664 | |
| 360287082135 | |
| 565254381798 | |
| 413428589883 | |
| 363135650250 | |
| 384316791275 | |
| 416277157998 | |
| 464806842254 | |
| 444210087773 | |
| 514829664263 | |
| 555523425988 | |
| 504533486302 | |
| 508955926477 | |
| 583848692477 | |
| 670859720886 | |
| 527050170688 | |
| 506883518238 | |
| 616113090264 | |
| 709926582947 | |
| 562937669076 | |
| 563359348519 | |
| 623961381401 | |
| 981531539796 | |
| 887771300872 | |
| 723422732385 | |
| 925233084475 | |
| 744603873410 | |
| 779412808248 | |
| 1704645892723 | |
| 807345738023 | |
| 800593949273 | |
| 920810644300 | |
| 909016930027 | |
| 1251487391648 | |
| 1011417004540 | |
| 1013489412779 | |
| 1089987839764 | |
| 1015839444715 | |
| 1216810101185 | |
| 1544772025701 | |
| 1489339391195 | |
| 1069821187314 | |
| 1240074471665 | |
| 2686177432519 | |
| 1347384113786 | |
| 1549194465876 | |
| 1368565254811 | |
| 1468026605795 | |
| 1580006757521 | |
| 1524016681658 | |
| 1820835150802 | |
| 2019487279913 | |
| 1586758546271 | |
| 1607939687296 | |
| 2058833129671 | |
| 2289933340468 | |
| 1829827574327 | |
| 2101404844304 | |
| 3109475119677 | |
| 2623779132011 | |
| 2029328857494 | |
| 2537847793109 | |
| 2085660632029 | |
| 2286631288499 | |
| 2309895658979 | |
| 2417205301100 | |
| 2438386442125 | |
| 2820081229186 | |
| 2715949368597 | |
| 2815410719581 | |
| 2892581936469 | |
| 2836591860606 | |
| 2992043287453 | |
| 3110775227929 | |
| 4921910793963 | |
| 3194698233567 | |
| 3437767261623 | |
| 3416586120598 | |
| 3693600319325 | |
| 5516361068480 | |
| 3859156431821 | |
| 4130733701798 | |
| 4114989489523 | |
| 4315960145993 | |
| 4467715299619 | |
| 4339224516473 | |
| 4372291920528 | |
| 6611284354165 | |
| 4596526947478 | |
| 4727100960079 | |
| 6513681548511 | |
| 5608531305066 | |
| 6408629408051 | |
| 6010108953148 | |
| 9930267669109 | |
| 9046298566689 | |
| 8032686021892 | |
| 8503025622326 | |
| 6305473461496 | |
| 6632465495190 | |
| 6854353382221 | |
| 7110186439923 | |
| 7275742552419 | |
| 7552756751146 | |
| 7974145921344 | |
| 7989890133619 | |
| 8582704789142 | |
| 8454214005996 | |
| 11868716897139 | |
| 12418738361199 | |
| 8711516437001 | |
| 9099392880607 | |
| 12523790501659 | |
| 11032574421575 | |
| 10335632265145 | |
| 11618640258214 | |
| 16444104139615 | |
| 12315582414644 | |
| 13999999086767 | |
| 19169935796865 | |
| 12937938956686 | |
| 13159826843717 | |
| 13415659901419 | |
| 13486818877411 | |
| 20597005317334 | |
| 13964539822144 | |
| 14385928992342 | |
| 14828499303565 | |
| 15526902672490 | |
| 20392884282543 | |
| 16572594922761 | |
| 17036918795138 | |
| 27486817964178 | |
| 17810909317608 | |
| 20718033138821 | |
| 25748435232139 | |
| 31810908404375 | |
| 21368206686720 | |
| 33169934883632 | |
| 25618639344981 | |
| 24556579214900 | |
| 35546532442386 | |
| 52043397179078 | |
| 26097765800403 | |
| 26353598858105 | |
| 46986846031701 | |
| 29912831664832 | |
| 26902478778830 | |
| 28315318180976 | |
| 28350468814486 | |
| 32639408621173 | |
| 51716405145384 | |
| 30355401976055 | |
| 32099497595251 | |
| 33609513717899 | |
| 44923063737247 | |
| 54448234614889 | |
| 38528942456429 | |
| 52650914010969 | |
| 42086239825541 | |
| 83527313549759 | |
| 45924785901620 | |
| 47465972487123 | |
| 50175218559881 | |
| 50910178073005 | |
| 50654345015303 | |
| 52451364658508 | |
| 53000244579233 | |
| 53256077636935 | |
| 54668917039081 | |
| 55252947593316 | |
| 60989877435659 | |
| 55217796959806 | |
| 70401558006517 | |
| 70628440051680 | |
| "; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment