<repo_name>JJCinAZ/goaoc2020<file_sep>/day2/data.go
package main

var input = []string{
	"8-11 l: qllllqllklhlvtl",
	"1-3 m: wmmmmmttm",
	"2-4 p: pgppp",
	"11-12 n: nnndnnnnnnnn",
	"17-19 q: qprqdcgrqrqmmhtqqvr",
	"16-17 k: nphkpzqswcltkkbkk",
	"6-9 c: rvcvlcjcbhxs",
	"18-20 v: hbjhmrtwzfqfvhzjjvcv",
	"5-9 z: jzzhzttttnz",
	"7-13 d: bdqdtddddnwdd",
	"9-11 d: ddddddddxdldddd",
	"6-10 f: fblhfdztgf",
	"2-11 b: vszxfnwghcb",
	"15-18 n: nbnmwxnnlkmlknnnhn",
	"2-9 z: lhwqvczrrqqhqlfvkbcm",
	"15-16 d: dndddddddjdddddbdld",
	"7-8 k: kkkmkkkf",
	"1-8 p: rdcmrkbwqjpph",
	"2-6 s: cswdpsjgsfvzkvqqmrqf",
	"9-11 m: mmmmmmmzbmmmv",
	"8-9 j: jjjjjjjjfj",
	"7-8 d: dddsjnds",
	"1-4 f: qffb",
	"3-8 f: cphmtfff",
	"1-13 s: rjsscssstsvssss",
	"9-14 s: gtsnlbqnckhxmssbbs",
	"12-14 j: jfjnjbjrjpdndj",
	"15-16 t: tttttttttttttttwt",
	"7-8 r: rgrdrrrrrrrrjhrrrrrr",
	"5-8 t: lpcqfgzttlt",
	"1-12 r: wrrrrrrjrrrrrrrr",
	"14-19 d: ddvcdddddddhddprldl",
	"4-8 d: pkddlzxsl",
	"7-11 x: xhxqxcfkxwxxnm",
	"3-7 q: qqqqqqjqqqd",
	"3-13 s: rtzsktsdfhtbs",
	"8-15 n: nnnnnnnnknnnnnsnnn",
	"10-13 r: rrrrrrrrrrrrnr",
	"1-9 r: ldfdgzprnptrd",
	"2-3 k: rqkthj",
	"4-7 p: prrpswdpnmpxmjzsp",
	"12-13 p: pmwbptnpppjprfpkppgj",
	"4-6 w: cfwdlw",
	"2-9 r: pnnvrfjhz",
	"14-16 b: bbbbbbbbbbbbbtbbb",
	"2-7 l: xlmzgklxljcl",
	"1-6 c: cccccccc",
	"11-12 w: dmpzfzpwwnwwpggw",
	"2-3 c: xrccccmcc",
	"12-13 k: kkkkkkkvkkkvkknkkk",
	"10-12 h: hhnhcvhhhqhh",
	"17-18 d: dddjddbdzdddvddddw",
	"1-5 p: pppphp",
	"11-13 v: fvvvvjlvbvrvdhbvv",
	"10-14 b: bzxxqcgqnbkmhm",
	"1-14 g: xggghgngqnggggggggg",
	"9-10 s: xslsmpfnxvvssqmgf",
	"16-17 s: nfqggjzbfsssllwns",
	"9-10 w: wwwwwwwwfw",
	"13-15 z: zzzjzzzjzzzzzzgz",
	"7-10 n: jfnwgwnnnn",
	"4-5 b: btbqb",
	"1-5 w: vwflw",
	"15-16 v: vvxvdvvvvzvxmhxvv",
	"3-4 b: cgbbqk",
	"1-3 f: bffffdfclfffgfkf",
	"6-11 m: xckgmdcqmwk",
	"6-9 c: vcptncxbcg",
	"5-6 m: mmmmdm",
	"2-3 d: dmdd",
	"5-7 v: vvhrxkd",
	"7-10 b: bbbbbbqbbbbb",
	"8-9 m: mhvmmwlgm",
	"3-4 x: xvtxkz",
	"3-9 w: wwlwwwwwkqww",
	"4-18 g: mxslljzcgpwsrggqqc",
	"2-3 x: xcff",
	"16-17 j: jjjjjjjjjjfqjfjwhjjj",
	"9-13 p: ppppppppgppppp",
	"16-17 f: fffffffffffffffffff",
	"3-5 c: cncpcck",
	"9-11 c: kzcwczccccmcfsrcc",
	"3-7 s: ssdsssvnsssssjs",
	"1-6 v: vvvvqv",
	"5-7 b: fzbbxbbbgbb",
	"3-9 t: gtttttttftt",
	"5-19 p: ngpnpklwsclptfjvtgm",
	"3-4 d: dddtdddddd",
	"4-5 m: mjmmwl",
	"11-13 l: lllblllllvllrl",
	"2-6 h: cphqvz",
	"17-19 w: gwwrvfglsljwfgxwbbw",
	"15-17 x: gfcxzcwgjmkwfqxrxzrd",
	"13-14 w: lrmhhxwfkwnkwnbsq",
	"7-8 f: ffffffgcff",
	"11-19 v: vvvvvvvvvvzvvvvvvvlv",
	"7-8 k: kxkkkkpk",
	"7-14 v: vfvvvskttcvvvvvfvv",
	"11-12 m: mmmdhmmgmkgmjmr",
	"1-7 p: hpppppppppbnc",
	"3-8 n: rttbbpjnmzn",
	"8-9 n: nrfnnvxrp",
	"3-4 x: tnxnngq",
	"9-12 s: mbhsxshssrtwvm",
	"11-15 n: nwmnlhgjnnptkmn",
	"1-4 x: xmxl",
	"1-6 f: bffffffffff",
	"2-4 r: zrrr",
	"2-3 t: ttmwvt",
	"3-5 n: ngnnr",
	"13-17 p: jtpppfgklkpshpndpp",
	"1-7 r: rrrrrrrrrrrr",
	"7-10 h: hmhhhhhhhzhhhhhhh",
	"9-15 l: glxqscckgxtkzfllk",
	"2-3 s: gfsh",
	"5-6 b: dpphbj",
	"6-13 h: hhhhhhhhhhhbshgh",
	"5-13 d: dddpbddddddddddd",
	"10-11 p: pppppppppdppppp",
	"5-7 j: jjjjjcx",
	"8-9 r: rrrrmrrrm",
	"1-3 f: ffff",
	"8-15 b: bbbbbbbgbbbbbbrb",
	"3-6 h: hhrhhhhhhh",
	"9-10 v: tkwvvvjvvvblvxvxhxvv",
	"5-9 t: ttttttttmtf",
	"1-4 m: fmmmmm",
	"5-9 n: nfnlnkblnnfnxtzn",
	"3-11 v: dnsvvvbvnvvxvj",
	"8-13 h: nfgmbfjhdhlhb",
	"2-14 q: cxtgcrpsxnjshlqbh",
	"5-13 b: bbbbjbbbbbbbbbbbbbb",
	"4-5 l: wldljllcl",
	"19-20 b: jbvbbbbbqqbbbbbbbbbs",
	"5-14 b: bbbbbbbbbbbbbbbbb",
	"2-5 q: qmqjqhfk",
	"12-13 s: sssfsnsssssssxsms",
	"3-17 z: zzzzzzzzzzzzzzzznzz",
	"13-14 t: ttztttstttbttb",
	"2-6 q: vqhhrqlgvckvsrpwmqwz",
	"15-16 d: dddddddddddddddhd",
	"5-6 w: wwwwdwww",
	"1-2 f: jffkf",
	"6-10 j: jjjjjrjwjbjxgpjjjm",
	"4-5 c: cvgccmcqzrcd",
	"3-7 h: mghkhfgzmkz",
	"10-17 f: ffffsfffffffpffwkff",
	"4-9 g: ggbgcgjgggggg",
	"8-11 d: mdnddhpddddm",
	"6-7 c: ctcldgc",
	"13-14 m: mmmmmmmmmmmmlmm",
	"18-19 t: ttttttttptttttnttgt",
	"7-8 g: qngggtghnxggs",
	"3-12 c: scccrbjtdccq",
	"2-3 q: qgqjq",
	"5-6 x: xxxxzxxxxx",
	"6-10 v: nwjsxvzhvgmsglftbpvc",
	"2-5 m: xjtbsffdwmxmhxrmpm",
	"4-7 c: mfgcvqccg",
	"1-7 c: cctcccc",
	"3-4 m: cnnw",
	"10-13 s: sstssssszsssss",
	"9-10 h: hchhhhjhdh",
	"2-4 j: xjjgsz",
	"4-11 b: rbblbbpmbmbdbjgcbhk",
	"10-11 r: rrrrrrrrrjrrr",
	"3-6 g: hvgfzgjrkdf",
	"1-10 b: tbbbbbbpbbbbbb",
	"12-13 n: nhnnnnnnnnjnznnrnrxl",
	"7-13 w: wwmwfncfwdxww",
	"3-4 c: wccq",
	"7-16 x: xxxxxxtxxxxxxxxxx",
	"3-7 k: zmhkssxs",
	"1-8 n: gnnnnnnnnn",
	"13-14 r: rrrrrrrrrrrrmr",
	"2-3 r: rrlr",
	"3-4 c: sccccwvpjpplgctg",
	"1-2 b: svbs",
	"1-2 f: fbfffrff",
	"6-14 l: lllllvlllllxtllqllll",
	"13-14 f: ffffffffkfffjf",
	"1-6 z: zzzrzfzzzzm",
	"4-8 k: kzzktkgrzjdkq",
	"6-8 j: jjjfsgjjbt",
	"3-7 q: qtqqqqq",
	"17-18 x: djxqkrlcwxxxlvhjxh",
	"6-8 c: tqpcgcjc",
	"2-13 f: khqhkkszblvffhfwcg",
	"7-18 p: kjxrtcpptzpxddbkts",
	"5-12 l: llldllllllntm",
	"2-7 q: bvvrnhqhpqw",
	"2-6 s: scssswssss",
	"1-2 n: njdnnnn",
	"4-8 h: hhhzhhhhhhhhhhhhhhh",
	"9-10 j: jjjjjjjjkjjxqjjw",
	"4-9 t: tzdqtlttttktttttcttt",
	"4-5 w: wdwht",
	"8-9 x: xfxxxxfrsxp",
	"3-4 m: mmmmgwwbmztpmbmmmtls",
	"8-17 f: mgzhfgfffswbgnvbc",
	"5-6 t: tttttg",
	"4-18 x: xxxwxxxxxxxbxxxnxxx",
	"2-4 l: cqglmhmtjls",
	"2-4 z: zfgzr",
	"11-18 k: nrdngbjkpckjxwdbrh",
	"8-9 f: fffffffpf",
	"4-7 g: ggtgghgsnggr",
	"5-6 w: wswwlw",
	"3-5 b: dfbbjbccx",
	"2-3 t: tdwfzg",
	"4-5 r: rhrbw",
	"4-5 j: jjjjtjjn",
	"3-4 k: hkzkk",
	"1-2 c: cdzccc",
	"3-5 r: vhlrrvhr",
	"4-9 l: qbjdqldwzdl",
	"6-11 f: flvpvfcfrgg",
	"17-18 g: xgggggghgggglggggz",
	"5-6 v: bhvgvl",
	"7-15 n: nnnnnnnnnnnnnngnnnnn",
	"6-15 d: dtddsddfddmcpdf",
	"10-12 b: bbbbbbbbvlbbbbbbb",
	"2-12 d: szdghlzwxpnd",
	"3-4 z: zzzw",
	"6-15 t: mrnjvfhtlqwlfzt",
	"8-10 x: lcxcbrxxjw",
	"6-13 r: rgszrlzmmlpdngchhxz",
	"1-14 g: fgggggggggggggggggg",
	"3-5 n: znnnjpksqtzt",
	"17-18 l: bcfmqlsltppxwsxslb",
	"5-8 t: tttnctttt",
	"4-5 m: mmmmnmml",
	"15-20 k: kmkpvxkgnckknzkpkqkt",
	"12-15 x: xxxxvxlxxkdxxxx",
	"1-5 v: vjdndsvsjvqzvnv",
	"1-4 k: kkkkkkk",
	"5-8 c: cxccccccc",
	"2-4 v: vdvd",
	"12-14 w: wwwwwwwwwwqwwbww",
	"2-3 b: kbbtbrllwp",
	"14-15 f: ffffffffffffffm",
	"9-10 v: nlngldlnvsbwcvvt",
	"4-5 c: kccxccc",
	"5-9 m: bmmmmmmmzmf",
	"8-9 f: fzfvffjffffv",
	"3-14 r: rrqrrrrrrrrrrjrh",
	"13-14 p: ppptpppppptpqdpm",
	"6-12 t: tttjtvtgcwvttttqkt",
	"5-10 z: glsrzctzzz",
	"5-8 s: gckwcshsl",
	"17-19 n: nnnnhnnnnnnnntwnnnd",
	"7-9 r: rrrrfdrrxrrrrrrrrrrq",
	"17-20 m: rmxbmmvwphmxmzlmbmxm",
	"14-15 l: kkjwtlsrlhltmdl",
	"14-17 f: ffffffffffffffffff",
	"3-13 l: khxtqtwbvpmgll",
	"2-4 w: wwbmww",
	"9-15 n: nwxcnxnckttrkdqnn",
	"3-4 t: fgnwjbtlntsr",
	"15-16 x: mcxxxxxxrxxxpczx",
	"6-16 w: vtcvkmrwvlmwdvrwmqj",
	"1-3 c: mmcjckwn",
	"1-10 c: ccccccccckccccc",
	"14-16 l: kqjhpjgzvxlnxxll",
	"4-7 r: xrtrrrrrcrrmrrrr",
	"8-13 m: mmmmmmmmmmmmcmm",
	"7-8 r: trkrrrrwf",
	"3-4 n: pnjn",
	"1-5 k: skkknkk",
	"11-16 k: kfkkkjkqpqgkzkkkkwsn",
	"13-17 f: gdllffxlxwncljgwf",
	"3-5 s: gwspdtjtnlbsfffvhlg",
	"15-17 m: krmfcsqbmmmjwgkdmm",
	"13-14 l: knhdrdzcmdhlll",
	"2-3 p: frps",
	"2-9 z: lzwnzmvnqgkpbxv",
	"5-9 n: nnngrnnbj",
	"3-5 c: mncnbk",
	"2-5 n: djgnnnnnzbnnnx",
	"7-8 v: vvgvgvvm",
	"5-15 w: wwwwwwwwwwwwwwwwwww",
	"6-7 d: dddddcz",
	"7-9 g: glrgcggvgckrgggz",
	"2-3 n: dnwbnc",
	"6-8 t: lttztzqt",
	"1-4 m: mmmxm",
	"4-14 l: qqhgtftklcnmllcbgbrx",
	"2-3 d: sdnk",
	"12-15 l: lqllljfglvldcql",
	"2-10 k: kgkkkkkkkkxkkkkkkkkk",
	"10-17 h: ljpwchmhhzmhdhmrchp",
	"6-10 w: lpcfgkslrwwrlkhx",
	"3-7 w: wrpwcpw",
	"8-9 z: kczxltgzh",
	"6-11 n: nnnnnhnsnlnnn",
	"2-9 s: smssssssgss",
	"2-4 x: xxwhxbfjj",
	"1-2 z: fzzzzzzzzzzzzzz",
	"4-5 p: pplcdpp",
	"3-4 c: gncxlzc",
	"16-17 x: fxqltszfgnnkxgrxhcbk",
	"13-17 n: nnnnnnnnnnnnnnnnvn",
	"1-6 x: dxxxxxx",
	"7-8 r: scbnvqrpcbgmpmrrs",
	"2-17 d: ddddddddddddddddhd",
	"13-19 v: fvtphwfnmpfpbpjnnbv",
	"7-18 q: cpwqnhqjqfkqqncbsh",
	"6-10 c: cccdcxccncfxcgc",
	"2-4 g: fggsgbgggggcggt",
	"13-17 r: hspwrxrzbrvlmlwgrkxr",
	"14-15 l: pllgllllllllrmv",
	"12-15 g: hqgcgggsxgjxljgdz",
	"3-4 d: dtxd",
	"7-12 d: kddvbkkdldqbkn",
	"3-13 v: vvvvvvvvvvvvtv",
	"8-13 t: tttttttttfttdt",
	"18-19 q: hprbdznbqlfnwzwpqckb",
	"5-12 c: wwlqcgzqzvtczvcldg",
	"3-5 z: xzzzv",
	"2-11 c: xbblzgtwcjcfqqb",
	"8-9 n: nnnvbnmvl",
	"8-9 z: zzzszzzzt",
	"2-3 l: chsrlrl",
	"2-4 f: nffm",
	"6-7 h: hhhhhhhh",
	"10-16 x: xxxxxxxxxxxxxxxwxxxx",
	"2-19 v: ztpvktjgjlmqfrrxfpv",
	"2-5 g: gncgg",
	"1-3 t: hjtttttvgtttttttttt",
	"3-4 s: nbvs",
	"5-10 n: nnnqnnnnbvnnn",
	"7-15 q: qqqqpqqqqqqqqqzqqsqq",
	"3-5 b: sjtwbr",
	"2-4 t: sttxln",
	"1-5 d: ddddd",
	"12-13 v: zvdpfbkkvcpvdvb",
	"3-6 j: cnnjhj",
	"7-8 q: qqrqpbfqjvbtqlqjqkqh",
	"2-4 v: wvvq",
	"2-7 m: mpmrmmmmdnmmmmk",
	"10-14 g: ggmcgggpggcngglm",
	"3-5 g: fsbpglh",
	"4-5 r: rdrtq",
	"3-4 t: qttltttl",
	"16-18 s: sssszpssbnsssssfss",
	"6-9 b: lbxbwbbqn",
	"2-3 m: dmwsg",
	"4-12 p: lmppwmsplppx",
	"3-15 c: lvjmlzwctxnckvclsj",
	"13-14 t: tttttttftstttw",
	"1-5 m: jmmmm",
	"2-3 r: rsfr",
	"1-4 d: xdns",
	"2-3 k: qklrwnskqnx",
	"1-2 r: rrrr",
	"5-8 l: vlsbftlltc",
	"3-12 n: nhjlchbwphmn",
	"6-7 h: thhghhv",
	"1-11 v: vvvvvvsvvvk",
	"9-11 c: ckdqzdkbjczkkcpdj",
	"7-12 b: bbbbbjbbbbbfzbbb",
	"3-6 v: vvwxkv",
	"6-8 t: twttttttt",
	"12-17 g: gfggggggggggggggg",
	"2-3 g: gqgggggggggggggg",
	"8-9 h: fmjhhbjhvv",
	"4-7 q: qqqqqqjsq",
	"4-5 p: hpkjp",
	"2-10 h: bhsgwpwnhh",
	"15-18 p: nwpqxrcxgjxbbxczxb",
	"2-3 k: mtkszk",
	"9-11 c: zccccpccrrc",
	"5-6 c: qnzjgh",
	"7-11 t: ttttttmtttct",
	"1-5 p: pppppprplmpq",
	"3-4 x: sxlc",
	"12-14 q: xsqzxsrrmxvdxq",
	"1-3 k: kklkjkvkkkkkk",
	"11-12 k: ffflkkkkkkqkkks",
	"2-3 z: zlzzz",
	"10-13 k: kkxkkbkkfkckn",
	"11-15 p: wkppvppxqxpnpbpkpppp",
	"2-11 r: krqxlrvhwhlj",
	"3-4 l: llllllrrbll",
	"12-14 n: nthpvpzmwnsnnn",
	"15-18 w: jwsnzwwwwwvwfdwggcw",
	"15-16 k: gtxkxjvtkktkkhkr",
	"1-3 m: kmzmmm",
	"9-10 j: jjjjjjjjvwj",
	"5-8 p: sppkrxzpbppppphpwv",
	"5-7 w: wwwwgwhwwhppmqw",
	"5-6 h: hchhhplrhphqq",
	"4-5 g: bggbg",
	"3-4 h: sbhmtvhhrbd",
	"1-4 l: lqfl",
	"5-7 j: jjjpjljjjj",
	"3-5 q: qqqqdqqqjqqqqqqqqqqq",
	"1-13 k: kkkkkkkkxkkknkk",
	"12-14 z: jzzzzzzzzzzzzvz",
	"1-4 q: bqqq",
	"8-9 w: wkwftfmfx",
	"7-9 s: kssjlslpmqssx",
	"1-2 n: dxzmtsvnfhjnqsfln",
	"15-17 q: bqmqnrcjsmgghgqjr",
	"8-11 z: zzzzzzzdzzfz",
	"6-7 z: znznzzz",
	"8-11 l: jvlntmjwwrrqlkzrhg",
	"1-5 r: rrvrjtrrjzr",
	"4-20 d: fbvprndxpfqplmtkntdd",
	"7-9 l: llllllqlclllll",
	"3-6 n: xrnjzmlbnjwwzdzmdj",
	"17-19 d: ddddddddddddddddxddd",
	"9-10 w: wwwwwckbwhww",
	"2-5 h: gchshhhn",
	"1-4 l: gtlq",
	"15-16 z: zzzzlzzzzzzzzzzhzdzz",
	"5-6 l: lllfllld",
	"14-16 j: jjjjgjjjjjjjjjjjc",
	"6-8 d: dddddrddd",
	"4-5 h: zhshc",
	"8-9 g: gmgxgbfqg",
	"1-8 r: lrrrrrrzrrgrrrrr",
	"4-13 c: mccqccdccccwccccccc",
	"3-4 z: zhzz",
	"10-11 c: crmmvznptct",
	"2-4 l: slblllt",
	"1-6 q: wqqdqqtqqqgdqqq",
	"2-13 l: nlllpwllpjdbxvbp",
	"6-8 l: mxsflqrlhkqhsrmhtwxq",
	"4-9 t: tpwbtdttt",
	"2-7 q: fzqdrbg",
	"7-8 d: ddpldttdddsd",
	"14-17 b: bbbbbbbbbbbbbmbbbb",
	"4-11 x: wfrxkjtpxlcbgc",
	"6-7 n: nnnnnjn",
	"13-16 z: zmqczdggpqzpcrlz",
	"1-8 j: jjjjjjzdmjjtjj",
	"5-6 v: vjsnvmb",
	"5-7 q: nzqqwbqmbjwllj",
	"2-3 j: mtjg",
	"12-15 d: ddxdddddddddddcddd",
	"4-15 g: hssvxrqgngtkcmh",
	"1-4 m: mmmmmmm",
	"11-13 j: jqjjjjjjjjmjj",
	"3-4 z: zznzz",
	"2-6 c: cccmcs",
	"6-10 x: xxxxxgxxlxxpxxxx",
	"1-2 b: bbrbbbbb",
	"2-5 f: xfmkcf",
	"4-5 r: rrrkxr",
	"3-4 z: zslz",
	"3-4 w: kwwh",
	"15-17 x: rfxxcxwxsxsdgnxlxz",
	"17-18 w: rwqlwwgwwwwjwbcjtw",
	"2-4 p: ppjrpp",
	"16-17 b: bbbbbbbbbbbbbbbtb",
	"5-6 b: fbwbqt",
	"3-5 b: bbjvxg",
	"4-5 j: jbhljfjz",
	"4-5 k: fmkkckpj",
	"18-19 w: wpqtwhngztqkvgqrcjf",
	"5-6 t: wttthhtt",
	"12-15 v: kvgvvvcfglsvnsp",
	"12-14 n: nnnnnnnnnnnknnn",
	"5-8 k: xxzhdkmmkkkbwv",
	"8-9 f: fdffdgvwpfffff",
	"12-14 k: kdbsqwkjhvbxrkh",
	"4-7 f: fvhkstfdrwfkvv",
	"7-17 x: cvkbcvbfxxgxhbxxxpbx",
	"11-14 m: jjnmmmsvhzcmcm",
	"3-9 w: qwxsnsxnwzsnmk",
	"1-5 k: tkkkkkkkkkkkk",
	"5-7 h: hhhhhhdh",
	"3-13 c: cclccccccccwccccc",
	"1-4 w: wwwnw",
	"3-7 z: wzzblltdglmfkl",
	"9-12 k: kkkwqjnqskkdhckhvkk",
	"2-5 r: xjtrrsxrrdzlbjvflqxr",
	"9-13 g: gggbzggggjgxkgg",
	"1-8 m: zmmmmmmhmmmmmhmmmmm",
	"16-18 h: hzhhhhhhhhhhhhhhhh",
	"2-7 w: wwwwwwvw",
	"3-4 d: ddhd",
	"3-5 x: jxvzx",
	"15-18 k: kkkkhkckkkkkkkkkkkxk",
	"11-12 m: mmmmmmmmsmwkm",
	"7-8 k: khfkkktj",
	"2-7 f: ffffffff",
	"2-6 q: hqqdhbfvc",
	"3-5 f: rlpffgf",
	"3-4 t: wtltht",
	"4-5 f: fscfx",
	"2-16 t: nmtppmqttqztvdstc",
	"1-15 j: jwgcbkdjlmjjxzwvpvd",
	"10-12 v: vvhvfvvqvvvv",
	"5-6 l: llllbwlll",
	"1-2 z: xmszvzrwpm",
	"6-11 d: dddjndddddq",
	"4-9 r: xwkfwcztcq",
	"9-10 k: ckskkkktkr",
	"2-4 x: txpxfq",
	"1-3 j: sjzj",
	"7-11 x: bbhcswxtnhx",
	"9-10 q: jlqnqmhjqhqq",
	"4-19 d: qddkdmptbvjpbrjdzddl",
	"7-9 d: sqdpdhhdx",
	"7-8 j: gjzmzjgd",
	"10-15 s: gkgsssssssqssssrpc",
	"5-6 v: vvvvhbvh",
	"1-3 c: cccc",
	"1-3 c: ccwcccczgccpccz",
	"2-4 t: tgtmqtl",
	"11-13 w: wwwcwwwwwwlhw",
	"4-5 z: nzgzrz",
	"4-11 s: lhzxmwclxss",
	"15-18 s: hmszwkscbdzsrgssjj",
	"4-5 m: wkvgzjmhxmwlmlmvsjv",
	"11-12 t: lndqtmsfwpjp",
	"2-10 w: wkwwwwwwwww",
	"10-11 t: ttgpwkjltgn",
	"3-9 b: bbvbbbbbtb",
	"5-7 h: rqlbntrhhkjhhhrdhq",
	"1-2 n: rnnrbnn",
	"8-11 n: nnnnnnnpnnnnnn",
	"4-5 s: vhsnsjc",
	"5-7 b: tbbbbbcbb",
	"1-3 q: frbq",
	"3-4 s: xsssmfsgs",
	"13-17 k: kkkkkbfkkkkkvkkkkkkk",
	"1-13 v: zvvvvvvvvvvvvv",
	"11-14 c: cbcmcccccccmccc",
	"15-17 r: skkrrvsrlmrrrrrjdrrr",
	"1-7 m: jmmqmmmmkmmmrkmmr",
	"9-14 f: kstfsxflhffxsffkb",
	"7-9 g: ggggggggvggggg",
	"13-16 t: tttttttgtttttttvtt",
	"9-10 p: ppppppppphp",
	"3-4 w: wwxw",
	"9-13 g: ggggggggrgggvg",
	"3-4 f: ffkffq",
	"8-11 h: hbhhzhhhhhfh",
	"2-4 d: dcnss",
	"6-7 r: rtrrrbr",
	"5-6 r: rrrrxq",
	"1-11 g: fgggggggmkglk",
	"14-15 h: vlqkqhhhfwhxfvs",
	"3-4 w: wlrsgfsw",
	"1-2 v: dxkwzvvxv",
	"2-4 r: rvrcrtrrl",
	"4-6 t: ttktttt",
	"10-15 j: jjjjbtjjtjnjjjk",
	"5-6 s: ssssssss",
	"5-7 s: sfnkzss",
	"4-5 b: shbtb",
	"2-5 j: hjktjm",
	"1-5 h: hhhhdhhhhh",
	"5-17 m: mmmmgmmmmmmmmmmmmrmn",
	"2-6 b: cxgxbbskzgdhr",
	"10-12 k: kkkkkkkkkbkkkkknkmks",
	"13-16 g: ggggggqggggghggggggg",
	"1-2 w: wwwl",
	"6-9 b: bkbbmbbbzb",
	"6-7 m: qrfhmmndrkmc",
	"5-11 p: ggzmjkxpnrpf",
	"2-3 r: rhrr",
	"6-7 f: vppvpwf",
	"8-10 w: wrwwwdvwwjwwww",
	"6-11 c: wxrbztwpcccj",
	"14-17 x: xxxxxxxxxxxxxrxxxxxx",
	"5-8 c: cccccczqccc",
	"2-6 j: jgqjjfjzjjjjjjmjjj",
	"4-7 t: zphkzttgtjdxdtd",
	"4-7 t: wsrtdqgthqjvznbj",
	"15-19 h: hmhhhhzhhhchhmhhhtxh",
	"1-3 z: zzzz",
	"2-3 j: jcvl",
	"1-7 w: wcpwswwgjfb",
	"3-6 c: crsvmcckc",
	"9-10 f: fffffffffjff",
	"3-6 v: hfvpwvgg",
	"2-5 r: dkhrrd",
	"1-5 f: cflmflfdvbz",
	"3-13 k: sfkgcgktfkhrh",
	"3-9 v: mmrprsvzv",
	"3-4 q: qqqbcrkq",
	"11-13 r: rrrwrrrrrrrgrr",
	"6-11 j: tjjjzpsjrjdj",
	"14-18 t: dtbhmtltcwpnzwqtgt",
	"2-5 c: rsccchcc",
	"11-14 m: kmmmmmlvmmtmmm",
	"7-10 x: xhxxxxxbxbhxxxx",
	"10-13 n: nnntnnnnnpnnn",
	"3-10 w: wwwjwgwwwgwmww",
	"17-18 p: phpppnpqppjsrpppzj",
	"8-12 r: rsrbwrrrrrrzr",
	"9-15 q: bqlrdqqxrdqqnxq",
	"5-11 d: sldcndtlpzdb",
	"1-3 w: zwww",
	"11-12 k: tkbkwkkvsblpt",
	"13-14 c: ccccccccccccqc",
	"1-5 c: ccccrc",
	"4-5 f: fffnf",
	"3-4 w: wwwvw",
	"2-4 k: kzkk",
	"16-18 j: jjjjjjjjjjjjjjvqjj",
	"2-8 v: wvqlrnrtgbzrp",
	"6-10 c: cccccdcccccc",
	"1-4 q: bqqqq",
	"5-6 n: nnnnnnn",
	"2-16 f: cjrffhfpfflxljjfp",
	"3-8 g: ggfggggggg",
	"7-8 z: zmzkzzzczwzzzz",
	"7-8 m: mmmmmmmmmm",
	"7-9 f: vzlffftfw",
	"4-10 w: kckwgbmtws",
	"4-5 g: ggghgp",
	"6-17 w: wwwwwwwwwwwwwwwwkw",
	"3-16 f: fffbfffffffffffcff",
	"9-14 l: lllllllwmllmblllhlml",
	"1-4 s: sssdssss",
	"3-4 m: lmnm",
	"10-11 v: vvvvkvsvvvmvhv",
	"3-4 p: pprb",
	"3-4 k: pkqk",
	"3-4 d: ddxd",
	"7-8 b: bbbbbbfb",
	"5-7 w: qbmhsmt",
	"11-12 b: bbbbbbbbbbbgb",
	"3-5 x: xpxbljxt",
	"2-9 z: kzmpqtbvzrqzh",
	"3-16 v: qwvfvltjrpdxmvqv",
	"2-6 n: pdjxzkn",
	"7-8 j: jmzvjkjk",
	"2-5 r: rrfjqqft",
	"2-5 h: pwhfh",
	"6-7 m: mmgvjmm",
	"11-12 r: rrrrrrrrrrxqrr",
	"1-4 n: nnnw",
	"1-5 z: szzzzzdtzz",
	"7-13 j: jjjjjjnjjjjjbj",
	"10-15 w: rwwwwtmwswwwwwwwnmbk",
	"11-13 t: twxhrldqtttmnt",
	"1-2 r: bkbbrwr",
	"11-17 h: hhdhhhhhhshqpbhhn",
	"4-7 c: crgchccbnr",
	"9-11 r: bdhgrzkmrrl",
	"6-8 g: gggggggzz",
	"3-9 g: ggggggggqg",
	"9-11 z: zrfcqtrxxqzcx",
	"3-9 s: zstjqhnvgjjfxknt",
	"12-13 p: pppppwpgcppjppppptp",
	"6-7 k: kkwrkckb",
	"8-9 k: kkkkqzjkn",
	"8-9 l: lrxlkbflrl",
	"1-3 n: nndn",
	"8-9 d: ddhddddddd",
	"4-12 g: zdclfqvdgnzfv",
	"3-5 d: ddddkddddddd",
	"9-11 x: xxxxxxxxqxxx",
	"4-7 t: ttttfftt",
	"2-4 n: wfmnnddqxfm",
	"16-19 r: zhjsgxjkjpqmpvkrjgr",
	"3-7 v: vvfvvvvv",
	"1-2 d: qdwdfj",
	"6-10 h: hhhhhhhhhrhh",
	"4-16 x: xxxpxxxxxxxxxxxxx",
	"18-19 q: qqqqqqqqqqqqqlqqqqf",
	"6-10 g: gkcntgbgbggklsx",
	"8-9 n: nnnnxnnnpnn",
	"7-9 m: msmmmtdvm",
	"2-15 d: twjdrfzntqhnwkd",
	"1-4 z: kzzz",
	"16-18 b: tbbbtbjbtbtflzckhb",
	"4-12 k: kkbhkgkrkgfk",
	"8-10 q: lrqrjqvwmrb",
	"1-3 f: vfhf",
	"7-14 v: vvvvvvrtvvvvvvvv",
	"4-5 n: xnntnwntrfnbqqdk",
	"3-5 r: rhkrzwrhrrr",
	"2-4 b: bspbjb",
	"5-6 s: sfscsc",
	"6-7 x: xxxxxhx",
	"8-10 w: wwwwbzlmqw",
	"7-10 v: fkvdvjbfvd",
	"2-5 q: qtqspqqq",
	"8-9 k: kmhkkhpsk",
	"5-8 h: xhdhjfph",
	"3-6 b: dlbkbb",
	"1-3 w: wwbswwww",
	"2-4 x: mxtx",
	"2-4 l: llrll",
	"3-7 j: kclqzgc",
	"2-3 r: rxrrrgrrrrr",
	"2-4 q: nzwxlmcqqqm",
	"15-16 h: hhhhvmhbhdtbblbh",
	"13-19 l: ltkftclmlllflzltlnb",
	"4-5 p: zmwtpjrltqdmfppz",
	"6-10 t: tjdxqtsbzhvprspljmv",
	"14-17 q: qcqqqqqcqghqqqqqjq",
	"1-5 j: flxrjspwlrdqsnjcs",
	"14-15 m: mmmlmmmmmmmmmwm",
	"3-5 d: dddvkwksdcrktlpd",
	"8-11 l: llcllllxllml",
	"2-4 v: vvvbv",
	"1-3 g: llggz",
	"3-5 q: znqqmt",
	"15-17 f: ffffffffffffffjfff",
	"17-18 q: zwnkmcqdqlqgkwfmqc",
	"8-11 f: fffsrffbfffffvfxf",
	"1-7 b: bbbbbbbb",
	"3-4 l: llzh",
	"8-9 n: nhnnnnqknnbnncncnnl",
	"9-11 v: wvvvvvvbhjc",
	"15-16 q: qcjqvfdcsqwdrqqt",
	"9-10 j: jcckdzkzjjb",
	"1-2 s: hssmsssms",
	"1-3 w: xwww",
	"2-4 l: lllll",
	"2-4 q: qnmq",
	"16-18 t: tttttttgtftttttttt",
	"5-6 t: kttttj",
	"16-17 t: twlqttttttttttmct",
	"8-15 x: xxwpxsqkxgkxgxxbdgx",
	"17-18 h: hhhhhhhhhhblhhhhrq",
	"12-17 m: fmkmmmmqkmmdrbvthm",
	"2-4 b: fbcb",
	"1-14 t: tttttttttttttqtt",
	"17-18 v: vvvvvvvvvvvvvvvvvnv",
	"7-10 x: vxxtxlxxlk",
	"3-5 n: nnmnqnnb",
	"2-8 s: vssjqsssssb",
	"9-11 l: wlllllllllllll",
	"4-14 r: zrlcrxrrrzrrrrr",
	"3-14 n: wrnjpnkndsshqk",
	"12-16 p: ppppzpppppphppppp",
	"9-12 r: rrrrrcbrrfprrrrr",
	"2-3 b: bbrb",
	"14-16 d: tzdjdndddgsddlnddgd",
	"16-18 c: cccccccccccccccwcc",
	"5-6 v: rvvqvt",
	"11-17 s: ssssssssssssssssps",
	"8-9 v: vpvxqvvdvnvhgnvvlvs",
	"7-8 d: ddddqlrt",
	"7-13 d: bfzrkddtdwqld",
	"4-6 c: cccccq",
	"6-8 d: hkdndlqq",
	"11-13 l: ngmllbdklvlmqlz",
	"8-17 m: mmmmfmmmmmmmmmmmlmm",
	"12-15 b: bbsbbcblbsnbzbbfcfzz",
	"12-13 k: gbwkkkkkkkksk",
	"12-14 x: xxxxwxxxxxxdxxxxxxx",
	"3-4 m: mwsmp",
	"5-6 k: kkkkzk",
	"4-5 h: pqslhh",
	"7-13 l: gmpxpvwqrnlfp",
	"3-6 t: sttxtmtn",
	"11-13 r: rrbmbrwrrrrrkhrr",
	"14-16 s: ssssssssssssstsss",
	"7-10 v: vvvvvvhvdvvvkv",
	"5-6 z: sxpzzx",
	"2-4 d: rmxd",
	"16-17 z: zzzzzzzzzzzzzzzzzz",
	"1-3 k: kjkkkkcckkzk",
	"1-11 k: xzkkkkzkppk",
	"8-9 f: bfvfdffzb",
	"4-14 r: rfzcrrlmxqlrrrqr",
	"7-19 t: gtnxjqtnjbkrwpzshqqn",
	"2-5 j: kjjgpddjpjjjffzjjp",
	"2-3 f: cfffh",
	"1-2 x: xxxxx",
	"3-13 j: jjjjjjjjjjjjzfjjj",
	"7-8 m: sgmmpmjmwmmmtfs",
	"4-12 z: zfzqzzszvtml",
	"6-9 b: jsfbpkzwb",
	"13-16 x: zsxxjxxsxxqxpxxx",
	"8-12 b: rlzdlplbgbdgd",
	"3-14 h: hmrhhhhhhhhhrthhhh",
	"15-19 g: mgggggcgggggqgghggg",
	"2-9 p: ppppptppzcf",
	"6-7 b: bbbbbbbbb",
	"4-20 q: skqqvxptdswwnrflkvxq",
	"4-5 t: lqttq",
	"1-10 l: lqkqllvllj",
	"11-15 m: qmmmmmrmqmmmsmf",
	"6-15 s: ssssstssssssssss",
	"2-4 x: xtxxx",
	"9-11 q: qqqqqqqqhqgqq",
	"1-4 n: gpnnfnn",
	"1-3 l: lltl",
	"11-15 k: kkfkkfkmmkrkkkk",
	"11-12 f: fkcvfvtqfcfffffffffj",
	"1-4 c: ccjc",
	"14-15 n: bvbvfvzcbfnzqlsvh",
	"4-5 x: xxlmxx",
	"3-6 n: nnrnnnwlnncnn",
	"6-9 j: jjjjjjjjq",
	"7-10 d: pdplmxdczddbd",
	"12-13 c: ccccbctccccccccc",
	"12-13 j: jfjdjjjjjjjjjj",
	"6-7 h: mrnphwh",
	"2-9 n: njnnnnnnnnnnnn",
	"3-6 g: rgxgggggnjghgggntg",
	"9-12 b: bbbbbbbbbbbcbb",
	"3-5 p: ppppvpp",
	"16-20 t: ctkgpgzrwwngltvxcqct",
	"4-5 s: sssdsh",
	"12-14 v: vvvvvsvvvvvvvsv",
	"8-13 w: zwwwwwwvwwrwgv",
	"12-17 r: wrcrrrrrrrbrwrrrxr",
	"12-13 x: xxxxxxxxxjsvrnxx",
	"7-9 n: nqnnqnvnn",
	"14-19 n: nnnnnnnnnnnnnnnnnnnn",
	"4-5 c: vscjrl",
	"1-3 l: llrl",
	"11-12 w: wwwwwwwwwwzww",
	"6-7 t: wlcktht",
	"2-10 r: rrrrrrrrrwrrrmrr",
	"2-6 x: lhqvpx",
	"10-16 h: kqrhxclktcqhxchg",
	"6-10 m: mmsmkmmjmlmhfmmnmm",
	"5-7 h: hchhhhph",
	"5-7 z: vtzzzwl",
	"3-12 z: zzfzzzzzzzzzz",
	"7-9 z: zzzzzzszzzzzzzzjz",
	"8-9 g: ggggggggg",
	"13-16 f: ptvzfmfkxfdkfhjff",
	"1-10 w: cvhnfgnwpw",
	"5-8 d: fvvmdlfqgjc",
	"6-9 s: rzlrwzngshvt",
	"2-4 v: vgql",
	"1-3 r: rrmrr",
	"5-7 j: jkjgwjj",
	"4-7 b: bbbzdzbbcbbb",
	"4-10 k: kkkkrkckkgkkk",
	"10-12 m: mmmmmmddmjmn",
	"4-10 k: mskmvkcpqkk",
	"5-10 m: wbtdmxnvrmwqbqkwmtq",
	"7-14 z: cfzftzzqnxffzh",
	"12-13 z: zzzzkzzzzdzzz",
	"4-5 l: lllslllvl",
	"5-8 k: kkkkkkkkkk",
	"10-11 l: llllllllllwl",
	"3-5 v: hvzpxfvmvcv",
	"8-10 t: tbtnrtbqzwtkqtf",
	"6-10 j: njjjpjjjjkjsj",
	"8-16 f: cvpxnsxfdnpdfswdhbb",
	"6-12 n: nnndnnnnnnnz",
	"2-3 d: dzdd",
	"1-4 s: jshkscssssssssssssss",
	"5-7 k: kkkqckwkcl",
	"3-4 f: ffdf",
	"9-11 c: cpccccncccqccc",
	"1-8 x: gxxxxgxx",
	"5-15 p: ppvkmmpcvzmmczpz",
	"12-13 p: xppppppppvpnpppp",
	"7-12 n: nwnnnnhcbnjnc",
	"1-4 f: fnzjf",
	"2-5 s: tltqss",
	"3-10 r: rrqkrzvkrtbqcrp",
	"3-14 h: hhhhthhhlrwhhhthp",
	"2-4 b: bkbhbq",
	"15-16 v: vvvvvvvvvvvvvvvsvvv",
	"1-17 h: vtjjhtxrchshpxhsh",
	"4-7 n: jnpnpnn",
	"3-4 h: jvhz",
	"4-5 w: wcpzw",
	"9-10 q: tvxbsfmqqblhq",
	"3-5 s: jssstxfbsssshssgkss",
	"3-9 r: fnrhqkrmtstqjgc",
	"12-15 n: xqwnnnnnnnnmnnn",
	"13-15 q: qqqqqqqqqqqqqqtq",
	"3-4 d: dcdl",
	"4-12 d: vrldnmpndmlgdzrv",
	"2-4 h: mhhh",
	"3-4 f: fcvfc",
	"1-2 w: whwwwz",
	"7-8 m: mpmlmmmmhdbh",
	"2-4 q: qxbqqdsjrdpxf",
	"6-14 r: wbmlhrcgrgrkzqfj",
	"2-7 c: ghcvcdcmcztckct",
	"2-9 n: nnnnnnnnpnnn",
	"3-5 f: zlgffv",
	"1-6 m: ntmmmm",
	"2-4 w: jgqwv",
	"5-12 f: gscfzhmrtxfw",
	"5-7 r: rwzklcrnrrg",
	"8-10 h: hhhzhhhpxhhh",
	"9-11 x: xxxxxxxxfxbx",
	"7-8 q: qdnqnzbq",
	"2-10 s: sssmssslbb",
	"8-9 n: wgfnghnlnkf",
	"4-10 d: dddsdddlds",
	"1-5 k: bfkkkn",
	"2-5 w: wwwwww",
	"14-16 s: bjszbzmcnsvplsrh",
	"8-9 b: bbjbbbbbbvvbbx",
	"2-10 m: dmnrsmtqkf",
	"7-12 f: fbtwftvffsgfwlnw",
	"9-10 h: shhhpshfxhbrdhshh",
	"4-9 t: tgpdtwrmt",
	"2-6 t: vhtwntl",
	"3-5 j: ljjjd",
	"2-3 w: hxwvbxwwbwsvc",
	"7-8 r: rrrzrrnr",
	"3-4 x: jxjh",
	"7-12 w: mjmbtgntdwjwnqztv",
	"5-6 l: vlvllt",
	"7-8 n: nnnnnnpnnnn",
	"3-10 c: wcgcxzcdwmcn",
	"16-18 h: hchhhhhhhhhhhhhcmh",
	"5-11 f: fflffffffflfff",
	"3-13 z: zzzzzzzzzzzzpzz",
	"6-9 k: kkkkkskkkk",
	"6-15 c: ccccccccbccccctccc",
	"9-18 p: klcpzpdwzvpqppspfpp",
	"10-13 b: pbbbbmbbdbwtmd",
	"10-11 v: xvvvvvvvvnnvv",
	"2-4 m: msmmm",
	"1-4 w: rwwlwrwrwwrfngc",
	"8-9 r: rjjlddjrnbr",
	"13-16 d: pzdfzqbwclbjddxtvddf",
	"14-15 q: qqqqqqqqqqqqqbq",
	"12-14 k: kkkjgrkkqkkkkl",
	"3-4 d: gsdnkdfnf",
	"8-17 h: glhfvrshlrqwdrfrh",
	"2-12 l: mflqfvxfgzkmd",
	"5-8 f: ckllfnfbflqgrsd",
	"1-17 m: kckvffhnlmjvdtgpm",
	"16-17 p: pplppppcppppppppppp",
	"5-8 h: hhjbmplh",
	"7-10 s: jsjlwgsssbsvfsvk",
	"2-8 x: xpfxbqxxqxhdrxhqm",
	"12-16 n: nnnnnznnnnnnnnnmnvn",
	"6-12 v: vvvvvvvvvvvgv",
	"8-9 j: pjjjjmjnj",
	"16-17 h: hhhbhjhrhhhhxhhgt",
	"3-11 d: ldpmvddhdrdjdj",
	"6-7 n: nnnnnnnn",
	"5-8 f: tglffvhgnfxzfhf",
	"13-18 r: rrrrrrrrrrbrhrrrrrrr",
	"19-20 n: nnnnnnnnnnnnnnnnnnnj",
	"7-8 w: tpmmxqsw",
	"5-7 c: ccccccr",
	"9-10 l: qltnnlnfllqlw",
	"6-7 g: xggbggz",
	"7-10 s: sssssfcssss",
	"5-7 j: jsjkxwqhjcvjtwjzl",
	"10-14 t: qdtttzttcvtttnn",
	"12-13 b: bbbbbbrbbbbqb",
	"1-15 d: dshhrjkwcjjhlthdts",
	"7-12 p: hrxkphmqpvpptpqbw",
	"13-14 d: ddndddxdtdrkvldd",
	"3-4 h: htht",
	"7-8 c: xtsvzccfckccx",
	"4-5 r: gstrwshptzrdtjj",
	"7-8 b: wbbnbbbm",
	"15-17 c: cgpqxbccqcjpzlcctmx",
	"2-7 k: kvtqqmsx",
	"8-11 s: ssxssssqsssssssss",
	"3-9 d: ddddddddld",
	"13-16 p: pppppppppppppppwpj",
	"6-8 v: sxkghpckvb",
	"17-18 s: ssssssssbsssssssksss",
	"1-2 w: wlwxdsw",
	"8-9 q: qqqqqqqqnq",
	"9-16 f: fjdsfvkfqffffjcfpff",
	"12-13 h: bhhhhhhfwhphhhhhh",
	"7-8 k: kkkkkknkkkkkkk",
	"4-7 w: wwwfpsw",
	"8-11 d: rsndldddddxddmf",
	"2-10 c: cjcdcccccc",
	"6-7 v: zvnrhth",
	"3-8 z: zzxzzzzzdzjzzzzz",
	"11-12 t: tctdttttwtrtttttjth",
	"8-9 c: ccccccccrccc",
	"17-18 p: pppppppppppppppppvp",
	"3-8 l: svlmlkspljr",
	"1-2 n: nwnkq",
	"1-11 j: jjjjjjjjjjjj",
	"18-19 g: ggggggggggggggggggr",
	"10-11 j: jjjjjcdjgjv",
	"3-7 p: ptttppppppj",
	"2-5 d: cdndsd",
	"6-10 s: sssssmssssss",
	"15-16 k: vxwxxhhkkhklqksd",
	"3-4 x: rpxn",
	"1-6 g: vmgckg",
	"3-4 j: jjbs",
	"5-10 d: qrnmbddndvcmdsjjbdhd",
	"7-9 v: vvmgvvvpvm",
	"1-7 z: zzzzzzwzzzz",
	"4-7 n: nnnnnnqn",
	"8-9 k: kwkknknkrkgkbklmpb",
	"1-5 z: zzmzfzz",
	"6-10 m: mmmmmfmmmm",
	"9-11 s: sssssstsssgss",
	"2-6 n: nnfnpgnnnmnnn",
	"15-17 w: wwwwrswthgwhkwwrw",
	"5-9 h: lbhdhplmbnwh",
	"5-6 d: jdddqqt",
}
<file_sep>/day2/main.go
package main

import (
	"fmt"
	"os"
	"regexp"
	"strconv"
)

func main() {
	part2()
}

func part1() {
	var (
		r1         = regexp.MustCompile(`^(\d+)-(\d+)\s(\S):\s(\S+)$`)
		validCount int
	)

	for _, s := range input {
		a := r1.FindStringSubmatch(s)
		if a == nil {
			fmt.Printf("unable to match on input '%s'\n", s)
			os.Exit(1)
		}
		min, _ := strconv.Atoi(a[1])
		max, _ := strconv.Atoi(a[2])
		if isValidPart1(a[4], min, max, []rune(a[3])[0]) {
			validCount++
		}
	}
	fmt.Printf("Found %d valid\n", validCount)
}

func isValidPart1(password string, min, max int, mustContain rune) bool {
	found := 0
	for _, c := range password {
		if c == mustContain {
			found++
		}
	}
	if found >= min && found <= max {
		return true
	}
	return false
}

func part2() {
	var (
		r1         = regexp.MustCompile(`^(\d+)-(\d+)\s(\S):\s(\S+)$`)
		validCount int
	)

	for _, s := range input {
		a := r1.FindStringSubmatch(s)
		if a == nil {
			fmt.Printf("unable to match on input '%s'\n", s)
			os.Exit(1)
		}
		p1, _ := strconv.Atoi(a[1])
		p2, _ := strconv.Atoi(a[2])
		if isValidPart2(a[4], p1-1, p2-1, []rune(a[3])[0]) {
			validCount++
		}
	}
	fmt.Printf("Found %d valid\n", validCount)
}

func isValidPart2(password string, p1, p2 int, reqChar rune) bool {
	found := 0
	passwordR := []rune(password)
	if passwordR[p1] == reqChar {
		found++
	}
	if passwordR[p2] == reqChar {
		found++
	}
	return found == 1
}
<file_sep>/day7/main.go
package main

import (
	"fmt"
	"regexp"
	"strconv"
	"strings"
)

type Rule struct {
	Contains map[string]int // map[<color>]<quantity>
}

var (
	Rules map[string]Rule
)

func main() {
	Rules = processData(input)
	fmt.Printf("read %d rules\n", len(Rules))
	part1("shiny gold")
	part2("shiny gold")
}

func part1(targetColor string) {
	count := 0
	for _, rule := range Rules {
		if canContain1(rule, targetColor) {
			count++
		}
	}
	fmt.Printf("Part 1: %d\n", count)
}

func canContain1(rule Rule, targetColor string) bool {
	for color, _ := range rule.Contains {
		if color == targetColor {
			return true
		} else if r2, found := Rules[color]; found {
			if canContain1(r2, targetColor) {
				return true
			}
		}
	}
	return false
}

func part2(targetColor string) {
	if rule, found := Rules[targetColor]; found {
		fmt.Printf("Part 2: %d\n", countContainedBags(rule)-1)
	} else {
		panic(targetColor)
	}
}

func countContainedBags(rule Rule) int {
	totalQuan := 1
	for color, quan := range rule.Contains {
		if r2, found := Rules[color]; found {
			totalQuan += quan * countContainedBags(r2)
		}
	}
	return totalQuan
}

func processData(input []string) map[string]Rule {
	var (
		regx1 = regexp.MustCompile(`^(.+) bags contain (.+)$`)
		regx2 = regexp.MustCompile(`(\d+) (.+) bags?`)
	)
	rules := make(map[string]Rule)
	for _, l := range input {
		if a := regx1.FindStringSubmatch(l); a != nil {
			newRule := Rule{Contains: make(map[string]int)}
			if a[2] != "no other bags." {
				if strings.HasSuffix(a[2], ".") {
					a[2] = a[2][:len(a[2])-1]
				}
				for _, c := range strings.Split(a[2], ", ") {
					if a2 := regx2.FindStringSubmatch(c); a2 != nil {
						if count, err := strconv.Atoi(a2[1]); err != nil {
							panic(fmt.Sprintf("Invalid count in rule: %#v", a2))
						} else {
							newRule.Contains[a2[2]] = count
						}
					}
				}
			}
			rules[a[1]] = newRule
		}
	}
	return rules
}
<file_sep>/day4/data.go
package main

var input = []string{
	"iyr:2015 cid:189 ecl:oth byr:1947 hcl:#6c4ab1 eyr:2026",
	"hgt:174cm",
	"pid:526744288",
	"",
	"pid:688706448 iyr:2017 hgt:162cm cid:174 ecl:grn byr:1943 hcl:#808e9e eyr:2025",
	"",
	"ecl:oth hcl:#733820 cid:124 pid:111220591",
	"iyr:2019 eyr:2001",
	"byr:1933 hgt:159in",
	"",
	"pid:812929897 hgt:159cm hcl:#fffffd byr:1942 iyr:2026 cid:291",
	"ecl:oth",
	"eyr:2024",
	"",
	"cid:83 pid:524032739 iyr:2013 ecl:amb byr:1974",
	"hgt:191cm hcl:#ceb3a1 eyr:2028",
	"",
	"ecl:gry hcl:eefed5 pid:88405792 hgt:183cm cid:221 byr:1963 eyr:2029",
	"",
	"pid:777881168 ecl:grn",
	"hgt:181cm byr:1923 eyr:2021 iyr:2018 hcl:#18171d",
	"",
	"byr:1941 eyr:2027 ecl:gry iyr:2016 pid:062495008 hcl:#a5e1b5 hgt:178cm",
	"",
	"cid:56",
	"byr:1971",
	"hcl:#efcc98 pid:649868696 iyr:2011 eyr:2025 hgt:164cm",
	"",
	"ecl:blu",
	"pid:117915262 eyr:2023 byr:1925 iyr:2020 hcl:#888785",
	"hgt:188cm",
	"",
	"iyr:2012",
	"cid:174",
	"eyr:2024",
	"pid:143293382 ecl:brn byr:1946 hgt:193cm",
	"",
	"eyr:2021 iyr:2011",
	"hgt:192cm pid:251564680",
	"byr:1976",
	"ecl:blu hcl:#602927",
	"",
	"byr:1973 ecl:blu hgt:164cm",
	"eyr:2022 pid:695538656 iyr:2010 cid:244 hcl:#b6652a",
	"",
	"iyr:2014",
	"eyr:2027 pid:358398181 ecl:hzl hgt:74in byr:1949 cid:329",
	"hcl:#ceb3a1",
	"",
	"cid:211",
	"byr:1954 eyr:2023 hgt:172cm ecl:blu iyr:2019 hcl:#623a2f pid:657051725",
	"",
	"pid:562699115 eyr:2026 byr:2000",
	"hgt:162cm hcl:#602927 ecl:amb iyr:2018",
	"",
	"ecl:brn",
	"iyr:2013",
	"pid:835184859 byr:1981 hgt:157cm eyr:2027 hcl:#b6652a",
	"",
	"pid:763432667 byr:1981 hcl:#cfa07d ecl:brn",
	"iyr:2010 hgt:63in cid:107",
	"eyr:2027",
	"",
	"byr:2009",
	"hgt:177cm cid:314",
	"hcl:f55bf8 eyr:2025",
	"pid:632519974",
	"iyr:2015 ecl:amb",
	"",
	"eyr:2024 pid:614239656 hgt:169cm iyr:2014 ecl:hzl byr:1992",
	"hcl:#602927",
	"",
	"ecl:blu",
	"eyr:2026",
	"hcl:#efcc98",
	"byr:1980 iyr:2013",
	"hgt:161cm",
	"pid:065413599",
	"",
	"hgt:182cm",
	"eyr:2025 iyr:2013 pid:939088351 hcl:#b6652a byr:1994 ecl:amb",
	"",
	"hgt:65in cid:220 ecl:amb hcl:#ceb3a1",
	"iyr:2013 eyr:2025 pid:167894964 byr:1976",
	"",
	"hgt:185cm cid:88 ecl:blu iyr:2020",
	"eyr:2020",
	"hcl:#888785 pid:582683387",
	"byr:1981",
	"",
	"hcl:#866857 eyr:2020 byr:1948",
	"pid:358943355",
	"ecl:amb hgt:164cm iyr:2019",
	"",
	"pid:127467714",
	"hcl:#ceb3a1 byr:1991 hgt:163cm eyr:2020 iyr:2017 ecl:blu cid:229",
	"",
	"cid:156 byr:1942 eyr:2024 hcl:#cfa07d",
	"ecl:blu pid:843747591",
	"iyr:2014 hgt:173cm",
	"",
	"hcl:#a97842 hgt:165cm",
	"iyr:2013 ecl:#781088 byr:1952",
	"pid:516882944",
	"eyr:2026",
	"",
	"hgt:179cm",
	"byr:1969 pid:408297435 iyr:2020 ecl:oth hcl:#cfa07d eyr:2020",
	"",
	"ecl:amb iyr:2013 hcl:#b6652a eyr:2023 cid:88",
	"pid:324081998 hgt:66in byr:1945",
	"",
	"iyr:2012",
	"eyr:2024",
	"hcl:#18171d",
	"pid:756726480 byr:1947 ecl:oth",
	"hgt:164cm",
	"",
	"ecl:blu",
	"hcl:#fffffd byr:1951 iyr:2019 pid:544645775",
	"hgt:153cm eyr:2027",
	"",
	"pid:655906238 ecl:brn eyr:2028 byr:1959 hgt:63in cid:338",
	"iyr:2020",
	"",
	"eyr:2020",
	"hcl:#602927 hgt:72in iyr:2014",
	"pid:305025767",
	"cid:297 byr:1957 ecl:gry",
	"",
	"hgt:155cm byr:1942 hcl:#a97842",
	"iyr:2014 ecl:gry pid:593995708",
	"eyr:2022",
	"",
	"pid:219206471 byr:1955 eyr:2030",
	"hcl:#a97842 ecl:oth iyr:2015 cid:134 hgt:170cm",
	"",
	"iyr:2013 cid:268",
	"eyr:2020",
	"hcl:#a97842 ecl:grn pid:235279200 hgt:178cm",
	"byr:1952",
	"",
	"iyr:2013 pid:016384352 eyr:2027",
	"hcl:#866857 ecl:grn hgt:161cm byr:1943",
	"",
	"ecl:amb hgt:169cm pid:149540593",
	"iyr:2012",
	"eyr:2040 hcl:#a97842 byr:1954",
	"",
	"byr:1938",
	"ecl:brn hcl:#b6652a eyr:2026 hgt:184cm iyr:2018 pid:832531235",
	"",
	"byr:1945 iyr:2015 hgt:171cm eyr:2028 pid:998746896 ecl:hzl hcl:#866857",
	"",
	"hgt:73in ecl:hzl eyr:2023 cid:343 pid:458004221 iyr:2017 byr:1962 hcl:#efcc98",
	"",
	"byr:1970 hgt:159cm pid:925022199 iyr:2013",
	"eyr:2028 hcl:#888785",
	"ecl:hzl",
	"",
	"eyr:2027 iyr:2016 ecl:gry",
	"hcl:#cfa07d",
	"pid:006246552 byr:1939 cid:124 hgt:177cm",
	"",
	"byr:1982",
	"iyr:2016 hgt:159cm",
	"cid:102 hcl:#fffffd",
	"eyr:2029",
	"ecl:grn pid:619798285",
	"",
	"iyr:2018",
	"hgt:189cm hcl:#efcc98",
	"byr:1937 eyr:2023 pid:727551553 ecl:oth",
	"",
	"iyr:2014 byr:1976",
	"eyr:2020 hcl:#7d3b0c pid:125102070 ecl:amb",
	"hgt:186cm",
	"",
	"hgt:187cm byr:1949",
	"pid:027653233 eyr:2021 hcl:#341e13 ecl:hzl",
	"iyr:2020",
	"",
	"iyr:2016",
	"byr:1954 pid:545631256",
	"hcl:#602927 eyr:2023",
	"hgt:191cm ecl:amb",
	"",
	"pid:509762954",
	"hgt:190cm ecl:hzl byr:1991",
	"eyr:2022 iyr:2019",
	"cid:187",
	"",
	"hcl:#c0946f eyr:2024 hgt:152cm cid:277 iyr:2015 pid:872373191 byr:1988",
	"",
	"pid:544267207 cid:113",
	"iyr:2015",
	"hgt:181cm",
	"hcl:#6b5442",
	"ecl:gry",
	"byr:1971",
	"",
	"ecl:gry",
	"hgt:161cm iyr:2012 byr:1965",
	"pid:574527322 hcl:#fffffd",
	"",
	"iyr:2018 byr:1976 hcl:#b6652a",
	"pid:024582079 hgt:169cm ecl:oth eyr:2021",
	"",
	"pid:020478204",
	"byr:1945 hcl:#7d3b0c",
	"cid:239 eyr:2025 hgt:188cm",
	"ecl:grn",
	"iyr:2012",
	"",
	"eyr:2026 pid:202653345",
	"byr:1988",
	"hcl:#2cdc09",
	"hgt:185cm iyr:2010",
	"ecl:hzl",
	"",
	"hgt:183cm iyr:2017",
	"hcl:#18171d byr:1977 eyr:2029 pid:804559436 ecl:grn",
	"",
	"hcl:#602927 pid:812072269 hgt:170cm eyr:2026 byr:1955 iyr:2020 ecl:gry",
	"",
	"eyr:2023 iyr:2010",
	"hcl:#cfa07d pid:592419048 byr:1943",
	"ecl:brn",
	"hgt:172cm",
	"",
	"ecl:brn iyr:2013 pid:558179058",
	"hcl:#fffffd eyr:2022",
	"byr:1922",
	"cid:331 hgt:64in",
	"",
	"ecl:xry",
	"hcl:ade850 eyr:1995 pid:976028541",
	"iyr:2030 hgt:179cm",
	"byr:2030",
	"",
	"ecl:#2872b1 pid:158cm eyr:1927 hcl:ee8e92",
	"iyr:2014 hgt:190cm",
	"byr:2025",
	"",
	"hgt:155cm cid:283 eyr:2020 ecl:blu pid:755165290 byr:1936 hcl:#733820 iyr:2012",
	"",
	"eyr:2030",
	"byr:1943",
	"cid:323 pid:906418061 hgt:157cm ecl:amb iyr:2010",
	"hcl:#7d3b0c",
	"",
	"hcl:#fffffd",
	"pid:873200829 hgt:192cm eyr:2022 ecl:blu iyr:2016 byr:1920 cid:200",
	"",
	"eyr:2021",
	"byr:1963",
	"hcl:#a97842 pid:585551405",
	"iyr:2019 cid:91",
	"ecl:brn hgt:60cm",
	"",
	"byr:1946",
	"pid:520273609 hcl:#341e13 cid:66",
	"iyr:2020 hgt:154cm eyr:2024",
	"ecl:brn",
	"",
	"ecl:brn hcl:#d64d7b eyr:2020",
	"byr:1957 hgt:181cm iyr:2019 pid:378496967 cid:135",
	"",
	"pid:002446580",
	"eyr:2027 byr:1939 hcl:#888785",
	"iyr:2011 cid:168",
	"ecl:oth hgt:160cm",
	"",
	"iyr:2019 hgt:70in hcl:#7d3b0c byr:1983",
	"eyr:2024 pid:369493064 cid:54 ecl:oth",
	"",
	"iyr:1979 pid:170cm",
	"hgt:65cm eyr:1933 hcl:z",
	"",
	"ecl:zzz pid:193cm hcl:z eyr:2020 byr:2013 iyr:2016 hgt:177in",
	"",
	"iyr:2010 hgt:187cm",
	"byr:1932",
	"hcl:z ecl:oth pid:665967850 eyr:2030",
	"",
	"eyr:2029",
	"iyr:2013 hcl:#b6652a ecl:amb",
	"byr:1936 pid:516025566",
	"hgt:181cm",
	"",
	"hcl:#c0946f pid:238825672 byr:2000",
	"iyr:2013 eyr:2028 ecl:amb hgt:183cm",
	"",
	"eyr:2021 hcl:#866857",
	"cid:77 iyr:2017 hgt:156cm pid:271118829 ecl:amb",
	"",
	"iyr:2014",
	"hcl:#fffffd",
	"cid:321 hgt:159cm ecl:gry",
	"pid:691381062 eyr:2022 byr:1991",
	"",
	"pid:111506492 hcl:#c1d296 iyr:2011",
	"byr:1934 hgt:176cm cid:263 eyr:2028 ecl:amb",
	"",
	"iyr:2014 hgt:64in eyr:2024 cid:193 hcl:#b6652a byr:1967",
	"ecl:oth pid:138677174",
	"",
	"hgt:168cm iyr:2020 eyr:2030",
	"hcl:#6b5442 ecl:brn pid:975843892 byr:1927",
	"",
	"byr:1957 ecl:amb iyr:2012 pid:177266671 eyr:2026",
	"hcl:#866857 hgt:162cm",
	"",
	"eyr:2029",
	"hcl:#341e13",
	"hgt:175cm pid:465809700 ecl:amb byr:1974",
	"iyr:2010",
	"",
	"hcl:#a97842 iyr:2010",
	"hgt:176cm eyr:2029 byr:1931 ecl:grt pid:161604244",
	"",
	"eyr:2024 iyr:2018 hgt:170in byr:1959 ecl:gmt hcl:#888785",
	"pid:94163132",
	"",
	"iyr:2011",
	"hgt:186cm pid:998471478 byr:1956 ecl:amb",
	"eyr:2029",
	"hcl:#efcc98",
	"cid:76",
	"",
	"ecl:brn",
	"byr:2001 pid:378527883 iyr:2013 hcl:#83bdc5 eyr:2020 hgt:181cm",
	"",
	"iyr:2017 ecl:grn hgt:172cm hcl:#888785 cid:100",
	"eyr:2022 byr:2030",
	"pid:311562177",
	"",
	"pid:097558436",
	"cid:141 hgt:152cm iyr:2019",
	"ecl:brn eyr:2023",
	"byr:1940",
	"hcl:#6b5442",
	"",
	"iyr:2016 eyr:2023 byr:1992",
	"hgt:174cm ecl:amb",
	"pid:691291640 cid:190 hcl:#fffffd",
	"",
	"hcl:#623a2f ecl:brn",
	"eyr:2028 cid:227 iyr:2012 hgt:74in pid:964273950 byr:1965",
	"",
	"hcl:#ceb3a1 eyr:2028",
	"iyr:2013 pid:175294029 hgt:150cm ecl:grn",
	"byr:1936",
	"cid:143",
	"",
	"byr:1935 hcl:#a97842 ecl:oth hgt:180cm iyr:2019",
	"pid:857891916",
	"eyr:2026",
	"",
	"pid:084518249 ecl:hzl eyr:2027 hcl:#c0946f hgt:192cm cid:315 byr:1961",
	"iyr:2010",
	"",
	"hgt:67cm pid:37925169 eyr:2022",
	"hcl:z iyr:2012 cid:315 byr:2028 ecl:dne",
	"",
	"hcl:#c0946f byr:1924",
	"hgt:176cm cid:87 pid:682212551 iyr:2011",
	"eyr:2026",
	"ecl:gry",
	"",
	"hgt:181cm byr:1935",
	"iyr:2018 pid:644964785",
	"eyr:2026 ecl:amb",
	"",
	"pid:789810179",
	"ecl:gry eyr:2021",
	"cid:159 hgt:185cm iyr:2020 hcl:#602927",
	"byr:1965",
	"",
	"pid:672386364",
	"iyr:2013 eyr:2021 byr:1951 hcl:#341e13",
	"ecl:gry hgt:173cm",
	"",
	"hcl:#18171d eyr:2030 pid:957722245 iyr:2012 byr:1955",
	"ecl:grn",
	"hgt:154cm",
	"",
	"byr:1955 ecl:oth",
	"hcl:#cfa07d",
	"eyr:2030",
	"iyr:2013 pid:361945273 hgt:154cm",
	"",
	"iyr:2012 eyr:2027 ecl:grn hcl:#16d373",
	"hgt:192cm",
	"",
	"pid:275525273",
	"byr:1986",
	"iyr:2017",
	"eyr:2022",
	"ecl:grn",
	"hgt:75in",
	"hcl:#919cc0",
	"",
	"eyr:2029",
	"cid:84 hcl:#cfa07d iyr:2013 hgt:78",
	"ecl:brn",
	"byr:1925 pid:281331549",
	"",
	"eyr:2027",
	"cid:219 iyr:2016 byr:1971 hcl:#7d3b0c hgt:179cm ecl:grn",
	"pid:301296222",
	"",
	"eyr:2030 iyr:2010 pid:995982765",
	"byr:1926 ecl:amb hcl:#888785 hgt:186cm",
	"",
	"byr:1955 iyr:2015 hgt:165cm cid:101",
	"eyr:2027 ecl:amb hcl:#602927",
	"pid:168654790",
	"",
	"hcl:#7d3b0c byr:1956 eyr:2029 hgt:155cm",
	"ecl:grn pid:816685992",
	"iyr:2016",
	"",
	"ecl:grn hcl:#cfa07d cid:71",
	"pid:914724136 iyr:2012 eyr:2024",
	"hgt:184cm byr:1938",
	"",
	"ecl:gry",
	"eyr:2029 hcl:#602927 pid:255062643 iyr:2015 hgt:175cm",
	"",
	"hcl:#341e13 iyr:2017 eyr:2028",
	"pid:459704815 byr:1922",
	"cid:312",
	"ecl:brn hgt:152cm",
	"",
	"ecl:dne eyr:1981",
	"pid:8356519470 hgt:176 iyr:1941 byr:2006 hcl:z",
	"",
	"ecl:amb pid:753377589 hcl:#a97842 eyr:2022 hgt:187cm",
	"cid:130 iyr:2013 byr:1961",
	"",
	"pid:952444443",
	"hcl:#bde835 byr:1963 iyr:2020 eyr:2025",
	"ecl:amb hgt:162cm",
	"",
	"eyr:2027 iyr:2018 hcl:#ceb3a1 hgt:152cm pid:882429463 ecl:blu byr:1969",
	"",
	"cid:134 eyr:2021 hcl:#a97842 hgt:63in",
	"ecl:grn byr:1975 iyr:2019 pid:154078695",
	"",
	"byr:1956 eyr:2027",
	"pid:396230480 hcl:#b6652a",
	"hgt:175cm iyr:2020 ecl:oth",
	"",
	"ecl:grn",
	"cid:263 hcl:#506937 byr:1924",
	"eyr:2030 pid:705511368 hgt:159cm",
	"iyr:2011",
	"",
	"eyr:2020 hgt:178cm ecl:grn",
	"byr:1947 hcl:#888785",
	"pid:177476829 iyr:2019",
	"",
	"ecl:hzl cid:211 iyr:2016 hgt:176cm pid:405182470",
	"byr:1952",
	"hcl:#866857 eyr:2028",
	"",
	"eyr:2032 cid:152 ecl:gmt hgt:150in",
	"pid:75969209",
	"byr:2019 hcl:z iyr:1940",
	"",
	"hcl:#fffffd hgt:193cm pid:607407479 cid:300 byr:1944 iyr:2017",
	"ecl:oth",
	"eyr:2026",
	"",
	"hcl:z",
	"cid:125 eyr:2040 ecl:dne byr:2015 pid:733096171 hgt:63cm",
	"iyr:1922",
	"",
	"pid:575721428 hgt:152cm cid:275",
	"hcl:#cfa07d eyr:2028",
	"byr:1935 ecl:hzl iyr:2016",
	"",
	"iyr:2012",
	"ecl:grn eyr:2027 hcl:#623a2f pid:029106453 byr:1984 hgt:168cm",
	"",
	"ecl:blu cid:140 eyr:2028 iyr:2018 hcl:#c0946f",
	"hgt:163cm byr:1944",
	"pid:709288293",
	"",
	"byr:1936",
	"hgt:172cm eyr:1997 hcl:#8b8c88 cid:50",
	"iyr:2016 pid:205477922 ecl:grn",
	"",
	"hgt:170cm pid:872750582 eyr:2027 byr:1985 iyr:2017 hcl:#d6976a ecl:blu",
	"",
	"hgt:163cm",
	"pid:189634089 cid:116 byr:1975 eyr:2030",
	"hcl:#efcc98 ecl:brn iyr:2020",
	"",
	"ecl:amb byr:1953 hcl:#6b5442 pid:418787965",
	"iyr:2018 hgt:193cm",
	"eyr:2026",
	"",
	"ecl:#3ec898 cid:339 hcl:#866857 eyr:2025 hgt:179cm pid:591430028 iyr:1936 byr:1995",
	"",
	"pid:285371937 hgt:159cm",
	"byr:1922",
	"iyr:2013 eyr:2023 hcl:#6b5442 ecl:amb",
	"",
	"pid:545260883 ecl:oth",
	"hgt:163cm",
	"iyr:2015 eyr:2021 byr:1975 hcl:#866857",
	"",
	"ecl:hzl hgt:182cm pid:053762098 eyr:2023 cid:174 hcl:#6daac4 iyr:2017 byr:1937",
	"",
	"hgt:178cm iyr:2015 byr:1956 pid:815359103",
	"ecl:blu hcl:#cfa07d eyr:2030",
	"",
	"hcl:#7d3b0c",
	"pid:438108851 hgt:162cm byr:1930 iyr:2014 eyr:2024 ecl:amb",
	"",
	"eyr:2027 iyr:2019 hcl:#90eb1c hgt:178cm",
	"pid:314810594 cid:278 ecl:amb",
	"byr:2001",
	"",
	"byr:1949 iyr:1942 hcl:#888785 ecl:hzl hgt:184cm eyr:2027 pid:899137640",
	"",
	"hgt:153cm",
	"eyr:2022 iyr:2011 byr:1975",
	"hcl:#602927",
	"ecl:amb pid:178cm",
	"",
	"hcl:#6b5442",
	"ecl:amb iyr:2018 eyr:2025 pid:418735327 byr:1922 hgt:74in",
	"",
	"ecl:gmt hcl:z iyr:2024",
	"eyr:1988 hgt:75cm cid:125 pid:690872200 byr:1928",
	"",
	"eyr:2024 hgt:184cm",
	"pid:4634589837 ecl:zzz iyr:2022 byr:2000 hcl:89c187",
	"",
	"iyr:2017 byr:1966 hcl:#efcc98 ecl:brn pid:473085232 eyr:2021 hgt:174cm",
	"",
	"hgt:67in eyr:2030 iyr:2014 byr:1943 hcl:#602927 cid:344",
	"ecl:oth",
	"pid:210476779",
	"",
	"byr:1955",
	"ecl:oth",
	"hgt:193cm iyr:2012 hcl:#623a2f pid:818289829 eyr:2021",
	"",
	"byr:2018 ecl:#872a51 iyr:2024 hcl:97783d",
	"pid:155cm hgt:174cm",
	"eyr:1964",
	"",
	"hcl:#6b5442 hgt:157cm byr:1932 ecl:brn pid:4275535874",
	"eyr:2024 iyr:2015",
	"",
	"pid:959861097",
	"hgt:151cm cid:140 byr:1935",
	"eyr:2029",
	"iyr:2018 ecl:hzl",
	"hcl:#623a2f",
	"",
	"hgt:181cm pid:911791767 eyr:2027",
	"iyr:2016 byr:1962",
	"ecl:grn hcl:#866857",
	"",
	"eyr:2021",
	"byr:1994",
	"hgt:162cm hcl:#866857 ecl:oth iyr:2014",
	"pid:712345689",
	"",
	"hcl:#7d3b0c",
	"hgt:170cm pid:600132416 eyr:2025",
	"iyr:2016 byr:1978 ecl:brn",
	"",
	"hcl:#0a9307",
	"cid:287 byr:1940 pid:786271493",
	"eyr:2028 hgt:186cm",
	"iyr:2019 ecl:oth",
	"",
	"eyr:2025 hgt:190cm ecl:hzl cid:228 iyr:2019",
	"byr:1932",
	"hcl:#623a2f pid:648307551",
	"",
	"pid:304587325 iyr:2019 byr:1923 hcl:#7d3b0c",
	"hgt:190cm",
	"ecl:gry eyr:2030",
	"",
	"hgt:188cm eyr:2027 byr:1958 pid:572934921",
	"hcl:#888785 ecl:hzl iyr:2010",
	"",
	"iyr:2019",
	"hgt:178cm ecl:grn hcl:#7d3b0c pid:007601227",
	"byr:1975 eyr:2023",
	"",
	"pid:808872803 byr:1929",
	"ecl:grn",
	"eyr:2022 iyr:2019 hgt:74in hcl:#602927",
	"",
	"iyr:2019",
	"cid:67 hcl:#602927 pid:292601338 ecl:hzl",
	"byr:2001 eyr:2023 hgt:171cm",
	"",
	"byr:1962 eyr:2022 hcl:#b6652a hgt:193cm",
	"ecl:oth",
	"iyr:2010",
	"",
	"hgt:70in iyr:2014 hcl:#a97842",
	"cid:169 eyr:2020 ecl:amb",
	"pid:329751670 byr:1959",
	"",
	"byr:1920",
	"ecl:oth hgt:172cm cid:57 pid:515139276",
	"eyr:2030",
	"hcl:#18171d",
	"iyr:2013",
	"",
	"iyr:2012",
	"hcl:#a97842 pid:946040810 hgt:65in",
	"byr:1936 ecl:amb eyr:2020",
	"",
	"byr:1948 hcl:#18171d",
	"iyr:2019",
	"ecl:hzl cid:185",
	"eyr:2023",
	"pid:583625200 hgt:191cm",
	"",
	"hgt:154cm eyr:2022",
	"pid:460137392 iyr:2010",
	"ecl:grn",
	"hcl:#ceb3a1",
	"",
	"eyr:2024",
	"iyr:2016 pid:890698391 hgt:172cm hcl:#a97842 cid:271 ecl:oth byr:1926",
	"",
	"hgt:162cm pid:340904964 hcl:#b6652a",
	"byr:1966",
	"iyr:2010",
	"cid:260 eyr:2028",
	"ecl:amb",
	"",
	"byr:1933 eyr:2029 pid:642043350",
	"iyr:2016 hcl:#b6652a ecl:grn",
	"",
	"pid:602218620 eyr:2023 ecl:blu",
	"hcl:#623a2f",
	"byr:1950 hgt:168cm iyr:2015",
	"",
	"ecl:gry pid:490792384",
	"byr:1974",
	"hcl:#a97842 iyr:2016 hgt:170cm",
	"",
	"iyr:2020 ecl:gry byr:2002",
	"eyr:2029 hcl:#9f45c4",
	"hgt:155cm pid:604239618",
	"",
	"hgt:190cm pid:560653271 iyr:2020 cid:349",
	"eyr:2024 ecl:blu hcl:#efcc98 byr:1936",
	"",
	"eyr:2021 byr:1964 hcl:#efcc98 ecl:grn iyr:2018",
	"hgt:165cm pid:218376636",
	"",
	"pid:186217101",
	"iyr:2019 hgt:155cm",
	"byr:2017 eyr:2022 ecl:grn cid:349 hcl:ece72e",
	"",
	"iyr:2015",
	"eyr:2026 pid:802832833",
	"hcl:#888785 hgt:190cm ecl:brn",
	"byr:1952",
	"cid:202",
	"",
	"cid:151 iyr:2017 hgt:152cm hcl:#a97842 eyr:2020 ecl:hzl",
	"pid:554959609 byr:1941",
	"",
	"cid:116",
	"iyr:2019 hgt:159cm byr:1992 pid:662111811",
	"hcl:#18171d ecl:oth eyr:2024",
	"",
	"ecl:grn byr:1966",
	"iyr:1950 pid:585351486",
	"eyr:2038 hgt:178in hcl:a27d2b",
	"",
	"iyr:2014 cid:238 hgt:187cm pid:523401750 ecl:amb hcl:#18171d eyr:2023 byr:1984",
	"",
	"eyr:2021 byr:1957",
	"pid:340752324",
	"iyr:2015 hgt:157cm",
	"hcl:#602927 cid:70",
	"ecl:oth",
	"",
	"pid:458479816 ecl:hzl",
	"eyr:2022 hcl:z",
	"hgt:60cm",
	"byr:2012 iyr:2005",
	"",
	"cid:57",
	"hgt:154cm pid:446142864",
	"hcl:#341e13 byr:1968 eyr:2030",
	"iyr:2019",
	"ecl:brn",
	"",
	"eyr:2028",
	"pid:243811429 byr:1977",
	"iyr:2011 hcl:#18171d hgt:185cm ecl:oth",
	"",
	"cid:205 byr:1976 eyr:2029 pid:649877471 hcl:#cfa07d hgt:152cm",
	"ecl:blu",
	"iyr:2013",
	"",
	"iyr:2009 pid:559014976 ecl:oth hgt:189cm byr:1936 eyr:2037",
	"hcl:#efcc98",
	"",
	"pid:134378987 byr:1983 iyr:2013 hgt:173cm",
	"ecl:oth hcl:#ceb3a1",
	"cid:80",
	"eyr:2020",
	"",
	"hgt:151cm byr:1964 ecl:grn iyr:2010 hcl:#b6652a pid:939492531",
	"eyr:2028",
	"",
	"byr:1961 iyr:2014 hcl:#733820 hgt:179cm",
	"eyr:2026 ecl:gry pid:732892920",
	"",
	"iyr:2018 byr:1996",
	"pid:944007809 ecl:hzl",
	"hcl:#866857 eyr:2021",
	"hgt:155cm",
	"",
	"pid:374875696 hcl:#7d3b0c",
	"ecl:oth",
	"hgt:193cm byr:1948 cid:238",
	"iyr:2020",
	"",
	"pid:305782299 hcl:#b6652a",
	"ecl:brn",
	"hgt:172cm",
	"iyr:2018 byr:1927",
	"",
	"pid:945869114 cid:95 byr:1989 hgt:173cm eyr:2025 hcl:#b6652a iyr:2012 ecl:amb",
	"",
	"pid:55484149",
	"eyr:1958",
	"iyr:1956 ecl:grn",
	"cid:95 byr:2028",
	"hcl:c2af7e",
	"",
	"hgt:176cm ecl:amb",
	"hcl:#a97842 eyr:2029 pid:937928270",
	"cid:251",
	"byr:1978",
	"iyr:2018",
	"",
	"hgt:154cm",
	"cid:213 pid:767329807 ecl:hzl",
	"iyr:2013",
	"hcl:#888785",
	"eyr:2026 byr:1998",
	"",
	"cid:158 hcl:#b6652a hgt:155cm iyr:2010 eyr:2025",
	"byr:1980 pid:338567803 ecl:amb",
	"",
	"hcl:#efcc98 byr:1940 hgt:62in ecl:oth pid:537307591",
	"eyr:2030",
	"iyr:2017",
	"cid:179",
	"",
	"byr:1965 eyr:2027 pid:691913618 hgt:75in",
	"hcl:#6b5442 ecl:gry iyr:2012",
	"",
	"hgt:163cm byr:1964 eyr:2025",
	"iyr:2010 hcl:#ceb3a1 ecl:oth",
	"pid:936536544",
	"",
	"pid:712946803",
	"cid:343",
	"hgt:187cm ecl:oth iyr:2020 byr:1983 eyr:2030",
	"hcl:#7873b3",
	"",
	"ecl:blu",
	"iyr:2010",
	"hcl:#fffffd",
	"eyr:2030",
	"hgt:175cm pid:047567505 byr:1963",
	"",
	"ecl:gry byr:1946 eyr:2026 hcl:#602927",
	"hgt:164cm",
	"iyr:2010",
	"",
	"pid:223378458",
	"iyr:2014 cid:151 ecl:hzl hgt:171cm",
	"eyr:2020",
	"hcl:#341e13 byr:1964",
	"",
	"ecl:brn byr:1948",
	"hcl:#866857",
	"hgt:193cm eyr:2024",
	"iyr:2013 cid:277",
	"",
	"hcl:#623a2f byr:1943 iyr:2011 ecl:oth",
	"hgt:184cm",
	"pid:371604584 eyr:2024 cid:176",
	"",
	"hcl:#efcc98",
	"eyr:2025 pid:241834382",
	"hgt:178cm",
	"byr:1985",
	"iyr:2017",
	"",
	"hcl:#c0946f",
	"byr:1996 pid:701366586 eyr:2026 hgt:163cm iyr:2015 ecl:oth",
	"",
	"hgt:65cm hcl:#18171d",
	"eyr:2024 ecl:brn pid:172cm",
	"iyr:2010",
	"byr:1990",
	"",
	"hcl:#fffffd pid:68659204 hgt:161cm iyr:2025",
	"ecl:#94b8aa byr:2021 eyr:2032",
	"",
	"ecl:blu iyr:2018 byr:1993 cid:184",
	"hgt:177cm pid:289871693 hcl:#733820 eyr:2026",
	"",
	"cid:138",
	"ecl:gry hgt:174cm eyr:2024 byr:1988 iyr:2014 hcl:#341e13 pid:864852584",
	"",
	"cid:321 eyr:2028 pid:93285596 hgt:173cm",
	"iyr:2013 ecl:gry hcl:#623a2f",
	"byr:1927",
	"",
	"pid:431242259 eyr:2022 ecl:hzl",
	"byr:1960 hgt:151cm hcl:#efcc98 iyr:2020",
	"",
	"hcl:#866857 eyr:2029 iyr:2016 ecl:grn pid:526060780 byr:1929",
	"cid:310 hgt:162cm",
	"",
	"ecl:blu hgt:183cm cid:168",
	"iyr:2015",
	"eyr:2021 byr:1951 hcl:#6b5442",
	"pid:594960553",
	"",
	"hcl:#ceb3a1",
	"iyr:2020 byr:1951 hgt:186cm eyr:2022 ecl:amb pid:317661479",
	"",
	"iyr:2016",
	"hgt:163in hcl:#accfa0",
	"ecl:brn",
	"pid:307377995 byr:2000 eyr:2028",
	"",
	"pid:933380459",
	"byr:1938",
	"cid:291 hcl:#c0946f",
	"ecl:oth iyr:2018",
	"eyr:2026 hgt:170cm",
	"",
	"byr:1974",
	"pid:262927116 eyr:2027 ecl:gry",
	"hcl:#341e13 iyr:2014 cid:232 hgt:161cm",
	"",
	"hcl:#602927",
	"byr:2001 iyr:2011",
	"hgt:177cm eyr:2028 pid:165733929 ecl:amb",
	"",
	"byr:1922 cid:144 pid:333716867 hgt:183cm iyr:2015",
	"hcl:#c25ea9 eyr:2022 ecl:blu",
	"",
	"eyr:2021 cid:147 byr:1978",
	"iyr:2020 pid:938828535",
	"hcl:#7d3b0c ecl:amb hgt:159cm",
	"",
	"hgt:153cm ecl:hzl",
	"cid:232 byr:1953 hcl:#a97842 iyr:2016 pid:356632792 eyr:2029",
	"",
	"pid:745727684 ecl:gry iyr:2020",
	"hcl:#a97842",
	"eyr:2025 cid:275",
	"hgt:65in",
	"byr:1957",
	"",
	"hcl:#733820",
	"ecl:grn iyr:2019 byr:1943 eyr:2024 hgt:70in",
	"pid:953607814",
	"",
	"ecl:gry eyr:2028 hcl:#cfa07d",
	"hgt:163cm",
	"byr:1942 iyr:2019 pid:310104177",
	"",
	"hgt:190cm",
	"eyr:2027 iyr:2010 byr:1978",
	"ecl:gry",
	"hcl:#964ba7",
	"",
	"cid:320",
	"eyr:2022 hgt:169cm",
	"ecl:blu hcl:#a97842 iyr:2015 pid:669007078 byr:1986",
	"",
	"iyr:2019 pid:901370677 hcl:7f2398 cid:305",
	"ecl:amb eyr:2011 hgt:190cm byr:1991",
	"",
	"ecl:brn",
	"cid:256 byr:1987 iyr:2017 eyr:2026 hcl:#623a2f pid:875646528",
	"hgt:160cm",
	"",
	"byr:1955 pid:120131971 hcl:#18171d",
	"hgt:156cm",
	"ecl:blu",
	"iyr:2011 eyr:2028",
	"",
	"iyr:2020 ecl:brn cid:188",
	"hgt:157cm",
	"eyr:2026",
	"pid:504067323 hcl:#733820 byr:1982",
	"",
	"cid:102 hgt:177cm",
	"hcl:#733820 ecl:hzl byr:1984 pid:542750146 eyr:2028 iyr:2020",
	"",
	"pid:419639528 iyr:2013 hgt:175cm ecl:blu",
	"eyr:2026 byr:1999 hcl:#733820",
	"",
	"byr:1963 eyr:2020",
	"pid:683641152 ecl:gry cid:207 hgt:180cm",
	"hcl:#cfa07d",
	"iyr:2020",
	"",
	"hgt:192cm pid:156436859 iyr:2020 hcl:#cfa07d",
	"ecl:blu byr:1963 eyr:2025 cid:147",
	"",
	"eyr:2002",
	"hcl:z iyr:2011",
	"pid:6830168962",
	"hgt:156in cid:288 byr:2029",
	"",
	"eyr:2021",
	"pid:277739802 byr:1992 ecl:hzl iyr:2020",
	"hcl:#7c5fe8 hgt:184cm",
	"",
	"byr:1989 pid:066973099",
	"iyr:2017",
	"eyr:2022 ecl:hzl hcl:#888785 hgt:76in",
	"",
	"hcl:#866857",
	"iyr:2016 cid:306",
	"ecl:hzl",
	"pid:453816800 byr:1971 hgt:71in eyr:2030",
	"",
	"pid:248573931 hcl:#cfa07d",
	"iyr:2014 eyr:2024 hgt:186cm byr:1970 cid:128 ecl:blu",
	"",
	"pid:172567579 ecl:brn iyr:2014 byr:1948 cid:309",
	"hgt:151cm hcl:#888785 eyr:2024",
	"",
	"hgt:153cm eyr:2026 byr:1929 ecl:hzl pid:684760742",
	"hcl:#c45e93 iyr:2018",
	"",
	"pid:#d50a43",
	"iyr:1940",
	"ecl:#7880a9 byr:2018 hcl:dc2fa7 hgt:185in eyr:1978",
	"",
	"hcl:#602927 cid:71 eyr:2020",
	"pid:620634584 hgt:157cm byr:1991",
	"iyr:2020 ecl:amb",
	"",
	"eyr:2023",
	"byr:1959 iyr:1947 hgt:152cm ecl:#503286 pid:63978523 hcl:57dd0d",
	"",
	"hgt:190cm",
	"byr:1955 ecl:blu",
	"pid:507892696",
	"hcl:#9bd1f0 eyr:2029",
	"iyr:2010",
	"",
	"pid:365539813",
	"eyr:2022 hcl:#623a2f iyr:2020 hgt:184cm",
	"ecl:oth byr:1920 cid:213",
	"",
	"cid:50 ecl:oth pid:774859218 hgt:193cm",
	"iyr:2017 byr:1925 hcl:#866857",
	"eyr:2021",
	"",
	"hgt:189cm",
	"iyr:2019 byr:1937",
	"hcl:#a97842",
	"eyr:2025 ecl:oth",
	"pid:787390180",
	"",
	"iyr:2019 eyr:2027 hgt:183cm",
	"ecl:hzl pid:549757712",
	"byr:1956",
	"hcl:#866857",
	"",
	"pid:755580715",
	"hcl:#602927 hgt:187cm iyr:2017 byr:1925 eyr:2020 ecl:blu",
	"",
	"iyr:2019 hgt:69in",
	"ecl:amb",
	"hcl:#602927 eyr:2026",
	"pid:951019647 byr:1974",
	"",
	"byr:1943 eyr:2034 hgt:150 pid:#36aedf ecl:oth",
	"hcl:z",
	"",
	"eyr:2024",
	"ecl:hzl pid:824745692 iyr:2012 hcl:06ab6e",
	"byr:1944",
	"hgt:159cm",
	"cid:183",
	"",
	"hgt:169cm ecl:blu",
	"eyr:2030 iyr:2013 byr:1945 pid:791359040 hcl:#7d3b0c",
	"",
	"iyr:2018",
	"ecl:hzl hgt:152cm",
	"hcl:#18171d eyr:2026 byr:1924 pid:534667048",
	"",
	"eyr:2029 pid:933295825",
	"iyr:2011",
	"hcl:#cfa07d byr:1981",
	"hgt:164cm ecl:grn",
	"",
	"ecl:amb byr:1964 iyr:2018",
	"pid:014457573",
	"cid:152",
	"eyr:2028 hgt:171cm hcl:#866857",
	"",
	"hgt:167cm",
	"byr:1974 iyr:2012 ecl:amb pid:512315114",
	"cid:278",
	"eyr:2028 hcl:#623a2f",
	"",
	"hgt:153cm ecl:oth iyr:2012",
	"eyr:2027 hcl:#888785 byr:1999 pid:416990697",
	"",
	"eyr:2025 ecl:blu byr:1991 hcl:#866857",
	"hgt:189cm pid:546461828",
	"",
	"iyr:2016",
	"byr:1988",
	"hgt:160cm eyr:2025 ecl:amb hcl:#602927",
	"pid:562766105",
	"",
	"ecl:oth byr:1942",
	"hcl:#341e13 pid:564975864 cid:158",
	"hgt:159cm eyr:2028",
	"iyr:2018",
	"",
	"pid:406209763 hgt:170cm cid:331",
	"iyr:2018 eyr:2026 byr:1981",
	"hcl:#733820 ecl:gry",
	"",
	"pid:279164109 ecl:oth",
	"cid:197 hcl:#7d3b0c",
	"eyr:2024",
	"hgt:185cm iyr:2020 byr:1925",
	"",
	"hcl:#efcc98 ecl:hzl",
	"cid:92 hgt:190cm pid:724466265 iyr:2020",
	"eyr:2025 byr:1996",
	"",
	"byr:1996",
	"cid:55 pid:906572505 ecl:grn eyr:2022 hcl:#602927 hgt:160cm iyr:2014",
	"",
	"eyr:2028 hcl:#b6652a ecl:hzl hgt:186cm iyr:2016 pid:132872161 byr:1932",
	"",
	"hcl:#fffffd iyr:2019 eyr:2020 hgt:188cm",
	"byr:1951 ecl:brn",
	"pid:842126902",
	"",
	"hcl:#602927",
	"hgt:158cm",
	"eyr:2023 iyr:2010",
	"pid:681061896 byr:1977 ecl:gry",
	"",
	"iyr:2018 hgt:192cm byr:1970 cid:200 ecl:grn eyr:2027",
	"pid:164408694 hcl:#888785",
	"",
	"eyr:2029",
	"pid:447061655 iyr:2010 hcl:#341e13 ecl:oth",
	"cid:187 hgt:185cm byr:1943",
	"",
	"byr:1925 iyr:2012 eyr:2025",
	"hgt:190cm hcl:#18171d pid:017534154 ecl:brn",
	"",
	"hgt:172cm byr:1923",
	"eyr:2026 iyr:2015",
	"pid:580812884 hcl:#c0946f ecl:hzl",
	"",
	"hcl:#888785 eyr:2028",
	"byr:1952 ecl:brn pid:818889983",
	"iyr:2010 hgt:180cm",
	"",
	"eyr:2026 ecl:gry byr:1982 hgt:188cm hcl:#c0946f pid:610689703 iyr:2011",
	"",
	"eyr:2028",
	"iyr:2018",
	"pid:921660781 ecl:amb",
	"hcl:#cfa07d hgt:178cm byr:1975",
	"",
	"byr:1977 pid:667631009 iyr:2010",
	"cid:86 eyr:2022 hgt:189cm hcl:#7d3b0c ecl:oth",
	"",
	"pid:214679440 hgt:190cm ecl:blu iyr:2017",
	"eyr:2025 cid:292",
	"",
	"ecl:amb",
	"iyr:2017 hcl:531ad3",
	"hgt:163 pid:689027667 byr:2006 eyr:2033",
	"",
	"hgt:68in byr:1928 iyr:2010 cid:227 eyr:2023",
	"ecl:hzl pid:#87bab9 hcl:#fffffd",
	"",
	"ecl:grn byr:1940 cid:294 hgt:152cm pid:310277488",
	"iyr:2015 hcl:#18171d eyr:2030",
	"",
	"byr:1965 pid:240720987",
	"eyr:2030 ecl:oth hgt:192cm hcl:#733820",
	"iyr:2016",
	"",
	"pid:830487275",
	"ecl:blu byr:1930",
	"hcl:#b6652a iyr:2013 hgt:188cm eyr:2025",
	"",
	"hgt:177cm byr:1955 eyr:2030 ecl:amb pid:476675886 iyr:2016 hcl:#c0946f",
	"",
	"pid:152702068 iyr:2016 hcl:#b6652a",
	"cid:82 ecl:blu eyr:2029 byr:1975 hgt:161cm",
	"",
	"pid:136852264",
	"eyr:2024 cid:339 ecl:oth byr:1949 iyr:2011",
	"",
	"iyr:2020 pid:772739059",
	"eyr:2025 hgt:157cm",
	"byr:1945 ecl:brn",
	"hcl:#6b5442",
	"",
	"hcl:#18171d eyr:2022",
	"iyr:2018 ecl:grn byr:1933 pid:053763751",
	"",
	"pid:214212776 hcl:#18171d",
	"eyr:2030",
	"iyr:2020 byr:1988",
	"cid:122",
	"hgt:170cm ecl:oth",
	"",
	"pid:883116919 iyr:2018 ecl:brn byr:1938 hgt:187cm eyr:2020",
	"",
	"iyr:2020 hcl:#a97842",
	"cid:329 eyr:2025 byr:1946 pid:636649774",
	"ecl:grn hgt:158cm",
	"",
	"eyr:2023",
	"ecl:blu hgt:161cm",
	"hcl:#341e13 byr:1951",
	"iyr:2020 pid:461889565 cid:97",
	"",
	"hgt:168cm pid:492241189",
	"eyr:2029",
	"iyr:2013",
	"cid:150",
	"byr:1980 hcl:#cfa07d ecl:hzl",
	"",
	"byr:1998 ecl:gry hgt:150cm eyr:2024 pid:401735295 cid:153 hcl:#733820 iyr:2016",
	"",
	"ecl:hzl hgt:184cm iyr:2018",
	"byr:2001",
	"pid:453480077 eyr:2025 hcl:#a97842",
}
<file_sep>/day7/data.go
package main

var testinput = []string{
	"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.",
}

var input = []string{
	"drab plum bags contain 5 clear turquoise bags, 5 striped aqua bags, 4 dotted gold bags, 4 plaid chartreuse bags.",
	"faded cyan bags contain 1 dim brown bag, 5 wavy magenta bags, 3 vibrant chartreuse bags, 4 muted fuchsia bags.",
	"shiny brown bags contain 4 dark maroon bags.",
	"bright plum bags contain 3 dull tomato bags, 5 bright tan bags, 4 plaid lime bags.",
	"plaid purple bags contain 2 posh black bags.",
	"wavy turquoise bags contain 1 wavy white bag, 5 dotted maroon bags.",
	"dotted aqua bags contain 4 dotted brown bags, 4 dim plum bags.",
	"drab chartreuse bags contain 2 dark olive bags.",
	"vibrant black bags contain 5 mirrored black bags, 3 dark chartreuse bags, 2 muted salmon bags, 1 plaid coral bag.",
	"posh purple bags contain 1 faded white bag, 5 clear gray bags, 4 clear silver bags.",
	"drab coral bags contain 5 dark salmon bags.",
	"wavy silver bags contain 5 dotted turquoise bags, 3 dark bronze bags, 1 muted silver bag.",
	"plaid silver bags contain 2 plaid tomato bags.",
	"dark olive bags contain 5 faded olive bags, 5 dull chartreuse bags, 1 pale gold bag, 3 dull tomato bags.",
	"mirrored lime bags contain 3 dull purple bags, 4 light teal bags.",
	"bright green bags contain 2 pale tan bags, 5 drab tan bags.",
	"posh lavender bags contain 4 posh indigo bags, 5 mirrored brown bags.",
	"muted purple bags contain 2 posh chartreuse bags, 3 faded lime bags, 3 dim chartreuse bags, 2 striped fuchsia bags.",
	"drab gray bags contain 1 striped indigo bag, 2 dim coral bags.",
	"posh olive bags contain 1 dim tomato bag, 4 light gray bags.",
	"posh yellow bags contain 2 posh purple bags.",
	"clear cyan bags contain 1 dotted lime bag, 4 dark bronze bags, 5 wavy lime bags.",
	"clear olive bags contain 2 drab coral bags, 2 bright olive bags, 3 vibrant indigo bags, 1 bright cyan bag.",
	"dotted brown bags contain 2 muted tomato bags.",
	"dim lime bags contain 1 posh purple bag, 3 pale gold bags, 3 light silver bags, 1 dotted turquoise bag.",
	"drab aqua bags contain 4 dim olive bags, 1 light gray bag.",
	"wavy beige bags contain 2 striped indigo bags, 4 faded crimson bags, 4 posh coral bags.",
	"pale olive bags contain 1 muted blue bag.",
	"drab teal bags contain 2 vibrant lime bags, 3 light turquoise bags, 5 bright lavender bags.",
	"striped fuchsia bags contain 3 bright teal bags, 5 dim bronze bags, 3 faded cyan bags.",
	"dark red bags contain 3 vibrant gold bags, 5 faded bronze bags.",
	"posh cyan bags contain 2 light tan bags.",
	"light salmon bags contain 2 plaid beige bags, 2 dull chartreuse bags, 1 faded beige bag.",
	"clear indigo bags contain 4 plaid olive bags, 1 pale brown bag, 3 shiny fuchsia bags, 4 dotted tomato bags.",
	"shiny olive bags contain 5 dotted lavender bags, 5 bright maroon bags, 5 faded maroon bags.",
	"muted blue bags contain 1 dull violet bag.",
	"bright red bags contain 2 dull bronze bags, 3 pale lime bags, 1 vibrant brown bag, 5 muted magenta bags.",
	"pale violet bags contain 4 pale plum bags.",
	"muted bronze bags contain 2 mirrored gold bags, 4 plaid crimson bags, 4 light cyan bags.",
	"dim gray bags contain 4 dim tomato bags, 5 wavy magenta bags.",
	"shiny crimson bags contain 5 muted brown bags.",
	"dim indigo bags contain 3 striped beige bags, 3 clear gold bags, 2 bright gray bags.",
	"dotted turquoise bags contain 2 striped red bags.",
	"striped tan bags contain 3 light yellow bags.",
	"muted brown bags contain 3 posh black bags, 3 striped brown bags, 5 light gray bags, 2 clear white bags.",
	"clear blue bags contain 2 plaid gold bags, 5 mirrored white bags.",
	"wavy purple bags contain 1 wavy magenta bag, 1 muted aqua bag, 3 dim gray bags, 1 dim tomato bag.",
	"striped magenta bags contain 2 pale fuchsia bags, 4 light cyan bags, 2 shiny fuchsia bags.",
	"dotted teal bags contain 1 mirrored blue bag, 1 posh plum bag, 2 dull violet bags, 4 dotted brown bags.",
	"drab lavender bags contain 5 pale yellow bags, 1 clear silver bag.",
	"dull beige bags contain 4 clear chartreuse bags, 4 drab gray bags.",
	"faded indigo bags contain 1 pale cyan bag.",
	"plaid chartreuse bags contain 4 muted aqua bags, 3 dim coral bags, 3 pale gold bags.",
	"dull fuchsia bags contain 5 pale maroon bags, 2 mirrored bronze bags.",
	"drab white bags contain 4 dull orange bags.",
	"dark maroon bags contain 5 dim lavender bags.",
	"pale black bags contain 2 wavy silver bags.",
	"pale bronze bags contain 4 dim salmon bags, 5 vibrant lavender bags, 4 vibrant crimson bags, 1 bright crimson bag.",
	"mirrored cyan bags contain 3 pale lavender bags, 5 dull silver bags.",
	"dotted green bags contain 1 bright yellow bag, 5 drab fuchsia bags, 5 posh orange bags, 5 mirrored blue bags.",
	"plaid green bags contain 1 wavy tan bag, 2 clear chartreuse bags.",
	"drab beige bags contain 3 dotted lime bags, 4 clear brown bags, 2 dotted salmon bags.",
	"light turquoise bags contain 3 dotted tomato bags, 1 muted silver bag, 4 striped brown bags.",
	"light crimson bags contain 2 dark aqua bags, 4 bright violet bags, 1 mirrored olive bag, 4 mirrored violet bags.",
	"wavy maroon bags contain 2 dull teal bags, 2 pale violet bags, 5 bright aqua bags, 2 faded tan bags.",
	"dark coral bags contain 5 striped black bags.",
	"faded orange bags contain 3 clear silver bags, 2 vibrant tomato bags.",
	"dotted olive bags contain 5 clear gray bags, 5 striped indigo bags, 5 dim gray bags, 5 posh plum bags.",
	"shiny salmon bags contain 2 wavy fuchsia bags, 4 striped gold bags, 5 wavy coral bags.",
	"wavy red bags contain 1 clear silver bag, 5 dotted beige bags, 1 pale cyan bag, 4 dim beige bags.",
	"light gray bags contain 3 dim coral bags, 5 striped indigo bags, 2 bright lime bags, 4 vibrant magenta bags.",
	"muted chartreuse bags contain 2 dim tomato bags, 5 dim coral bags, 3 pale yellow bags, 5 drab gray bags.",
	"pale turquoise bags contain 2 light gray bags, 3 faded salmon bags, 4 drab white bags, 3 plaid olive bags.",
	"striped turquoise bags contain 3 pale plum bags.",
	"drab cyan bags contain 3 wavy indigo bags, 3 clear white bags.",
	"dark magenta bags contain 3 muted blue bags.",
	"faded gray bags contain 1 muted green bag, 5 posh coral bags, 3 wavy magenta bags, 4 light beige bags.",
	"posh crimson bags contain 1 faded lavender bag.",
	"faded green bags contain 4 mirrored red bags, 5 plaid beige bags, 2 shiny maroon bags, 3 mirrored lime bags.",
	"mirrored silver bags contain 2 wavy gold bags, 1 clear beige bag.",
	"shiny aqua bags contain 1 bright teal bag, 4 wavy tan bags.",
	"plaid lime bags contain 2 striped indigo bags.",
	"clear beige bags contain 5 dim tomato bags, 2 plaid olive bags, 2 dark crimson bags, 5 dull turquoise bags.",
	"striped beige bags contain 2 bright white bags, 1 pale cyan bag, 3 dark bronze bags, 3 vibrant gray bags.",
	"dark indigo bags contain 2 striped plum bags.",
	"wavy coral bags contain 4 posh cyan bags, 3 muted fuchsia bags.",
	"plaid gray bags contain 2 clear maroon bags, 3 wavy beige bags, 3 light lime bags.",
	"dim yellow bags contain 2 dotted olive bags, 5 wavy magenta bags, 2 mirrored tomato bags.",
	"plaid fuchsia bags contain 3 dotted white bags, 1 dull purple bag.",
	"bright violet bags contain 1 shiny lavender bag, 3 dotted tomato bags, 4 dotted white bags, 3 mirrored olive bags.",
	"light cyan bags contain 2 posh black bags.",
	"shiny orange bags contain 2 dull purple bags, 1 dotted maroon bag, 2 dull indigo bags, 4 drab gold bags.",
	"pale purple bags contain 1 dotted magenta bag, 3 drab red bags, 1 posh lime bag, 4 muted turquoise bags.",
	"dim brown bags contain 3 dull coral bags, 1 dark tan bag, 1 pale red bag, 3 clear chartreuse bags.",
	"shiny maroon bags contain 3 mirrored indigo bags.",
	"pale tomato bags contain 2 drab gray bags, 3 shiny lavender bags, 4 clear silver bags.",
	"vibrant magenta bags contain no other bags.",
	"plaid indigo bags contain 4 dotted black bags, 1 vibrant aqua bag.",
	"striped chartreuse bags contain 2 pale orange bags, 5 pale maroon bags, 2 dim lime bags.",
	"dim coral bags contain no other bags.",
	"mirrored yellow bags contain 4 dotted tan bags, 1 dull blue bag.",
	"clear lime bags contain 4 striped violet bags, 3 striped chartreuse bags, 5 drab crimson bags.",
	"bright salmon bags contain 2 shiny plum bags, 5 faded white bags.",
	"light green bags contain 5 mirrored bronze bags, 4 dull chartreuse bags.",
	"vibrant beige bags contain 4 striped brown bags, 4 muted blue bags, 5 shiny crimson bags.",
	"plaid tan bags contain 3 pale blue bags, 5 light gray bags, 3 posh tomato bags.",
	"dull aqua bags contain 4 muted blue bags.",
	"wavy green bags contain 4 drab orange bags, 2 vibrant yellow bags, 5 faded beige bags, 3 dotted turquoise bags.",
	"muted yellow bags contain 5 pale magenta bags, 5 striped plum bags.",
	"mirrored tomato bags contain 3 pale salmon bags, 4 shiny lavender bags, 1 dark bronze bag, 2 pale blue bags.",
	"drab fuchsia bags contain 5 mirrored purple bags.",
	"drab olive bags contain 3 wavy violet bags, 3 light tan bags, 4 pale brown bags.",
	"faded brown bags contain 2 light crimson bags.",
	"vibrant white bags contain 2 pale tomato bags, 4 dotted turquoise bags, 3 pale blue bags.",
	"dotted yellow bags contain 3 clear chartreuse bags, 5 drab cyan bags, 5 striped magenta bags.",
	"posh coral bags contain 4 light tan bags, 4 pale brown bags.",
	"drab gold bags contain 2 light tan bags, 4 clear white bags.",
	"mirrored purple bags contain 3 shiny gold bags.",
	"posh green bags contain 4 wavy indigo bags, 1 dark crimson bag, 1 muted brown bag, 1 light gray bag.",
	"bright maroon bags contain 5 dotted silver bags.",
	"dim chartreuse bags contain 4 faded olive bags.",
	"bright coral bags contain 2 bright olive bags, 2 light silver bags.",
	"striped gold bags contain 1 dotted maroon bag, 4 posh maroon bags, 1 pale gold bag.",
	"light chartreuse bags contain 3 plaid blue bags, 4 shiny gold bags, 4 dull teal bags.",
	"clear salmon bags contain 5 plaid blue bags, 3 muted cyan bags, 1 mirrored tomato bag.",
	"wavy blue bags contain 2 drab turquoise bags, 5 vibrant purple bags, 3 faded indigo bags, 2 bright green bags.",
	"dark beige bags contain 4 faded crimson bags, 3 dim silver bags, 4 plaid green bags.",
	"bright gold bags contain 1 striped indigo bag, 2 dark salmon bags.",
	"posh bronze bags contain 3 dim gray bags.",
	"mirrored lavender bags contain 4 striped maroon bags, 5 light blue bags, 2 wavy coral bags, 4 faded crimson bags.",
	"pale tan bags contain 3 vibrant beige bags, 1 dark crimson bag, 1 drab brown bag, 1 bright olive bag.",
	"mirrored coral bags contain 1 clear white bag, 5 dotted beige bags, 2 dull violet bags.",
	"striped white bags contain 3 vibrant gold bags, 1 vibrant crimson bag, 5 muted indigo bags, 4 clear gold bags.",
	"plaid white bags contain 3 light gray bags, 5 drab turquoise bags, 5 dark lavender bags.",
	"clear brown bags contain 1 striped indigo bag, 1 muted cyan bag, 3 striped tomato bags, 2 bright cyan bags.",
	"pale beige bags contain 2 bright fuchsia bags, 2 dotted fuchsia bags, 3 mirrored black bags, 3 dull gold bags.",
	"shiny lavender bags contain 5 clear white bags, 3 striped brown bags.",
	"posh salmon bags contain 4 mirrored plum bags, 1 dotted purple bag, 1 striped gray bag, 1 bright green bag.",
	"posh magenta bags contain 4 dark gray bags, 3 shiny fuchsia bags, 5 dotted tomato bags, 2 posh yellow bags.",
	"striped yellow bags contain 2 faded white bags, 1 dotted lavender bag, 2 posh coral bags, 1 light yellow bag.",
	"bright tomato bags contain 4 shiny plum bags, 4 dotted olive bags, 4 clear purple bags, 2 dotted plum bags.",
	"mirrored turquoise bags contain 2 wavy beige bags, 2 dim gray bags, 5 dark indigo bags.",
	"vibrant lavender bags contain 3 pale magenta bags, 2 shiny coral bags, 4 drab white bags, 5 vibrant white bags.",
	"faded magenta bags contain 1 plaid lavender bag, 2 drab teal bags, 5 dull beige bags.",
	"dark yellow bags contain 1 mirrored gold bag, 2 dark lavender bags, 3 striped indigo bags.",
	"posh silver bags contain 1 dull purple bag, 2 plaid olive bags, 3 striped red bags.",
	"dull green bags contain 4 striped crimson bags, 5 dim coral bags, 3 vibrant aqua bags.",
	"dotted black bags contain 4 posh plum bags, 1 muted blue bag, 4 shiny beige bags, 1 dotted lime bag.",
	"light yellow bags contain 5 muted tomato bags, 3 muted fuchsia bags, 5 posh maroon bags.",
	"wavy black bags contain 3 bright white bags, 2 bright lavender bags.",
	"muted crimson bags contain 1 dark crimson bag, 4 pale salmon bags, 4 striped red bags, 2 dim tomato bags.",
	"shiny yellow bags contain 5 posh salmon bags, 3 dotted olive bags.",
	"striped olive bags contain 1 light black bag, 1 mirrored olive bag, 1 dull purple bag, 2 light orange bags.",
	"light silver bags contain 4 clear silver bags, 4 mirrored black bags, 2 clear gray bags.",
	"dull indigo bags contain 2 muted lime bags.",
	"muted indigo bags contain 4 posh lime bags, 4 dull white bags.",
	"posh red bags contain 2 posh cyan bags, 2 dull brown bags, 5 drab maroon bags.",
	"plaid brown bags contain 3 clear silver bags, 5 dim beige bags, 3 dim lime bags, 4 striped blue bags.",
	"pale green bags contain 2 shiny bronze bags, 3 mirrored plum bags, 4 light yellow bags.",
	"plaid maroon bags contain 5 plaid cyan bags, 1 drab white bag.",
	"dim teal bags contain 4 posh maroon bags, 1 dull gold bag, 4 muted coral bags.",
	"clear lavender bags contain 5 striped brown bags, 3 posh plum bags.",
	"bright yellow bags contain 5 clear tan bags, 2 striped salmon bags.",
	"clear fuchsia bags contain 3 clear coral bags, 4 muted aqua bags.",
	"muted maroon bags contain 3 dotted fuchsia bags.",
	"dark plum bags contain 3 dotted tomato bags, 5 clear violet bags, 3 vibrant magenta bags.",
	"bright magenta bags contain 2 plaid tan bags, 4 dotted purple bags, 3 wavy indigo bags.",
	"dull plum bags contain 3 muted crimson bags, 4 mirrored green bags.",
	"dull black bags contain 3 muted chartreuse bags, 1 posh cyan bag, 4 bright gray bags.",
	"posh orange bags contain 5 striped violet bags.",
	"vibrant teal bags contain 3 bright red bags, 1 wavy indigo bag, 3 pale brown bags.",
	"pale gold bags contain no other bags.",
	"faded plum bags contain 2 striped plum bags, 3 wavy maroon bags, 5 vibrant bronze bags, 4 clear green bags.",
	"shiny coral bags contain 5 dull white bags, 1 clear tan bag, 3 shiny beige bags.",
	"bright lavender bags contain 2 bright lime bags.",
	"shiny indigo bags contain 4 dull coral bags, 5 posh coral bags.",
	"muted turquoise bags contain 5 drab crimson bags, 4 drab teal bags, 3 vibrant bronze bags.",
	"pale plum bags contain 2 dull beige bags, 3 dotted turquoise bags.",
	"dull gray bags contain 3 bright salmon bags.",
	"vibrant indigo bags contain 2 mirrored bronze bags, 3 light orange bags.",
	"light lime bags contain 4 drab coral bags.",
	"pale magenta bags contain 3 dark crimson bags.",
	"clear aqua bags contain 2 plaid olive bags, 4 muted indigo bags.",
	"light gold bags contain 4 vibrant white bags, 5 faded lime bags, 3 striped brown bags, 5 dim coral bags.",
	"dull crimson bags contain 3 dim olive bags, 4 dim turquoise bags, 1 muted fuchsia bag.",
	"clear gray bags contain 3 clear white bags, 4 dark crimson bags, 4 dotted plum bags, 3 light gray bags.",
	"dotted tomato bags contain 5 mirrored blue bags, 3 dotted crimson bags.",
	"bright indigo bags contain 3 wavy lime bags, 5 dark bronze bags, 4 shiny brown bags.",
	"light lavender bags contain 1 dim fuchsia bag.",
	"clear purple bags contain 4 dark red bags, 3 clear turquoise bags.",
	"dark lavender bags contain 5 vibrant crimson bags, 1 vibrant white bag, 3 dull purple bags, 1 plaid tan bag.",
	"vibrant green bags contain 2 wavy teal bags, 2 dull orange bags, 5 plaid coral bags, 2 striped yellow bags.",
	"faded maroon bags contain 1 muted tomato bag, 3 pale gold bags, 2 muted fuchsia bags.",
	"light tomato bags contain 3 shiny fuchsia bags, 4 dull turquoise bags.",
	"light olive bags contain 4 dotted indigo bags, 3 pale coral bags.",
	"faded blue bags contain 2 light gray bags, 3 muted brown bags, 5 dim coral bags, 1 light tan bag.",
	"mirrored white bags contain 1 posh cyan bag.",
	"dull bronze bags contain 5 clear lavender bags, 4 bright olive bags, 4 dull brown bags, 2 striped black bags.",
	"vibrant coral bags contain 2 dim coral bags, 2 faded blue bags, 2 drab cyan bags.",
	"bright lime bags contain no other bags.",
	"wavy crimson bags contain 1 dim indigo bag.",
	"vibrant blue bags contain 2 posh gold bags, 3 mirrored tan bags, 3 muted green bags, 5 faded beige bags.",
	"light orange bags contain 5 posh black bags, 2 dull brown bags.",
	"striped indigo bags contain no other bags.",
	"faded lime bags contain 2 dull violet bags, 2 shiny lavender bags.",
	"dim bronze bags contain 4 mirrored blue bags.",
	"pale coral bags contain 2 clear magenta bags, 4 clear gold bags.",
	"wavy fuchsia bags contain 3 muted olive bags, 1 dull violet bag.",
	"mirrored indigo bags contain 1 clear magenta bag, 3 mirrored beige bags, 3 bright violet bags.",
	"plaid turquoise bags contain 2 muted turquoise bags.",
	"dull blue bags contain 2 dotted white bags, 5 mirrored green bags.",
	"posh white bags contain 2 pale teal bags, 4 pale green bags, 5 dim bronze bags, 5 mirrored cyan bags.",
	"mirrored teal bags contain 2 plaid blue bags, 1 drab crimson bag.",
	"clear silver bags contain 5 striped indigo bags, 2 dim plum bags, 5 muted aqua bags, 5 light tan bags.",
	"dull lime bags contain 2 plaid crimson bags, 5 light cyan bags, 1 dotted crimson bag.",
	"dull yellow bags contain 3 plaid aqua bags, 2 dim red bags.",
	"mirrored olive bags contain 4 faded blue bags, 2 posh purple bags, 1 striped brown bag.",
	"vibrant fuchsia bags contain 2 light black bags, 2 vibrant salmon bags.",
	"mirrored black bags contain 4 posh cyan bags, 1 wavy indigo bag.",
	"pale yellow bags contain 2 faded blue bags, 5 muted fuchsia bags, 2 striped brown bags.",
	"pale fuchsia bags contain 1 drab silver bag, 2 clear silver bags, 2 shiny lavender bags.",
	"drab turquoise bags contain 5 drab cyan bags, 5 plaid cyan bags, 3 wavy tan bags.",
	"vibrant red bags contain 4 mirrored beige bags, 2 wavy magenta bags, 1 light cyan bag.",
	"striped red bags contain no other bags.",
	"vibrant brown bags contain 1 dotted tomato bag, 3 vibrant magenta bags, 2 striped beige bags, 4 dull brown bags.",
	"faded chartreuse bags contain 4 light gray bags, 5 striped salmon bags, 5 dark salmon bags, 3 dull orange bags.",
	"mirrored tan bags contain 4 clear chartreuse bags.",
	"light tan bags contain no other bags.",
	"dim blue bags contain 2 dull white bags.",
	"posh tomato bags contain 3 dull indigo bags, 2 striped red bags.",
	"bright blue bags contain 3 shiny crimson bags, 4 muted brown bags, 3 dotted magenta bags, 2 pale salmon bags.",
	"faded gold bags contain 3 clear white bags, 2 dotted turquoise bags, 5 light orange bags.",
	"plaid orange bags contain 1 clear black bag, 3 striped red bags, 4 dark turquoise bags, 4 dull coral bags.",
	"shiny tan bags contain 3 dotted coral bags, 3 posh orange bags, 5 vibrant tan bags.",
	"clear plum bags contain 5 dim beige bags, 1 pale gray bag, 1 clear purple bag, 5 posh coral bags.",
	"bright turquoise bags contain 2 plaid orange bags.",
	"dotted plum bags contain 5 faded olive bags, 5 clear white bags.",
	"shiny green bags contain 4 drab maroon bags, 2 drab purple bags.",
	"plaid tomato bags contain 1 vibrant tomato bag, 2 posh coral bags, 3 faded beige bags, 2 faded chartreuse bags.",
	"wavy lime bags contain 4 striped olive bags, 1 vibrant beige bag.",
	"striped brown bags contain 4 drab gray bags, 2 clear white bags, 3 bright lime bags, 3 vibrant magenta bags.",
	"dark orange bags contain 1 wavy silver bag, 5 muted magenta bags, 1 dim yellow bag, 1 vibrant purple bag.",
	"dotted magenta bags contain 1 mirrored purple bag.",
	"bright black bags contain 5 shiny aqua bags.",
	"clear green bags contain 4 vibrant gold bags, 4 pale gold bags.",
	"drab indigo bags contain 1 bright coral bag, 5 plaid tomato bags, 3 muted chartreuse bags.",
	"shiny fuchsia bags contain 5 dim lavender bags, 2 light teal bags, 4 dim lime bags, 3 wavy purple bags.",
	"vibrant crimson bags contain 1 dim lavender bag, 5 dark tan bags, 1 dotted turquoise bag, 2 striped red bags.",
	"clear red bags contain 5 wavy magenta bags, 2 bright plum bags.",
	"dotted red bags contain 3 pale cyan bags.",
	"striped black bags contain 3 pale red bags, 1 clear beige bag, 3 dull coral bags.",
	"plaid crimson bags contain 4 wavy violet bags, 1 clear gray bag.",
	"muted silver bags contain 1 muted chartreuse bag, 2 shiny bronze bags, 1 striped brown bag, 1 posh coral bag.",
	"drab green bags contain 1 faded white bag, 5 posh orange bags, 2 dim magenta bags, 3 wavy purple bags.",
	"vibrant olive bags contain 5 dark yellow bags, 1 pale black bag, 1 drab olive bag, 5 shiny gold bags.",
	"bright cyan bags contain 2 dim tomato bags, 2 plaid brown bags, 1 bright plum bag, 5 drab lavender bags.",
	"dotted blue bags contain 2 pale tan bags, 1 striped green bag, 2 striped lime bags, 3 shiny tomato bags.",
	"faded yellow bags contain 3 posh maroon bags, 1 dull tomato bag, 2 pale cyan bags.",
	"dark black bags contain 3 shiny purple bags, 2 clear violet bags, 5 wavy brown bags.",
	"vibrant bronze bags contain 5 pale salmon bags.",
	"wavy chartreuse bags contain 1 posh turquoise bag, 1 vibrant silver bag, 3 plaid teal bags, 1 dotted salmon bag.",
	"faded black bags contain 1 light tan bag, 1 faded beige bag.",
	"dim beige bags contain 3 muted fuchsia bags, 5 striped plum bags, 1 faded violet bag, 5 clear chartreuse bags.",
	"striped plum bags contain 1 posh black bag, 2 plaid lime bags, 4 clear white bags.",
	"dotted silver bags contain 2 vibrant gray bags, 5 clear white bags, 2 vibrant tomato bags.",
	"dull salmon bags contain 4 pale plum bags, 2 pale magenta bags, 1 light gray bag.",
	"pale maroon bags contain 3 vibrant white bags.",
	"light blue bags contain 3 mirrored maroon bags.",
	"striped aqua bags contain 5 dark purple bags, 1 striped green bag, 4 mirrored coral bags.",
	"mirrored beige bags contain 1 shiny fuchsia bag, 1 dim plum bag.",
	"pale aqua bags contain 5 mirrored green bags.",
	"dim red bags contain 2 mirrored maroon bags, 4 dotted yellow bags, 5 dim tomato bags, 4 faded silver bags.",
	"light bronze bags contain 1 dim orange bag, 1 posh tomato bag, 5 mirrored white bags.",
	"plaid coral bags contain 5 vibrant tomato bags, 5 pale bronze bags, 3 dotted turquoise bags, 2 drab brown bags.",
	"dull violet bags contain 2 muted chartreuse bags.",
	"wavy teal bags contain 3 shiny plum bags, 5 dark lavender bags.",
	"wavy cyan bags contain 5 faded red bags, 4 light bronze bags, 5 shiny bronze bags, 4 dull silver bags.",
	"faded olive bags contain 4 wavy magenta bags, 1 striped red bag.",
	"drab tomato bags contain 5 plaid cyan bags, 1 plaid chartreuse bag, 1 dim tomato bag.",
	"clear chartreuse bags contain 4 striped brown bags, 2 plaid lime bags.",
	"dull olive bags contain 1 dull purple bag, 2 plaid yellow bags.",
	"dim silver bags contain 3 pale tomato bags, 1 plaid chartreuse bag.",
	"dotted coral bags contain 5 pale salmon bags, 4 dim coral bags, 4 striped fuchsia bags, 2 dim turquoise bags.",
	"bright fuchsia bags contain 4 light gold bags, 3 shiny crimson bags, 3 clear white bags.",
	"bright brown bags contain 1 vibrant tomato bag, 2 wavy teal bags, 3 dotted red bags.",
	"striped cyan bags contain 3 bright lime bags.",
	"clear turquoise bags contain 5 mirrored maroon bags.",
	"posh brown bags contain 5 vibrant silver bags, 4 bright lime bags.",
	"wavy aqua bags contain 4 wavy indigo bags, 1 faded crimson bag, 4 drab indigo bags.",
	"pale chartreuse bags contain 2 faded salmon bags.",
	"clear gold bags contain 2 faded turquoise bags, 1 shiny magenta bag.",
	"muted beige bags contain 5 mirrored indigo bags, 1 clear violet bag.",
	"light white bags contain 1 vibrant magenta bag.",
	"muted cyan bags contain 2 plaid white bags, 5 mirrored black bags, 4 pale gold bags, 5 drab magenta bags.",
	"muted teal bags contain 1 pale orange bag.",
	"vibrant cyan bags contain 2 dotted magenta bags, 1 clear tan bag.",
	"wavy white bags contain 1 faded blue bag.",
	"striped silver bags contain 5 light crimson bags, 4 clear salmon bags, 1 shiny green bag.",
	"shiny teal bags contain 1 wavy coral bag.",
	"dim black bags contain 3 vibrant silver bags, 1 clear maroon bag, 4 bright chartreuse bags.",
	"dim plum bags contain 2 posh coral bags, 3 dark crimson bags, 1 drab olive bag.",
	"wavy bronze bags contain 2 faded olive bags, 2 dim red bags, 2 pale brown bags.",
	"dim turquoise bags contain 3 dull teal bags, 5 shiny bronze bags, 2 striped orange bags, 1 dim fuchsia bag.",
	"posh lime bags contain 4 muted tomato bags, 3 muted brown bags, 1 bright olive bag.",
	"shiny cyan bags contain 3 faded purple bags, 5 wavy chartreuse bags, 4 shiny maroon bags.",
	"pale blue bags contain 2 striped turquoise bags, 2 dull turquoise bags.",
	"muted black bags contain 4 pale turquoise bags, 4 pale beige bags, 4 mirrored black bags.",
	"posh gold bags contain 1 light brown bag, 4 posh yellow bags, 5 dim violet bags.",
	"plaid olive bags contain no other bags.",
	"dotted beige bags contain 4 clear tan bags, 1 shiny fuchsia bag, 3 posh green bags, 4 wavy purple bags.",
	"dull magenta bags contain 3 muted lime bags, 5 mirrored blue bags.",
	"striped green bags contain 5 light cyan bags.",
	"dark white bags contain 2 wavy yellow bags, 5 dim salmon bags, 2 bright green bags.",
	"muted lavender bags contain 3 dotted teal bags, 5 dotted bronze bags, 2 mirrored lime bags, 5 dim fuchsia bags.",
	"dotted indigo bags contain 5 drab chartreuse bags, 1 dim lime bag, 3 plaid white bags, 2 shiny plum bags.",
	"light indigo bags contain 5 bright tan bags.",
	"faded turquoise bags contain 3 faded cyan bags, 4 dull salmon bags, 3 dark bronze bags.",
	"mirrored magenta bags contain 1 clear turquoise bag, 4 wavy plum bags.",
	"dull brown bags contain 5 dim tomato bags.",
	"plaid aqua bags contain 4 bright teal bags, 3 dim gray bags, 3 clear crimson bags, 5 clear chartreuse bags.",
	"drab red bags contain 2 plaid purple bags, 3 muted silver bags.",
	"wavy plum bags contain 3 wavy indigo bags, 3 posh cyan bags.",
	"bright aqua bags contain 1 dim magenta bag.",
	"dotted violet bags contain 4 light orange bags.",
	"wavy salmon bags contain 3 wavy turquoise bags, 1 dark lavender bag, 3 striped silver bags, 3 posh coral bags.",
	"posh beige bags contain 1 pale black bag.",
	"clear bronze bags contain 4 clear teal bags, 3 dim crimson bags.",
	"pale teal bags contain 1 dark bronze bag, 4 plaid maroon bags, 4 light magenta bags.",
	"mirrored violet bags contain 2 clear beige bags.",
	"drab blue bags contain 1 faded yellow bag.",
	"light violet bags contain 4 plaid aqua bags.",
	"vibrant chartreuse bags contain 1 mirrored beige bag.",
	"pale salmon bags contain 5 drab gray bags, 3 muted brown bags, 2 dotted plum bags.",
	"plaid violet bags contain 5 muted blue bags, 4 wavy black bags.",
	"bright tan bags contain 1 bright white bag, 4 posh cyan bags.",
	"vibrant purple bags contain 2 dark plum bags, 4 bright brown bags.",
	"drab tan bags contain 5 dull orange bags, 4 plaid fuchsia bags.",
	"dotted tan bags contain 2 drab violet bags, 1 light turquoise bag, 2 clear indigo bags.",
	"vibrant maroon bags contain 1 drab silver bag, 1 plaid plum bag.",
	"dull white bags contain 2 dotted crimson bags, 1 light orange bag, 2 dark lavender bags, 5 plaid blue bags.",
	"wavy orange bags contain 1 shiny fuchsia bag, 2 clear lavender bags.",
	"faded fuchsia bags contain 2 dim purple bags, 4 muted yellow bags, 3 muted brown bags.",
	"dim tan bags contain 1 shiny purple bag, 5 wavy magenta bags, 4 faded beige bags, 2 vibrant lime bags.",
	"bright white bags contain 1 dim plum bag, 1 light gray bag, 2 muted fuchsia bags.",
	"pale lavender bags contain 2 faded lime bags, 1 faded tan bag, 3 dotted maroon bags.",
	"dim fuchsia bags contain 2 clear lavender bags, 5 dotted red bags, 3 vibrant chartreuse bags.",
	"pale silver bags contain 5 posh black bags.",
	"faded salmon bags contain 4 light white bags, 2 plaid brown bags, 3 vibrant yellow bags.",
	"faded bronze bags contain 5 mirrored white bags, 5 striped plum bags, 4 dim magenta bags, 2 faded lime bags.",
	"shiny gray bags contain 1 striped salmon bag, 3 clear crimson bags.",
	"drab lime bags contain 5 light crimson bags.",
	"bright orange bags contain 4 plaid tomato bags, 1 mirrored bronze bag.",
	"dark crimson bags contain 5 striped red bags.",
	"dull teal bags contain 4 wavy indigo bags, 1 drab brown bag, 3 light cyan bags, 4 dotted gold bags.",
	"light maroon bags contain 2 bright violet bags, 2 dim gray bags, 3 shiny turquoise bags.",
	"faded coral bags contain 4 dark teal bags.",
	"shiny bronze bags contain 3 pale salmon bags, 3 pale plum bags.",
	"dim violet bags contain 3 vibrant magenta bags, 4 shiny bronze bags.",
	"pale red bags contain 5 drab silver bags.",
	"dark tomato bags contain 4 shiny lime bags, 5 wavy purple bags, 4 shiny blue bags, 5 drab gold bags.",
	"dull gold bags contain 5 light olive bags, 1 light gray bag.",
	"posh tan bags contain 4 dull gold bags, 3 vibrant turquoise bags, 2 plaid aqua bags, 5 dim indigo bags.",
	"bright gray bags contain 5 pale yellow bags.",
	"plaid salmon bags contain 3 shiny indigo bags.",
	"dotted bronze bags contain 5 mirrored black bags, 3 muted indigo bags, 3 faded yellow bags, 3 bright teal bags.",
	"mirrored crimson bags contain 2 pale salmon bags, 1 plaid maroon bag.",
	"wavy brown bags contain 1 drab turquoise bag, 3 posh yellow bags.",
	"muted coral bags contain 4 clear blue bags, 5 dark cyan bags.",
	"wavy yellow bags contain 2 drab brown bags, 2 striped olive bags, 1 wavy white bag.",
	"muted aqua bags contain 2 light tan bags, 2 pale yellow bags, 5 plaid lime bags.",
	"drab crimson bags contain 5 plaid cyan bags, 3 dim plum bags.",
	"vibrant yellow bags contain 2 faded maroon bags, 4 mirrored olive bags, 2 plaid red bags.",
	"faded silver bags contain 4 dim lime bags, 4 dark tomato bags, 5 muted magenta bags, 1 dotted red bag.",
	"drab violet bags contain 2 vibrant aqua bags.",
	"faded teal bags contain 2 light gold bags, 5 striped turquoise bags, 2 dim salmon bags, 2 posh tomato bags.",
	"wavy magenta bags contain 4 faded blue bags, 1 muted brown bag, 3 pale brown bags.",
	"vibrant salmon bags contain 2 posh turquoise bags, 1 dark crimson bag.",
	"bright olive bags contain 4 light teal bags, 2 vibrant lime bags, 3 dull salmon bags, 2 dull tomato bags.",
	"plaid teal bags contain 5 striped teal bags.",
	"dark cyan bags contain 3 dull brown bags, 4 posh violet bags.",
	"muted olive bags contain 1 faded blue bag, 5 dotted brown bags.",
	"dark violet bags contain 3 mirrored beige bags.",
	"drab orange bags contain 4 faded aqua bags, 1 striped red bag, 5 mirrored maroon bags.",
	"wavy gray bags contain 4 mirrored green bags.",
	"faded white bags contain 3 dim lavender bags, 3 clear silver bags.",
	"faded lavender bags contain 2 posh violet bags, 4 striped violet bags, 2 clear silver bags, 2 faded cyan bags.",
	"light red bags contain 2 bright white bags, 1 dull gray bag, 3 bright lavender bags.",
	"bright beige bags contain 3 mirrored silver bags.",
	"shiny magenta bags contain 1 light silver bag.",
	"striped teal bags contain 1 plaid lime bag, 2 clear tomato bags, 1 clear chartreuse bag.",
	"dim olive bags contain 5 pale white bags, 5 wavy black bags, 4 faded magenta bags, 4 dark red bags.",
	"dull tan bags contain 3 dark lavender bags, 5 faded violet bags.",
	"striped purple bags contain 5 wavy violet bags, 5 light gold bags.",
	"dim crimson bags contain 5 striped magenta bags.",
	"faded beige bags contain 2 striped brown bags, 3 dark salmon bags.",
	"light purple bags contain 2 bright lavender bags, 5 vibrant lime bags, 3 striped blue bags.",
	"mirrored blue bags contain 2 clear white bags, 2 drab cyan bags, 5 light cyan bags.",
	"dull silver bags contain 1 shiny bronze bag, 1 dotted beige bag.",
	"pale crimson bags contain 2 shiny turquoise bags.",
	"wavy indigo bags contain 5 clear white bags, 5 plaid cyan bags, 1 muted brown bag, 1 pale yellow bag.",
	"bright chartreuse bags contain 3 posh crimson bags, 5 shiny maroon bags.",
	"vibrant silver bags contain 3 striped aqua bags, 5 striped gold bags, 2 dim lime bags, 4 clear chartreuse bags.",
	"dark purple bags contain 4 plaid lavender bags, 3 clear chartreuse bags, 4 striped teal bags.",
	"vibrant turquoise bags contain 1 light gold bag, 1 light turquoise bag, 4 muted indigo bags, 2 wavy magenta bags.",
	"vibrant tan bags contain 1 dull purple bag, 5 vibrant beige bags.",
	"dim salmon bags contain 1 striped violet bag, 5 light teal bags, 5 light tan bags, 5 striped brown bags.",
	"muted violet bags contain 5 bright brown bags, 5 faded aqua bags, 3 clear purple bags, 4 plaid lavender bags.",
	"mirrored gray bags contain 4 drab maroon bags, 3 posh violet bags.",
	"striped blue bags contain 2 plaid cyan bags, 5 pale gold bags.",
	"vibrant gray bags contain 4 pale magenta bags, 4 vibrant bronze bags, 3 drab silver bags, 4 posh tomato bags.",
	"faded tan bags contain 4 plaid olive bags.",
	"muted green bags contain 2 posh cyan bags, 1 plaid lime bag, 5 muted crimson bags.",
	"shiny tomato bags contain 3 wavy violet bags, 4 posh coral bags, 3 striped red bags.",
	"muted plum bags contain 2 plaid salmon bags.",
	"pale indigo bags contain 3 pale cyan bags, 5 vibrant lime bags, 5 vibrant tomato bags.",
	"mirrored fuchsia bags contain 4 posh gray bags, 3 muted tan bags, 4 dim blue bags.",
	"dark lime bags contain 3 clear black bags, 3 dark tomato bags, 2 mirrored black bags.",
	"muted white bags contain 3 shiny black bags, 5 dark purple bags, 3 vibrant silver bags.",
	"striped gray bags contain 5 dark salmon bags.",
	"dotted fuchsia bags contain 1 mirrored red bag, 3 dotted lavender bags.",
	"posh maroon bags contain 1 mirrored beige bag.",
	"vibrant plum bags contain 3 clear red bags.",
	"posh turquoise bags contain 2 shiny magenta bags.",
	"light black bags contain 4 light orange bags, 1 dark salmon bag, 4 striped plum bags.",
	"clear yellow bags contain 1 posh aqua bag.",
	"dim purple bags contain 2 striped green bags.",
	"muted tan bags contain 4 mirrored gray bags, 1 dotted violet bag.",
	"drab silver bags contain 5 clear chartreuse bags, 1 drab olive bag, 2 posh coral bags, 5 bright lime bags.",
	"plaid bronze bags contain 3 wavy black bags, 4 wavy orange bags, 3 dim tomato bags, 3 muted teal bags.",
	"dark green bags contain 5 dull red bags, 3 bright crimson bags, 5 shiny salmon bags, 1 muted purple bag.",
	"bright silver bags contain 1 striped cyan bag.",
	"striped lime bags contain 2 dim magenta bags, 5 faded chartreuse bags, 2 clear indigo bags.",
	"dotted gold bags contain 2 light cyan bags.",
	"drab black bags contain 5 faded red bags, 5 plaid orange bags.",
	"dim magenta bags contain 5 dull coral bags.",
	"light plum bags contain 4 light yellow bags, 5 shiny bronze bags, 5 posh purple bags, 5 plaid olive bags.",
	"dotted cyan bags contain 5 light salmon bags, 4 dull tomato bags, 3 clear blue bags.",
	"posh blue bags contain 4 muted brown bags, 2 muted aqua bags.",
	"posh gray bags contain 4 pale green bags, 2 faded chartreuse bags, 2 drab blue bags.",
	"clear tan bags contain 4 clear gray bags.",
	"mirrored salmon bags contain 1 dull tan bag, 4 mirrored plum bags, 5 muted tan bags, 3 plaid blue bags.",
	"light brown bags contain 1 dim chartreuse bag.",
	"dull lavender bags contain 1 drab white bag, 5 dull indigo bags.",
	"striped violet bags contain 5 muted brown bags, 3 plaid cyan bags, 2 light gray bags.",
	"clear crimson bags contain 1 drab teal bag, 5 dark tan bags, 1 pale salmon bag, 4 dull turquoise bags.",
	"dim white bags contain 3 bright olive bags.",
	"dim green bags contain 4 light silver bags, 1 wavy green bag, 1 striped gold bag.",
	"dull maroon bags contain 4 wavy magenta bags.",
	"striped lavender bags contain 5 faded white bags, 4 mirrored tomato bags, 5 mirrored crimson bags.",
	"faded tomato bags contain 4 pale gray bags.",
	"pale cyan bags contain 1 dull beige bag, 4 light white bags, 5 clear tan bags.",
	"wavy tomato bags contain 5 dotted silver bags, 5 faded gray bags, 1 striped teal bag.",
	"dim tomato bags contain 4 bright lime bags, 3 dim lavender bags, 3 muted tomato bags, 4 dark crimson bags.",
	"striped tomato bags contain 3 plaid chartreuse bags, 4 light cyan bags.",
	"plaid gold bags contain 1 dark yellow bag.",
	"dark silver bags contain 2 dull blue bags, 2 bright purple bags, 5 dim tomato bags.",
	"dotted purple bags contain 4 striped blue bags.",
	"dark fuchsia bags contain 2 light cyan bags.",
	"dotted salmon bags contain 3 drab teal bags, 5 dotted teal bags, 4 vibrant white bags.",
	"mirrored gold bags contain 2 striped salmon bags, 5 pale fuchsia bags, 3 dull purple bags.",
	"posh violet bags contain 1 dim salmon bag, 5 clear gold bags, 1 bright salmon bag.",
	"shiny beige bags contain 2 muted brown bags, 4 shiny gold bags, 5 wavy indigo bags.",
	"plaid cyan bags contain 5 muted tomato bags, 4 drab gray bags, 2 dark crimson bags, 1 striped brown bag.",
	"vibrant lime bags contain 5 dull magenta bags.",
	"clear black bags contain 3 wavy lavender bags.",
	"light coral bags contain 2 pale salmon bags, 1 striped brown bag, 5 mirrored plum bags, 1 drab gold bag.",
	"faded aqua bags contain 2 pale blue bags, 4 drab lavender bags.",
	"wavy gold bags contain 1 dotted plum bag.",
	"shiny turquoise bags contain 4 dull gray bags, 2 dim orange bags.",
	"dull purple bags contain 1 shiny gold bag, 3 plaid olive bags.",
	"dull coral bags contain 1 faded tan bag, 4 clear chartreuse bags, 3 shiny crimson bags, 4 plaid lavender bags.",
	"dull red bags contain 5 dotted beige bags, 4 striped tomato bags, 1 shiny yellow bag.",
	"bright bronze bags contain 2 wavy black bags, 5 mirrored bronze bags.",
	"faded violet bags contain 3 pale yellow bags, 5 posh cyan bags, 5 wavy purple bags, 5 vibrant magenta bags.",
	"shiny blue bags contain 1 dotted teal bag, 4 wavy purple bags, 2 striped brown bags, 3 bright lavender bags.",
	"striped salmon bags contain 2 light tan bags, 4 striped red bags, 1 striped indigo bag, 1 pale gold bag.",
	"shiny silver bags contain 4 faded silver bags, 4 clear maroon bags.",
	"faded crimson bags contain 1 faded bronze bag, 5 dull brown bags, 5 posh plum bags, 3 shiny plum bags.",
	"vibrant tomato bags contain 3 plaid cyan bags, 5 drab teal bags, 5 dotted crimson bags, 5 light tan bags.",
	"plaid red bags contain 2 vibrant gray bags, 5 shiny bronze bags, 5 dull black bags, 2 light yellow bags.",
	"muted red bags contain 2 clear indigo bags, 4 dotted lime bags, 3 dim gray bags, 1 mirrored lime bag.",
	"mirrored chartreuse bags contain 2 dull black bags, 1 dark white bag.",
	"dim gold bags contain 3 plaid blue bags, 2 dotted purple bags.",
	"pale white bags contain 3 pale yellow bags, 1 bright tan bag, 4 striped orange bags, 4 light yellow bags.",
	"light magenta bags contain 3 light black bags, 4 muted turquoise bags.",
	"shiny lime bags contain 1 drab cyan bag.",
	"light teal bags contain 3 dim plum bags, 1 posh black bag, 3 dull beige bags.",
	"plaid black bags contain 4 faded silver bags, 2 faded magenta bags.",
	"clear orange bags contain 1 posh orange bag, 4 bright orange bags, 5 clear indigo bags.",
	"clear coral bags contain 3 faded crimson bags, 1 dull silver bag.",
	"muted lime bags contain 2 dim plum bags.",
	"shiny purple bags contain 5 faded aqua bags.",
	"vibrant gold bags contain 5 drab lavender bags, 4 striped red bags.",
	"clear white bags contain no other bags.",
	"posh aqua bags contain 2 light blue bags, 1 posh turquoise bag, 4 faded teal bags, 3 dotted purple bags.",
	"posh black bags contain no other bags.",
	"mirrored maroon bags contain 4 plaid blue bags, 3 dotted maroon bags, 5 striped plum bags.",
	"dotted crimson bags contain 5 striped salmon bags, 1 pale brown bag, 1 posh black bag, 5 bright lime bags.",
	"striped orange bags contain 4 faded olive bags.",
	"posh teal bags contain 2 faded lavender bags, 3 dim indigo bags.",
	"striped bronze bags contain 2 bright lavender bags, 2 plaid olive bags, 3 vibrant brown bags, 5 pale maroon bags.",
	"dull orange bags contain 3 dark crimson bags, 5 pale salmon bags, 4 vibrant gray bags, 4 plaid olive bags.",
	"clear maroon bags contain 2 wavy gray bags, 2 clear blue bags.",
	"clear tomato bags contain 1 drab olive bag, 2 muted brown bags.",
	"dark aqua bags contain 3 striped white bags.",
	"dull chartreuse bags contain 3 faded tan bags, 3 light orange bags, 2 clear chartreuse bags.",
	"dim cyan bags contain 1 shiny green bag, 4 vibrant brown bags, 4 faded yellow bags, 1 striped aqua bag.",
	"pale orange bags contain 3 drab indigo bags, 4 plaid green bags, 2 wavy lavender bags.",
	"dull cyan bags contain 5 mirrored turquoise bags, 3 posh indigo bags, 5 drab tomato bags, 3 bright aqua bags.",
	"drab brown bags contain 2 clear tan bags, 1 faded yellow bag, 4 vibrant coral bags, 3 mirrored blue bags.",
	"plaid blue bags contain 1 light teal bag, 1 faded tan bag.",
	"dotted orange bags contain 5 dull fuchsia bags, 3 muted brown bags.",
	"muted salmon bags contain 2 wavy coral bags.",
	"pale brown bags contain 4 light tan bags, 3 dim coral bags, 2 plaid olive bags, 4 striped brown bags.",
	"wavy tan bags contain 4 mirrored blue bags, 1 posh purple bag.",
	"mirrored plum bags contain 4 plaid tan bags, 3 wavy yellow bags, 4 vibrant magenta bags, 3 pale lavender bags.",
	"bright purple bags contain 4 dark red bags, 5 clear white bags.",
	"shiny chartreuse bags contain 4 posh plum bags.",
	"shiny violet bags contain 4 mirrored indigo bags, 1 faded beige bag.",
	"drab maroon bags contain 5 posh cyan bags.",
	"dim lavender bags contain 2 vibrant magenta bags, 4 posh black bags, 5 bright lime bags, 3 light tan bags.",
	"shiny gold bags contain 2 muted fuchsia bags, 3 clear silver bags.",
	"wavy violet bags contain 2 vibrant magenta bags, 5 striped red bags, 4 plaid lime bags, 2 bright lime bags.",
	"light beige bags contain 3 pale tan bags.",
	"dotted lavender bags contain 5 dim plum bags, 1 dull magenta bag.",
	"clear teal bags contain 2 plaid yellow bags, 4 light blue bags, 4 striped maroon bags, 1 vibrant olive bag.",
	"faded purple bags contain 2 clear olive bags, 4 mirrored teal bags, 2 plaid gold bags.",
	"pale lime bags contain 5 drab yellow bags, 4 bright coral bags.",
	"plaid beige bags contain 2 faded violet bags, 5 plaid tan bags.",
	"wavy lavender bags contain 5 striped brown bags.",
	"dull tomato bags contain 4 faded olive bags.",
	"plaid plum bags contain 4 faded cyan bags, 2 clear olive bags.",
	"dark gray bags contain 2 dark red bags, 3 clear indigo bags, 5 dim tomato bags.",
	"plaid lavender bags contain 5 plaid green bags, 1 shiny tomato bag.",
	"dim aqua bags contain 5 clear silver bags.",
	"dark salmon bags contain 1 drab olive bag, 5 posh coral bags.",
	"vibrant violet bags contain 3 dim plum bags, 3 dim turquoise bags, 3 striped orange bags.",
	"mirrored red bags contain 3 dull gray bags, 5 mirrored violet bags, 3 vibrant coral bags.",
	"mirrored brown bags contain 3 vibrant tomato bags, 1 wavy lavender bag.",
	"mirrored bronze bags contain 1 striped orange bag, 1 drab gray bag.",
	"dotted lime bags contain 5 drab cyan bags, 3 dotted maroon bags, 2 vibrant white bags, 5 plaid crimson bags.",
	"dotted chartreuse bags contain 5 bright maroon bags.",
	"clear violet bags contain 5 striped orange bags, 2 muted lime bags, 4 vibrant bronze bags, 2 drab silver bags.",
	"plaid magenta bags contain 2 bright blue bags, 2 shiny chartreuse bags.",
	"mirrored orange bags contain 1 striped yellow bag, 1 drab gold bag, 5 striped beige bags, 4 pale brown bags.",
	"drab salmon bags contain 5 clear yellow bags, 1 dark beige bag.",
	"drab magenta bags contain 4 dull gray bags, 4 faded tan bags.",
	"dim maroon bags contain 4 striped teal bags, 5 striped black bags, 2 drab indigo bags, 4 vibrant beige bags.",
	"wavy olive bags contain 5 faded chartreuse bags, 2 dotted lavender bags, 3 wavy brown bags, 3 dim turquoise bags.",
	"light aqua bags contain 3 dark violet bags, 3 posh tomato bags.",
	"dark chartreuse bags contain 3 light plum bags, 4 vibrant chartreuse bags, 3 dotted purple bags, 1 light turquoise bag.",
	"shiny red bags contain 4 dotted maroon bags, 3 dull coral bags, 3 dim coral bags.",
	"dark gold bags contain 3 dim chartreuse bags.",
	"dark turquoise bags contain 4 dark olive bags.",
	"plaid yellow bags contain 1 dark salmon bag, 3 drab olive bags, 4 posh fuchsia bags, 3 mirrored teal bags.",
	"muted tomato bags contain 1 vibrant magenta bag, 2 light cyan bags.",
	"dark brown bags contain 4 muted magenta bags, 3 light turquoise bags, 5 dim silver bags.",
	"dark bronze bags contain 2 striped red bags, 4 vibrant coral bags.",
	"posh fuchsia bags contain 2 faded tan bags.",
	"dark teal bags contain 5 dark salmon bags, 1 faded violet bag, 2 drab olive bags, 4 dim plum bags.",
	"drab yellow bags contain 4 plaid tan bags, 1 dull white bag, 3 dull violet bags.",
	"dotted gray bags contain 2 vibrant lavender bags, 1 striped aqua bag, 5 drab violet bags, 1 light red bag.",
	"drab purple bags contain 5 posh orange bags.",
	"striped crimson bags contain 3 striped salmon bags, 1 posh plum bag, 1 pale orange bag, 5 posh indigo bags.",
	"muted orange bags contain 4 muted silver bags, 4 dotted plum bags, 5 shiny blue bags.",
	"muted gray bags contain 2 muted salmon bags, 3 bright bronze bags, 5 bright brown bags.",
	"dull turquoise bags contain 2 plaid olive bags, 5 striped turquoise bags, 5 muted brown bags, 1 vibrant magenta bag.",
	"dotted maroon bags contain 2 dim salmon bags, 5 clear white bags, 4 wavy black bags.",
	"striped coral bags contain 2 shiny violet bags, 5 plaid maroon bags, 3 bright tan bags, 4 mirrored chartreuse bags.",
	"dark tan bags contain 4 faded white bags.",
	"posh plum bags contain 5 pale brown bags, 3 muted brown bags, 4 posh cyan bags, 1 light turquoise bag.",
	"shiny plum bags contain 4 dull turquoise bags, 1 shiny gold bag.",
	"posh indigo bags contain 1 bright brown bag, 2 dull silver bags.",
	"muted fuchsia bags contain 5 plaid olive bags.",
	"drab bronze bags contain 3 drab coral bags, 3 dull chartreuse bags, 2 posh turquoise bags.",
	"shiny white bags contain 5 dark tan bags, 5 shiny magenta bags.",
	"mirrored green bags contain 5 light maroon bags, 1 light gold bag.",
	"mirrored aqua bags contain 1 striped chartreuse bag, 4 faded coral bags, 1 muted silver bag.",
	"vibrant orange bags contain 3 plaid tan bags.",
	"shiny black bags contain 1 mirrored gray bag, 1 posh fuchsia bag, 3 muted salmon bags, 4 dotted crimson bags.",
	"dark blue bags contain 1 shiny tomato bag, 5 posh beige bags.",
	"bright crimson bags contain 1 striped green bag.",
	"posh chartreuse bags contain 3 dim magenta bags, 2 dull orange bags.",
	"pale gray bags contain 1 drab coral bag.",
	"muted gold bags contain 1 muted orange bag, 5 faded beige bags, 1 wavy tomato bag, 5 posh lime bags.",
	"faded red bags contain 3 dark bronze bags.",
	"striped maroon bags contain 1 dark salmon bag, 4 dim coral bags, 1 posh coral bag.",
	"muted magenta bags contain 4 muted teal bags, 5 dotted turquoise bags, 3 pale plum bags, 4 faded bronze bags.",
	"vibrant aqua bags contain 4 faded crimson bags.",
	"bright teal bags contain 4 bright olive bags, 5 mirrored black bags, 4 drab coral bags, 3 dotted beige bags.",
	"dim orange bags contain 2 shiny fuchsia bags, 3 striped magenta bags.",
	"dotted white bags contain 5 mirrored blue bags, 3 shiny tomato bags, 1 dull coral bag.",
	"clear magenta bags contain 3 dark teal bags, 3 vibrant white bags.",
	"light fuchsia bags contain 5 light violet bags, 2 striped aqua bags.",
}
<file_sep>/day8/main.go
package main

import (
	"errors"
	"fmt"
	"strconv"
)

type Instruction struct {
	Op    string
	Parm1 int
}

var errLoopDetected = errors.New("loop detected")

func main() {
	pgm := processInput(input)
	fmt.Println("Part1:")
	fmt.Println(execute(pgm))
	fmt.Println("Part2:")
	fmt.Println(part2(pgm))
}

func execute(pgm []Instruction) (int, error) {
	acc := 0
	ip := 0
	hitcounts := make([]int, len(pgm))
	for {
		if ip >= len(pgm) {
			return acc, nil
		}
		if hitcounts[ip] > 0 {
			return acc, errLoopDetected
		}
		hitcounts[ip]++
		switch pgm[ip].Op {
		case "nop":
			ip++
		case "acc":
			acc += pgm[ip].Parm1
			ip++
		case "jmp":
			ip += pgm[ip].Parm1
		}
	}
}

func part2(pgm []Instruction) int {
	pgmcopy := make([]Instruction, len(pgm))
	testip := -1
	for {
		copy(pgmcopy, pgm)
		// Flip next nop/jmp
		for testip < len(pgmcopy) {
			testip++
			if pgmcopy[testip].Op == "nop" {
				pgmcopy[testip].Op = "jmp"
				break
			}
			if pgmcopy[testip].Op == "jmp" {
				pgmcopy[testip].Op = "nop"
				break
			}
		}
		lastacc, err := execute(pgmcopy)
		if err == nil {
			return lastacc
		}
	}
}

func processInput(input []string) []Instruction {
	a := make([]Instruction, 0)
	for _, l := range input {
		if i, err := strconv.Atoi(l[4:]); err == nil {
			a = append(a, Instruction{Op: l[0:3], Parm1: i})
		}
	}
	return a
}
<file_sep>/day5/main.go
package main

import (
	"fmt"
	"sort"
)

func main() {
	part1()
	part2()
}

func part1() {
	highest := 0
	for _, boardingpass := range input {
		row, col := decodepass(boardingpass)
		seatid := row*8 + col
		if seatid > highest {
			highest = seatid
		}
	}
	fmt.Printf("Highest ID: %d\n", highest)
}

func part2() {
	ids := make([]int, 0, 1024)
	for _, boardingpass := range input {
		row, col := decodepass(boardingpass)
		seatid := row*8 + col
		ids = append(ids, seatid)
	}
	sort.Ints(ids)
	for i := 1; i < len(ids); i++ {
		if ids[i] != (ids[i-1] + 1) {
			fmt.Printf("MISSING\n")
		}
		fmt.Println(ids[i])
	}
}

func decodepass(pass string) (row, col int) {
	rl, rh := 0, 127
	cl, ch := 0, 7
	for _, c := range pass {
		switch c {
		case 'F':
			rh -= (rh - rl + 1) / 2
		case 'B':
			rl += (rh - rl + 1) / 2
		case 'L':
			ch -= (ch - cl + 1) / 2
		case 'R':
			cl += (ch - cl + 1) / 2
		}
	}
	row = rl
	col = cl
	return
}
<file_sep>/day6/data.go
package main

var input = []string{
	"vkplsqwiftuazyje",
	"mokluxwbsfhgc",
	"",
	"tlfxgqinzmdju",
	"zjmvfstnplqd",
	"xztfjnlqemd",
	"cmatrlfnbjqodz",
	"",
	"xrumszojqa",
	"mqsorcixzuja",
	"",
	"bwdvujyzsneiom",
	"njqzvyhceriodl",
	"",
	"nhbxcfgwpraqje",
	"abcqfnrpwehgxj",
	"pqrfxancbjglewh",
	"exhfbanpwrcgjq",
	"",
	"skmy",
	"koq",
	"zqtk",
	"vkgfjun",
	"",
	"zkmhpcq",
	"jnubrdys",
	"fvdswier",
	"",
	"nj",
	"njehcry",
	"yhnr",
	"tudngxkovfa",
	"",
	"pcnv",
	"nscvp",
	"nvpc",
	"",
	"fjmpugzckbwho",
	"quxmhkzad",
	"uzmohyjkr",
	"",
	"wdscxfnlgaibejomtvp",
	"slqgmrkuyotwz",
	"",
	"eao",
	"woa",
	"ao",
	"oa",
	"",
	"d",
	"d",
	"d",
	"d",
	"",
	"eobljmc",
	"fdtepbjc",
	"xnecrhbuzjg",
	"qbceasjy",
	"bawkdecij",
	"",
	"tmuoedrpzabncijwx",
	"itudehyxowpcl",
	"gtelwqxoiudpkc",
	"",
	"gadtfkeom",
	"ekgtfrm",
	"jtoeckgfm",
	"kugtfmer",
	"misnkqebfvtg",
	"",
	"vn",
	"m",
	"ygup",
	"nqm",
	"",
	"fjvluqzongtmd",
	"dyxcpbrzho",
	"",
	"sr",
	"rs",
	"rs",
	"sr",
	"rs",
	"",
	"tlxvdqpuear",
	"kmdltoxuz",
	"",
	"cgabvoz",
	"iprelmqfju",
	"bwzgknch",
	"",
	"ktendlaj",
	"rqibyxfuwma",
	"jahdtce",
	"",
	"kjv",
	"kvj",
	"jkvbi",
	"jkv",
	"jkv",
	"",
	"ehtypgizds",
	"egwispytdhz",
	"eyhzpidstg",
	"tiyhpesdgz",
	"ztlydgpseih",
	"",
	"yht",
	"doalj",
	"",
	"fghm",
	"fhmg",
	"hifmgb",
	"",
	"stgck",
	"ajpluiyrqvhw",
	"tsf",
	"",
	"hwqmofuy",
	"pnkjlbdtai",
	"ygzx",
	"ysfm",
	"",
	"cfdxwnhopyvme",
	"wvuedfhn",
	"wahnkfgdiev",
	"wheuvfdnj",
	"",
	"ikylabn",
	"lbiyank",
	"kqilymbna",
	"",
	"eahgurwvbt",
	"qfskieyuz",
	"eduvgr",
	"",
	"oqhpjibznk",
	"kobjqwpinh",
	"kznpjbqohi",
	"",
	"sujoglfhzrnmabxpi",
	"phgubrxmsoajfznl",
	"snjpmogrlhufaxbz",
	"fphagxbjlrnomzsu",
	"",
	"baotd",
	"boaudt",
	"botdj",
	"gwdxtfobhq",
	"tnjbdo",
	"",
	"uhdiramngvtfjewq",
	"gnmhudaqewrtfjvi",
	"qrvaigdmhuwftjen",
	"",
	"nmal",
	"mal",
	"aml",
	"almb",
	"nlma",
	"",
	"x",
	"x",
	"x",
	"q",
	"",
	"kidfopmvtr",
	"xdpifwrkotvs",
	"eztjfqpvorhkncdau",
	"",
	"hyu",
	"hyu",
	"huy",
	"oyuh",
	"huy",
	"",
	"xwdupilevjcazn",
	"bzdarpgnlivexusjc",
	"avxujgfdwecilpnz",
	"lcpytozuendiajxv",
	"",
	"hwck",
	"ckwh",
	"kwhc",
	"bckhw",
	"",
	"ktbhifgn",
	"hbvigntuk",
	"nbihtgkf",
	"kbgihnt",
	"bnifkgth",
	"",
	"a",
	"i",
	"i",
	"i",
	"k",
	"",
	"kzvohlrcnjwuifam",
	"lkujhzfwrcnoimav",
	"uzlcvfhjrnmwskaio",
	"zcojhmnvurklfiaw",
	"",
	"htvnf",
	"fvnth",
	"vhtnf",
	"",
	"ncrolpwdx",
	"pcohxrnvdl",
	"",
	"jxphyearvgc",
	"rfcodbuijg",
	"",
	"bhugktqa",
	"bkgqs",
	"epkqfg",
	"",
	"ecwhuzgkmrodyj",
	"dokqewxajuzspyc",
	"",
	"lfqnj",
	"njklqxfw",
	"enfqjl",
	"nlqfj",
	"lqnfj",
	"",
	"rd",
	"ibagcyr",
	"envtomrh",
	"",
	"vfrdbizxwocnaks",
	"zdavirkcsfwnob",
	"ivcsakqunrdwbzfo",
	"nvsxwoczidkfmrab",
	"",
	"uehqdjmbi",
	"jqhuefis",
	"dejhovuqi",
	"einktyzuqahj",
	"ohiuwejq",
	"",
	"fzgymun",
	"mzyugnf",
	"guzyfmn",
	"",
	"fetogjqxcuvzsw",
	"vthxugpedowq",
	"eutmoikqvwragx",
	"",
	"fwgujzeykqvlmidn",
	"kvuwymijfenqgldz",
	"gynldkjuiwzcmqefv",
	"",
	"nyrxopqgifedsc",
	"zdwycqjgfnhoxtiersp",
	"nrfacpqdxyesoig",
	"fimvyorqpekndglcsx",
	"",
	"ajeyb",
	"bjga",
	"jbka",
	"jgba",
	"",
	"vg",
	"v",
	"tncd",
	"v",
	"v",
	"",
	"dwpxzhi",
	"ihbpwxtzjlr",
	"xiewyzhdpv",
	"xwpzhai",
	"nhxzwiyp",
	"",
	"dbecuzx",
	"xbduecz",
	"ecudxbz",
	"",
	"e",
	"w",
	"e",
	"e",
	"e",
	"",
	"ovrzqdjaiwb",
	"rodebilkcwmntj",
	"sdjvozwibrhp",
	"",
	"h",
	"p",
	"gtxvfb",
	"",
	"tnpvcfjsalyiorxzdb",
	"irapztvynfjscoxdbl",
	"czlnxjydbratipvfos",
	"anoctriszvjxydblpf",
	"lvoazndfjycbitsxpr",
	"",
	"rubmekjfdagt",
	"amkrxylefcbo",
	"",
	"iyrqglom",
	"qlitrmy",
	"rtyilqom",
	"yqalmire",
	"lqriomy",
	"",
	"whpei",
	"eghpi",
	"paetki",
	"",
	"baepocmyzsd",
	"cbezopy",
	"",
	"lbotn",
	"xnqzo",
	"",
	"nqjos",
	"wthmj",
	"fkytdsjng",
	"ipxzvlba",
	"",
	"wq",
	"q",
	"exns",
	"w",
	"kw",
	"",
	"cthavwpbkf",
	"dsmnegrixql",
	"zfcutvojpy",
	"",
	"niboxrwyqscjht",
	"ihbjsxcyronwqt",
	"sqhyotwxbjcirn",
	"iotrbwqjcnxsyh",
	"qwxnshrajioctyb",
	"",
	"vctoxkjdieyzwb",
	"eijydzwobhxktc",
	"iaytkjwbuxzpodscen",
	"xtjwgydkzoecbhi",
	"yoixtwczdqekhgbj",
	"",
	"aprmbkdcexjw",
	"zotyshdnbevqcj",
	"",
	"lio",
	"ol",
	"",
	"rdtpzonajsymgkcubhx",
	"ryhtsxnmjcagdzkoub",
	"zhnyjaltgokmudrbcsx",
	"xhrydtgjnsamcbozku",
	"nxartdusgchzbykjom",
	"",
	"impokzcuwnvjq",
	"znepvyiqkmcw",
	"",
	"mr",
	"im",
	"",
	"rhaijlqeu",
	"szmhnux",
	"nwufhb",
	"",
	"pcihyolxetbg",
	"enyrxhuq",
	"xfvrejdhky",
	"",
	"zoxgea",
	"oxeza",
	"xazdvoe",
	"ozxauge",
	"jntzwoexa",
	"",
	"xaivusctq",
	"tisqxva",
	"",
	"ts",
	"t",
	"",
	"infzulyjrwmv",
	"nvzubryomlifjw",
	"wvygflurnjipzdm",
	"ruyvjwlidfznm",
	"iluwnryfjmvz",
	"",
	"vw",
	"vw",
	"wiv",
	"vw",
	"vw",
	"",
	"x",
	"x",
	"",
	"bzjhrsx",
	"zxahrs",
	"xhyrez",
	"rabhxjz",
	"",
	"fwsuiqblg",
	"fnqkdgsj",
	"jsaqfyvgnk",
	"gqfs",
	"yoesrtqfag",
	"",
	"uqxatgzhbvf",
	"bvhzltgqfxua",
	"rztabhfgvuxq",
	"taxbfhvqlurgz",
	"zhgsqvtbuxaf",
	"",
	"e",
	"xzyr",
	"h",
	"d",
	"",
	"u",
	"u",
	"u",
	"",
	"rtdyhnfliowua",
	"sdlhfygqera",
	"kzrmvpbxacj",
	"",
	"kyhja",
	"ugneb",
	"fpbzc",
	"",
	"u",
	"wu",
	"",
	"amsovxceljdygphbw",
	"vbdhsowzagmylxecpj",
	"",
	"uevdiqzwokgxhj",
	"worxiusdzejgqhk",
	"qxkthjuwiaozedg",
	"",
	"qbtevg",
	"wyngqzsvb",
	"gvbtqe",
	"",
	"lfbgch",
	"hgbflc",
	"",
	"vlpg",
	"mlg",
	"ldeg",
	"",
	"r<KEY>",
	"<KEY>",
	"<KEY>",
	"<KEY>",
	"vy<KEY>",
	"",
	"exzsaqlijpdmkvgywftb",
	"so<KEY>uk",
	"kd<KEY>",
	"",
	"paowmuxkgysedl",
	"wyxsokudpmaleg",
	"gywoxakesupdlm",
	"pyusakwegmoxld",
	"eopslywkuaxgdm",
	"",
	"lsxjny",
	"yxsljn",
	"ylnbxjs",
	"lbjynsx",
	"jsxylrnv",
	"",
	"jwegoyxpa",
	"jmcapxvbdg",
	"swjxap",
	"hqapzinuxrtjf",
	"velaxypjk",
	"",
	"m",
	"ge",
	"",
	"quypbjdikvletowrnasm",
	"ywnaplqbmusdorekivzjt",
	"jqntersduopvyblwakmi",
	"wnkibesaypdjuxqvlomrt",
	"",
	"pylnd",
	"ylcp",
	"",
	"advbre",
	"nrjbfdvex",
	"xberv",
	"osekrcv",
	"",
	"nzpwvidyetcbmorj",
	"ibjdnroagcemwpz",
	"qzsekmdbnxwuirolcfp",
	"",
	"huqydt",
	"rsbwpdmcnt",
	"",
	"hcjbr",
	"bhcrj",
	"cjbhr",
	"cbrhj",
	"cjhrb",
	"",
	"fpxi",
	"ipf",
	"ipukjbgfo",
	"tpaif",
	"ipwxf",
	"",
	"hobckpqzajgsmdrwl",
	"odrpwlsjachqgzmbk",
	"oqragbsjkdlhzcmpw",
	"jrgbksowmzapcdhlq",
	"zwpmclbjhqgskraod",
	"",
	"diezqf",
	"zf",
	"znhsymf",
	"ozjf",
	"zkrejf",
	"",
	"esmgwuvlzixaycnfqkt",
	"sipueyhxfqkbog",
	"",
	"mrpscwnklxhtobauveyi",
	"tgaivjupxhkbcszleorwmd",
	"tbrlosnvhpecaxiukmw",
	"",
	"flpk",
	"rf",
	"xquatcvji",
	"wysr",
	"",
	"dcfnywpotmge",
	"ymfupe",
	"qhmekjysf",
	"",
	"kdgq",
	"qcgdk",
	"",
	"ocxbdl",
	"wlcauqy",
	"uwarlc",
	"",
	"thbeswnyqm",
	"nsqymwhbet",
	"",
	"itmbc",
	"tofmvcb",
	"",
	"sw",
	"sw",
	"swm",
	"wsh",
	"",
	"orixhcu",
	"uixhcor",
	"hrxcuo",
	"xhkucbo",
	"",
	"xsowberlfigtkz",
	"ltivwneusg",
	"tnegisalw",
	"gvqstmldyicwpe",
	"",
	"yhznbodgfcqeptivx",
	"dioaexhnczqtgv",
	"okdgteivxszwhqmn",
	"",
	"dokztemwprxcula",
	"irmxpdouta",
	"rhtuxopdbmaj",
	"dtmaphxqroyu",
	"mtdohsparfugx",
	"",
	"hzcarpvyjkqduflwbxg",
	"ctbhalfxivudonyp",
	"",
	"gkdypu",
	"pkgyud",
	"kdypug",
	"ygdkpu",
	"gudkpy",
	"",
	"ulw",
	"fwul",
	"",
	"gpwotsyxzjc",
	"nlmuevq",
	"",
	"zxtpjvqmsr",
	"bmprdvquig",
	"mpvryhq",
	"",
	"j",
	"j",
	"j",
	"kewlj",
	"",
	"hgxscfpjol",
	"spgfchxjlo",
	"",
	"hwjedr",
	"edwhr",
	"dewrh",
	"pewhdr",
	"usdehwtr",
	"",
	"jegvbfpcm",
	"khnuldx",
	"zyoasn",
	"",
	"tlrpbifxsjngoduvamyhkewcqz",
	"fjolbtkicvmhrexungdqyzsapw",
	"",
	"is",
	"zr",
	"",
	"qptgfwdcbmxueoiyjs",
	"qbfcwsugexdopjtmiry",
	"jpwdecfyosiqmutgxb",
	"oejyvdwfgsmptbqxicu",
	"",
	"snqytmeualwrzogh",
	"styeunlqzmwhgao",
	"yhnwlesoqguatzm",
	"unmazqlesytohgw",
	"",
	"dftkic",
	"xurjq",
	"",
	"drixnqjogckuzmtl",
	"syhkwbvdjxfr",
	"",
	"xelvzfjd",
	"jfelzvx",
	"zjdfewxl",
	"jxfle",
	"rfejmsblxg",
	"",
	"cz",
	"cz",
	"zpc",
	"msaczrxy",
	"",
	"rvlmfknpzxauqedwhybj",
	"bqyksfardvxwunehlzmj",
	"ncsmirluwabjkyzdfveqxh",
	"",
	"gmpbcwjrs",
	"bglcjpriwum",
	"jbfwrvcmpg",
	"",
	"ktfqsluvjhg",
	"jkfbxhgvayq",
	"",
	"uvle",
	"lkx",
	"",
	"ng",
	"ng",
	"ng",
	"",
	"ozjnipsqxlh",
	"oljhczqidsnpx",
	"",
	"hqmnsiadov",
	"ohdsnmcvai",
	"",
	"lerquyikvxdtpn",
	"edquylhi",
	"ibuljedqy",
	"elquybid",
	"",
	"g",
	"g",
	"g",
	"g",
	"",
	"uqbemtxp",
	"gzubdexq",
	"qpxveb",
	"vqszbxter",
	"eifwxbnqkyaco",
	"",
	"isvbajpehtdow",
	"khdjiepawnvsg",
	"hqacjefdwxivsrp",
	"",
	"cnpltgfhwjiaydxqouz",
	"acnqgjfrwiexhopdz",
	"",
	"sjmwleyxtriqdchbk",
	"icatnbgservmuqpfw",
	"",
	"cela",
	"elqbca",
	"acle",
	"alvce",
	"",
	"upkctos",
	"izbqxh",
	"njdqevafy",
	"",
	"t",
	"jua",
	"egoy",
	"v",
	"j",
	"",
	"m",
	"dwm",
	"",
	"kipetzja",
	"jhyeizpqvk",
	"zjkpie",
	"ipkjzne",
	"",
	"tsibo",
	"sbo",
	"rjzqbosamn",
	"vosb",
	"",
	"u",
	"j",
	"u",
	"",
	"mtjivuygewcolkzrpfbs",
	"jlgcyuzpafkibwshdmovte",
	"bskavogweclutifypmjz",
	"",
	"ov",
	"ov",
	"ov",
	"",
	"eyro",
	"yeor",
	"rofye",
	"yreoz",
	"",
	"thlknydiesxupoarcgf",
	"gidylcsoekhnxafrt",
	"glwyqiectnshkdbxraof",
	"grtvasnichfyelkxod",
	"",
	"whzu",
	"wimcpu",
	"gfwet",
	"dimw",
	"pcbwli",
	"",
	"z",
	"z",
	"z",
	"",
	"chz",
	"hzc",
	"",
	"nvfswzqculbtdrxey",
	"jyludxzbwgvnhrpsfceitq",
	"znlxeocqywmrsvfudtb",
	"",
	"wnbz",
	"ezugmpx",
	"tz",
	"idszb",
	"znlrdw",
	"",
	"xhipb",
	"bphix",
	"ipcbhx",
	"",
	"gudlfzh",
	"dghzuo",
	"guhdwnz",
	"guhdlfz",
	"hzgdu",
	"",
	"dczfkubhjwn",
	"kjhcubwfzdn",
	"zknfuwcdjhb",
	"kzbwcdhujnf",
	"khnzwcdfbju",
	"",
	"wkpimxyu",
	"uyimpkwx",
	"wkmupxyd",
	"ulxafnpcwshymk",
	"wumxpkdy",
	"",
	"jlr",
	"l",
	"l",
	"gal",
	"lg",
	"",
	"t",
	"t",
	"q",
	"",
	"cktanxyfepglowhibsjv",
	"tbpfihyovgeacsnlwj",
	"",
	"rzd",
	"wyrzd",
	"dzr",
	"zrd",
	"rdz",
	"",
	"ligjhor",
	"grlhno",
	"yqrpsolhmwg",
	"xelsrhogub",
	"",
	"njrwbhvfta",
	"jfenrhvbwt",
	"tvwbrnlhjf",
	"cjfzntbhvugqwr",
	"",
	"xytgmcdaeolfqwzskr",
	"qdfmegraxzhokcyswt",
	"",
	"ndcywqxkfta",
	"ckxwndyqfa",
	"cwnkqadyxf",
	"wkyncdqxfa",
	"wcqdkayfxn",
	"",
	"vbir",
	"vrbi",
	"bvri",
	"vbir",
	"rvbi",
	"",
	"mstylwqkrnizdhjbcgeo",
	"yvqkrbedpmwcutsfo",
	"atpermwqfcobdysvk",
	"",
	"sdylhzipk",
	"zyispkd",
	"kydizsp",
	"zepsiydk",
	"kdzypsi",
	"",
	"lvpiahe",
	"hvapeli",
	"",
	"fwpmhryouqcktzb",
	"bhzyucgqkmrvdo",
	"jobackhzsreqiumyn",
	"vchkoqdzmybru",
	"xblhkcyoqdruzm",
	"",
	"jkilegfoxzacr",
	"acxkzorfpjg",
	"ctkzrgafxoj",
	"oacxzfjgkr",
	"jrozkcfxga",
	"",
	"apmksyco",
	"acsomkpy",
	"sopcaykm",
	"mkcyoasp",
	"scqkmpyoa",
	"",
	"fpaigjltezhxwnyrvu",
	"vftqenyjwbsuaiplhdr",
	"ajeutynhiwrdflcspv",
	"naeilpfjuvdkwtyhbrq",
	"htproevliajwfynu",
	"",
	"cwaug",
	"augcw",
	"cwuga",
	"augwcy",
	"gwcua",
	"",
	"afqcnwebdv",
	"aenfqbwcv",
	"bvfeqwcjnsa",
	"",
	"vtecwrzfa",
	"tczvwrma",
	"vrpwczat",
	"xewzcavtr",
	"vwcatpzr",
	"",
	"rdkvyle",
	"eglrbyadp",
	"tmxrhszneuldyw",
	"dleykgcqr",
	"",
	"qsohepyxawngjd",
	"ecaywgnhmf",
	"wfeagtnrhuiyl",
	"nthwgyeav",
	"ynwgberazh",
	"",
	"loupbihzqwady",
	"npbtkumjdoihwy",
	"ysguhceopbw",
	"",
	"fy",
	"n",
	"",
	"ulafhmibcnqvxt",
	"ik",
	"i",
	"i",
	"psdiry",
	"",
	"wcahpmgkjdi",
	"lkazewjdpgbins",
	"",
	"sy",
	"ectfa",
	"q",
	"sz",
	"",
	"idglafuxovqb",
	"vurdigqpfoal",
	"fgovalbuidxq",
	"",
	"qigjvulpdaxwsbnzyc",
	"i<KEY>",
	"sjlxcdiqnuvbmwp",
	"rsk<KEY>",
	"",
	"urxqtyshgzemca",
	"xawgozkbejncprilyqf",
	"",
	"irl",
	"eurpiolqczj",
	"lrswi",
	"vnilwrf",
	"",
	"viwsjgdt",
	"yxhc",
	"",
	"ynwkqtpageurxosvjlbc",
	"letqbswnxcrkajvugyp",
	"zsnjawtqgevcpkrxybulf",
	"ynglakqevcjptxwhsrub",
	"",
	"gabxsumno",
	"mknawxt",
	"anjxhfm",
	"",
	"dimjglkvcstaqzebu",
	"cjeqzybdkaurv",
	"bdkoacevqzju",
	"bdycqjkaveuz",
	"bkcevaqzduj",
	"",
	"z",
	"z",
	"",
	"rydinou",
	"zfycpiwl",
	"mbydiv",
	"",
	"fzhrbc",
	"bfszrhc",
	"",
	"g",
	"g",
	"g",
	"ag",
	"",
	"l",
	"l",
	"l",
	"lq",
	"l",
	"",
	"cnf",
	"ncf",
	"",
	"x",
	"fzw",
	"",
	"nhgkcomtsdxlazu",
	"wcrexdamztyohklguin",
	"dmxlzgnckaehtuo",
	"doqcuhfxtlbanmgkz",
	"",
	"omfbckilpvjgxqwthse",
	"vpwhosebmtxgicjkfql",
	"",
	"nmdlkxb",
	"ihbvjk",
	"blkx",
	"kxbycs",
	"bk",
	"",
	"uxkzsavo",
	"xosalzfbv",
	"opvisknrxauz",
	"xouhgzsav",
	"",
	"wcjodbqux",
	"patbuwvd",
	"",
	"mb",
	"mca",
	"mc",
	"cm",
	"m",
	"",
	"usp",
	"aftgzcp",
	"ztr",
	"eyjkbmnd",
	"",
	"zwfyeraxjdimplusbq",
	"sjqamxiyfbduplzre",
	"",
	"uehlcmvqagxd",
	"ghbeylfazdcxu",
	"clhedaxjgiptvu",
	"",
	"vntkpmzia",
	"pimtvyakz",
	"tzipvakm",
	"",
	"fgoputbi",
	"bpiftxg",
	"wpgtibf",
	"fgbpit",
	"",
	"kirsmujcn",
	"mnkucrij",
	"jnumckir",
	"",
	"fubspvchiwtnjkrxomae",
	"kvcrsdtfuwhapxemnoji",
	"wcaknfurotjlsevmhpix",
	"",
	"mojgstlqrebpifcvy",
	"gpfijetbvqrloycs",
	"lptohfsivgrjqcybe",
	"",
	"etnjorpmshwxlcbfdugykvaiq",
	"necvjsgwokupfdlthymqxibar",
	"whftpldmarigjeuckxvqybson",
	"brsovpaqykicjhutewmnfglxd",
	"",
	"ofmkudxjpeti",
	"okpmifxuejt",
	"",
	"feudgmpbhzak",
	"emjnkbzludr",
	"",
	"wc",
	"cw",
	"dcw",
	"",
	"tolg",
	"berksqjhmgt",
	"fwgxt",
	"atlg",
	"zgptn",
	"",
	"hng",
	"jiav",
	"",
	"fit",
	"htif",
	"fit",
	"fit",
	"",
	"bkxgyoasj",
	"xdinqvksb",
	"esdtkylbo",
	"szhfkmrpcb",
	"uxseqbko",
	"",
	"vgclrk",
	"yvgalcrk",
	"",
	"imgnj",
	"bgm",
	"mgb",
	"gmcr",
	"",
	"rc",
	"cr",
	"rc",
	"",
	"bshkdmce",
	"uyfzjwclhovae",
	"thqdgkinsec",
	"",
	"ckmsoxuqif",
	"fukqxmvsic",
	"mosqchufikx",
	"",
	"ulmfponhvjbzs",
	"jopbvzlgfhmusne",
	"ovjzewfnumshlp",
	"vhmfojlunsakxczrp",
	"",
	"tibdoksuvaxhwyzcpjgr",
	"ypatgvjkrcinxumqhd",
	"lykfvurhdxiqpeajntmcg",
	"",
	"yrvqacpmexifgkbtdwzjso",
	"psgtcyqvnwibfuozrmxekjd",
	"dqbcjfgrmvwpzioytesxk",
	"",
	"rubmfhv",
	"hbfrjdmv",
	"rihmbvpnf",
	"hfrdmixbv",
	"",
	"raviz",
	"imz",
	"iz",
	"mezis",
	"",
	"<KEY>",
	"elm<KEY>",
	"",
	"aci",
	"aycn",
	"caq",
	"arc",
	"caji",
	"",
	"vb",
	"vb",
	"bv",
	"vb",
	"jbv",
	"",
	"jxgarbnkwutzc",
	"npjatuzwhkxbrg",
	"bkdrljnasxwzgtqu",
	"",
	"xparfjw",
	"rfaxwjpm",
	"",
	"jf",
	"j",
	"jr",
	"ji",
	"",
	"xrgdnqzk",
	"zndgqrikf",
	"znqrkxdga",
	"rkzgqand",
	"",
	"egizwncdbualtf",
	"flguwazicedtbn",
	"ulfztngaibwdce",
	"bilncfatwzuged",
	"nabgeclfudtiwz",
	"",
	"d",
	"wfdj",
	"d",
	"d",
	"d",
	"",
	"gn",
	"n",
	"n",
	"n",
	"n",
	"",
	"dou",
	"yunwtdohpcb",
	"ouvd",
	"",
	"xvayuwoe",
	"ayuewb",
	"yawseu",
	"",
	"tfbso",
	"sotf",
	"ftos",
	"",
	"otjcundbazgmlirkyhqpvfe",
	"bqcduiyaentvzhklmgporjf",
	"fyhtvnzadglcumopriqbjke",
	"it<KEY>",
	"kon<KEY>br",
	"",
	"h<KEY>",
	"l<KEY>",
	"<KEY>",
	"<KEY>",
	"<KEY>",
	"",
	"<KEY>",
	"<KEY>",
	"<KEY>",
	"<KEY>",
	"<KEY>",
	"",
	"cailbjyxztvdnphkrg",
	"<KEY>",
	"jazdblghrsicxpytkv",
	"",
	"p",
	"fp",
	"f",
	"vgz",
	"",
	"elajdxgu",
	"jiduarlexg",
	"xlejdaug",
	"",
	"auh",
	"ahu",
	"hasu",
	"hau",
	"",
	"rckmqapdtse",
	"molzwi",
	"hgiom",
	"",
	"asqyzrgotdlbviu",
	"lgoztqsdbrivy",
	"lrtybsgqvaizdo",
	"lbdsgorzvhyqxit",
	"alijgryqzbodvts",
	"",
	"fpnlakbxjosd",
	"dlpyfnjaxoks",
	"lokfabpnsxdzj",
	"dvmxugpoajnkclfhs",
	"flxbknrasjodp",
	"",
	"mprcewkzquit",
	"ezkrcuiwqmtp",
	"wiprkqetzmcu",
	"",
	"alkyb",
	"kbl",
	"klb",
	"",
	"iezaknbl",
	"zo",
	"z",
	"oruz",
	"",
	"ibhrojtaulvewmgczpxdqk",
	"rcbpgidtkqouyazhevwxmlj",
	"idzhegvwtacublomrkxqpj",
	"vcbigrtzlowxpjhuedkmaq",
	"ajxuctrhwepmvoilzdqgkbf",
	"",
	"knal",
	"nlv",
	"qlnzb",
	"ulknv",
	"ln",
	"",
	"dkfrbh",
	"hbrdfk",
	"hdirkfb",
	"dfrkhbn",
	"akedmhrfb",
	"",
	"axeuqykc",
	"cijxqeg",
	"ybuzctis",
	"zwcliq",
	"hfodnrvcpm",
	"",
	"k",
	"k",
	"k",
	"k",
	"k",
	"",
	"f",
	"yg",
	"u",
	"y",
	"y",
	"",
	"xbrgmpydio",
	"rdxgibmpy",
	"dryipgxmb",
	"ihjdxygmbpr",
	"ixgyrbmdp",
	"",
	"xutjv",
	"uhxtvj",
	"",
	"dpezviroyshwaxqgjlck",
	"ogivhpaskqrlcdjwyezx",
	"zspkihxldaoqrjcgevwy",
	"ckigvrljoexyhpzsadqw",
	"hguvczomqlpnabifswjydrek",
	"",
	"fsaonvedtjczu",
	"setdouyfvnbjk",
	"oftnledaqsvuj",
	"nagujstvefdo",
	"",
	"hbwvkftgdzsm",
	"msvfzgwbkdht",
	"",
	"nbxliqesfzawyk",
	"aswzruelkfbhniqo",
	"",
	"yobmx",
	"jxybeo",
	"ypsbnuxaf",
	"ybx",
	"",
	"yqaxjhlvrfceu",
	"fzvpcuqaxrheyj",
	"racjhfyqeubxv",
	"xq<KEY>",
	"",
	"xejldkfstrvubcpaig",
	"gqxhcpbsrojditeank",
	"",
	"favwixezjmso",
	"ogpbvwnamz",
	"atwvobzm",
	"trhowanpvqmdz",
	"",
	"qfdcv",
	"cd",
	"cd",
	"cdwk",
	"drzc",
	"",
	"y",
	"y",
	"y",
	"yl",
	"",
	"nclrvbgzmudf",
	"vdnlfgusir",
	"",
	"gbnxzysckmp",
	"zsnkmcbpyxg",
	"",
	"zqweaofxvpjucmkts",
	"setcuqkpfazmxwo",
	"",
	"kxmfqdithl",
	"hktfmdqsi",
	"wghkmfydtiq",
	"fiqkhmgtd",
	"mfijqkhdt",
	"",
	"mebnqwaxzvys",
	"msvaotqilh",
	"",
	"tymwfkrcsvilqodphbuzexjna",
	"takfijusvpozeqnwxhyrdbclm",
	"edhrynkzbispqwflvcmxotaujg",
	"",
	"uvc",
	"vcu",
	"vuc",
	"ucmv",
	"",
	"kfzadnxwsq",
	"lawdxkznfqs",
	"tflqdkxasnwz",
	"knqsrcgfozxedaw",
	"xaqwdnsfkz",
	"",
	"gaho",
	"vzdecfourwpnyx",
	"iqhaoms",
	"",
	"kiebj",
	"izekbj",
	"jikeb",
	"lbjirukqe",
	"ijbkxez",
	"",
	"ldwsav",
	"srlx",
	"cntqmikugl",
	"ylz",
	"",
	"yqh",
	"h",
	"h",
	"h",
	"h",
	"",
	"jpqewnhzbyltxu",
	"samgukw",
	"umw",
	"wuck",
	"cfmwgu",
	"",
	"hblxgkmjyc",
	"xmesjhqaidgp",
	"",
	"wseufabtgklimdoxnypqc",
	"thwukpnivmxbcalesy",
	"",
	"sfzpaeqdbhwmnlxt",
	"btlsqpdmnwzaeh",
	"ahwtklseqnmdpbz",
	"mwahslezbnptqd",
	"",
	"alhkbjrtm",
	"mjkratblh",
	"tbmrdkhlja",
	"bklrmtjha",
	"",
	"fkjwmabqy",
	"bwayqfmpsuh",
	"ycbaqfnkwx",
	"trwozgyibadqlv",
	"wxnaqpybe",
	"",
	"dbz",
	"bdr",
	"",
	"evsxkiwhj",
	"ijkwxsve",
	"vekjiwxs",
	"eswivxkugj",
	"eowtsliravjkzx",
	"",
	"i",
	"i",
	"i",
	"i",
	"l",
	"",
	"ek",
	"ke",
	"ek",
	"",
	"bk",
	"rskpanj",
	"",
	"jlqapcexir",
	"rix",
	"uxyri",
	"hzirux",
	"ixryzu",
	"",
	"mbecuxkqodis",
	"myfk",
	"",
	"osk",
	"kvw",
	"",
	"k",
	"k",
	"h",
	"k",
	"",
	"slwqeticyjpdzf",
	"gxechvlqnmsfp",
	"qulcpsfem",
	"quehspflrvcn",
	"kgcqlaepfs",
	"",
	"bhiye",
	"bstyvrapi",
	"uldxybmi",
	"bioknyfwj",
	"cenghbzyiu",
	"",
	"ztsxu",
	"xtszu",
	"usbzixtc",
	"uxtzs",
	"uztsx",
	"",
	"jadbkcovfyrnsx",
	"gnqxdfycvbksr",
	"nfsvxdbmry",
	"ysuvnrdbhlxpfi",
	"",
	"xchlgiaotmsuzvq",
	"gmayopixqslcfekhz",
	"wmsojhcbraznq",
	"",
	"cxfky",
	"kfcyx",
	"fwkcyx",
	"fxyck",
	"",
	"xqo",
	"q",
	"q",
	"",
	"sgojw",
	"cvfm",
	"",
	"zdfyhrqtn",
	"tnqyrfzd",
	"mrfjztydpnq",
	"dqfyrtnz",
	"dyznfrtqh",
	"",
	"qemxlh",
	"fbvnekpcmh",
	"mehz",
	"whmrdegy",
	"emhg",
	"",
	"mqvr",
	"cnasrl",
	"qdys",
	"gmez",
	"jptbh",
	"",
	"epufwojvtkzld",
	"kouedvymlgntp",
	"okldsviptaeqxhbfu",
	"ouibvesrcjktpld",
	"",
	"xnhkjmvwy",
	"mjhkvwy",
	"hkjwvmy",
	"wkjhmvyq",
	"yjmkwvh",
	"",
	"ckedjx",
	"excjkd",
	"",
	"znfesox",
	"xeoh",
	"ocenxz",
	"eolypx",
	"",
	"mxivwjbheynk",
	"vtobgpxmyhkqnjiw",
	"",
	"tsxvd",
	"xdqcvn",
	"",
	"ynhtcpbeourwqik",
	"ciaoeqnvztmgybdhkws",
	"ewckryhoqnbtfi",
	"ihbqotncwyek",
	"jfcwkthboeqniy",
	"",
	"zaefxrolby",
	"vdfztseoqhgly",
	"",
	"woiyfq",
	"iqfyw",
	"wiqfy",
	"wqyif",
	"wqfiy",
	"",
	"czojbsdtxhnwvuygfmkeaq",
	"lwjqbtyngfzuxkecoadsvh",
	"",
	"celw",
	"tywbeuascvz",
	"ekgcinwrox",
	"",
	"cy",
	"yc",
	"yc",
	"cy",
	"cy",
	"",
	"jxpwoydmhblcrai",
	"qmfykpsrxlvda",
	"",
	"o",
	"vx",
	"",
	"uptwyrij",
	"jiyturwp",
	"wqbtpyujir",
	"rjuytpiw",
	"",
	"meqghcrlnfjkyw",
	"avjcixbspgfqz",
	"",
	"dyz",
	"l",
	"p",
	"pul",
	"i",
	"",
	"l",
	"l",
	"l",
	"l",
	"",
	"dhua",
	"aguid",
	"aud",
	"",
	"rqnfj",
	"nfbqdj",
	"fqjnu",
	"fjnq",
	"nqjf",
	"",
	"scfvjmnxeag",
	"cudpbwfnxalzsotqk",
	"",
	"abzfcdpnyxg",
	"dcmrbnpxfzya",
	"",
	"aexvdqroyncwl",
	"qrowycxvnaled",
	"",
	"scznoldgrut",
	"orcduszlgt",
	"",
	"zofhkcrsjm",
	"mfsozrhxayk",
	"",
	"nehxkswcz",
	"cvwnekxy",
	"aewxkscqjn",
	"",
	"stpwkqyzgm",
	"wkjpzygtsm",
	"yqmspwgztk",
	"pztsymgkw",
	"",
	"wcipmryqalvzbkghtsofxj",
	"pbjixyckrgzmfvslhtaw",
	"ivrzglbuxtsjhwcpamfkye",
	"nckmdqfbgtasijyropxvwzhl",
	"",
	"qtfyr",
	"yrtfq",
	"",
	"xkijmzgyeplvubr",
	"kzsdpxjbhne",
	"zxhbtkpjse",
	"",
	"tvm",
	"zvm",
	"",
	"naqbrui",
	"rbgiuqans",
	"bnrqaiu",
	"",
	"dulxmsoavhciyqpfzketnbr",
	"obnxqmidafpresytlzckhvu",
	"otxrdwpumcivyshfaqkgeblzn",
	"hyrmlzkstpvifucxedbaqon",
	"qrpndcmtoevkzlysaxuhbfi",
	"",
	"kbisedtufjvmroq",
	"dfubrkimtjseq",
	"bqdsuktemirjfw",
	"ukpdqtshgerfimbyj",
	"",
	"br",
	"rkb",
	"rcb",
	"br",
	"rbm",
	"",
	"lm",
	"lfh",
	"ml",
	"lo",
	"",
	"uigbrefdqzoaklhwcjxntm",
	"cublkmtxeqwgrhonifyd",
	"bsleinxukwdmftrcqhog",
	"",
	"zicwhktunjxgfpodsbye",
	"nfteiwpudgcxovjbsyak",
	"ywegkintxqbpdujosfc",
	"",
	"f",
	"e",
	"t",
	"e",
	"d",
	"",
	"btxnpqyrshjcz",
	"qstfkgioavjlwe",
	"sbdqjpturcm",
	"",
	"mpi",
	"ipm",
	"",
	"bxqlyckzwrgu",
	"ywulzqkgbrcx",
	"",
	"lmpys",
	"mypsl",
	"smlyp",
	"pdlmsy",
	"ysmpl",
	"",
	"gxbsvalu",
	"gxlabvsu",
	"xgbvauls",
	"",
	"jd",
	"jd",
	"",
	"v",
	"vb",
	"v",
	"",
	"helzqfkyadcjtrpom",
	"yjcqdrzeftlkmhao",
	"eolhdvkmjqfxctzyar",
	"lzcrhsfdjoeyamtqk",
	"lcreftdozqmskjahy",
	"",
	"tavjmbdeznxquyws",
	"bejtfcgrpwisu",
	"",
	"rinkdgteosbupalcwfm",
	"opcbulmgsrnidewafkt",
	"cpdbrmnuaeftlwgosik",
	"wiedgctfrkunomlasbp",
	"",
	"qenyztwigf",
	"finwzbeqy",
	"bfzpeiysqnw",
	"wyienfzqb",
	"",
	"fximacpqjvrozwu",
	"aproqwzficuvx",
	"aozqprxftwvicyu",
	"",
	"wxedbjgki",
	"wxgjzikde",
	"iyekzgwxdj",
	"",
	"ghsde",
	"hsd",
	"sthd",
	"",
	"cafgyinvxmqsukot",
	"utnsfycxkmoagviq",
	"vkqystxmaniofgcu",
	"nmtyavikgsfcqxou",
	"fcxoyniumkvqsgta",
	"",
	"sq",
	"q",
	"q",
	"",
	"szvxhg",
	"sgvzxh",
	"",
	"orwyznm",
	"tynzw",
	"",
	"ivzcoaenfbrm",
	"imecrfnovabtz",
	"dnwgzobcvfmyirea",
	"ebfnairctzmvo",
	"",
	"yjtznqpvsldf",
	"ilxahurg",
	"ykjcsbel",
	"",
	"lhiubo",
	"uboihlma",
	"hlgufnkprcvoib",
	"ilbhtou",
	"bisoulhj",
	"",
	"vhiapgbtjlcwuxs",
	"ibauwcjsptglxv",
	"gcsopxwuajvilbt",
	"",
	"oqbadzwepv",
	"kbxdetcliprquvsn",
	"dqhvwymbpe",
	"",
	"ce",
	"wcpo",
	"c",
	"octrn",
	"",
	"swpd",
	"clb",
	"",
	"mxjwhr",
	"marhxewj",
	"wigrcjpmx",
	"bjrwqxm",
	"",
	"l",
	"ulyt",
	"bl",
	"gl",
	"",
	"gofskm",
	"mgk",
	"",
	"dscxkpviur",
	"lpicsbuk",
	"jkibcupsr",
	"eucsifnkp",
	"",
	"vs",
	"c",
	"c",
	"c",
	"",
	"i",
	"i",
	"b",
	"",
	"cuv",
	"cv",
	"ceb",
	"cv",
	"cnhtm",
	"",
	"ox",
	"tx",
	"",
	"rheungozl",
	"eznoglrhuj",
	"gnhozrlue",
	"nhlrzuoge",
	"urhognlez",
	"",
	"lnkcuajziqwxtev",
	"fzauikcjtxvqlnem",
	"",
	"fmjbugerkdyaiqcxnw",
	"kxhanqgjcfbyeurdmi",
	"",
	"qjrleua",
	"rujleaq",
	"aejquzrl",
	"rejxuqla",
	"",
	"okagijrelbc",
	"rbikajtglc",
	"",
	"e",
	"e",
	"pa",
	"y",
	"",
	"c",
	"hc",
	"liasmwofn",
	"ytkev",
	"pczj",
	"",
	"tkpnzsvmrdijfwobghqcaxeu",
	"whfpjgeavdkbzmnurotiqscx",
	"fqvuropcmkzinbdwashjxetg",
	"hqkuzafetjpbwyirdxngvsmco",
	"",
	"szxa",
	"axzs",
	"xzas",
	"xasz",
	"szxa",
	"",
	"nscjgi",
	"jgcns",
	"gjcsi",
	"scjg",
	"szjgc",
	"",
	"zuadipsnxhqgfjv",
	"zjpdugisfv",
	"dgfskzvjuip",
	"fvugpidszj",
	"",
	"qpcbui",
	"qntkmsxlia",
	"",
	"at",
	"yta",
	"ft",
	"",
	"letsxrmgabi",
	"gnpqaecbmxfwi",
	"mciujqgehbax",
	"ekgmixohyanb",
	"",
	"epnlovurz",
	"oqferplx",
	"lrnedoqp",
	"lroupe",
	"awelogcikprm",
	"",
	"nwyuzvrlmbhtjfqaedxocgi",
	"cufibmwaxdljyzovqrtnegh",
	"",
	"eoxvphlgnjcmb",
	"omvghcpejnlx",
	"",
	"mournjwlvsckdt",
	"jumlnvrweozpkc",
	"vbgawlrnmkijcox",
	"nryelovjqchdkwm",
	"",
	"iqbyaxh",
	"gxbqnhi",
	"xyibhqm",
	"",
	"rqxbago",
	"xvq",
	"iyfqujdpwcn",
	"xqamhg",
	"",
	"gbxszymv",
	"vhlnfdmg",
	"mvgkdnj",
	"",
	"almux",
	"axulm",
	"xmaul",
	"ualmx",
	"",
	"fdseyvrjkolcinw",
	"idxynrvjakolmcfu",
	"ycfbknvtijlurado",
	"",
	"rewtmvgcnhqaolkjbiuds",
	"atougievfqhwsdcbxjknp",
	"og<KEY>wd",
	"ckungoviwqjbthmeads",
	"veyuawsiothnjdqbcgk",
	"",
	"gvuqtmnxhoepfw",
	"efqwtmnovupg",
	"oevuqtfpmwng",
	"",
	"trdyigx",
	"nbtmzrygpxi",
	"rxtyzbg",
	"ygtwxrefu",
	"",
	"akflh",
	"lakf",
	"afkl",
	"ablqfk",
	"zkalgf",
	"",
	"gsuo",
	"ywuvt",
	"",
	"pcbe",
	"lptbc",
	"picba",
	"plcb",
	"",
	"wt",
	"k",
	"t",
	"",
	"qnjo",
	"xqgjyv",
	"",
	"iozkwcxuhapnqg",
	"pawxsihqkclzvgunm",
	"kxawgbihuqcpfnz",
	"ikgrpunhqwafzxc",
	"",
	"bywxros",
	"rsowbyx",
	"",
	"wjxhogyipvanmbcrste",
	"dcmgwqnepiajvxkbsth",
	"",
	"zbmicrsajtqe",
	"miecstjbarq",
	"",
	"paxrhzkyslnq",
	"zakyxhqslrn",
	"yslaxhzqnwkr",
	"",
	"jkleg",
	"ekyl",
	"kyle",
	"",
	"ydvkwga",
	"nxqarwd",
	"wxakpq",
	"cefbauhmjtoz",
	"kai",
	"",
	"bhwzivoacl",
	"zcwqtxhsakyb",
	"",
	"fsnged",
	"ocmlx",
	"wol",
	"brc",
	"",
	"ztswjbceaolgi",
	"jlsmcupgw",
	"rxsgkyjhdqfwnv",
	"",
	"xt<KEY>",
	"bt<KEY>",
	"",
	"bmtz",
	"ytjmhezbf",
	"bwmtz",
	"mwtzb",
	"mtbz",
	"",
	"bju",
	"ubj",
	"",
	"zywb",
	"bwy",
	"bwyz",
	"wby",
	"buwye",
	"",
	"nerhbp",
	"htbple",
	"",
	"beurhjyvtdimocqn",
	"hcvniqytrjeobumd",
	"mncoeuqtihydrvjb",
	"qibvdmywzrehcnout",
	"",
	"egc",
	"k",
	"s",
	"",
	"deltoa",
	"etdoal",
	"aedolt",
	"amdtleo",
	"",
	"gdwalptufnsxhr",
	"uwgadebmvrhnlxfpcst",
	"hlwsrfungajxdpt",
	"ygnfwhrtaldpuxs",
	"rzxalndgutkpswfh",
	"",
	"mucn",
	"hewbdvanpomyrj",
	"mnsik",
	"tmnqu",
	"fnxm",
	"",
	"gvykqxtmzwfsbrcleahjnod",
	"hunoyzdjrmsvtbqckfaexlg",
	"acketzflmjhqdrosbnvxyg",
	"fevrokybsmxcatzhnldqgj",
	"toqeprafdycksnhlvxzjgmb",
	"",
	"ou",
	"uo",
	"ou",
	"wuno",
	"uo",
	"",
	"eyfckdvlwibquogtsnrpazjxm",
	"<KEY>",
	"lmtjdcxwvpysezqkonfrguiab",
	"<KEY>",
	"",
	"jgxudzlbswaefhpk",
	"xz<KEY>",
	"k<KEY>",
	"",
	"czjw",
	"gykomq",
	"xthi",
	"nxzsp",
	"",
	"exyjs",
	"jxsyd",
	"xeydsj",
	"jsxyvg",
	"wixbsyfjl",
	"",
	"ultdkrv",
	"udlrkv",
	"drkuavl",
	"kravldu",
	"dvfrlkua",
	"",
	"zjgofiydu",
	"zijfdougy",
	"yoizudjgf",
	"jdogzfiuy",
	"jziugdfoy",
	"",
	"cdxlhpgtzrmubyse",
	"owcrpythmfuxbe",
	"xymtcphrdbueqis",
	"",
	"drfatx",
	"xfrad",
	"rafdx",
	"fdaxr",
	"",
	"tuxmnqvwiodzl",
	"znwmiuxvldtqo",
	"qxwidtoplzuvem",
	"",
	"l",
	"dle",
	"l",
	"",
	"uv",
	"fabuvn",
	"zvdu",
	"",
	"htgwvcus",
	"",
	"kzfijesnvuhlqd",
	"trudmvekzjisofl",
	"",
	"qbltyocnjvigse",
	"oriqujavzntpblfw",
	"vmqltjciondkeb",
}
<file_sep>/day6/main.go
package main

import (
	"fmt"
)

type Answers string

type Group struct {
	People []Answers
}

func main() {
	groups := processData(input)
	part1(groups)
	part2(groups)
}

func part1(groups []Group) {
	count := 0
	for _, g := range groups {
		count += countUniqueAnswers(g)
	}
	fmt.Println(count)
}

func part2(groups []Group) {
	count := 0
	for _, g := range groups {
		count += countUnanomAnswers(g)
	}
	fmt.Println(count)
}

func countUniqueAnswers(grp Group) int {
	x := make(map[rune]struct{})
	for _, p := range grp.People {
		for _, a := range p {
			if _, found := x[a]; !found {
				x[a] = struct{}{}
			}
		}
	}
	return len(x)
}

func countUnanomAnswers(grp Group) int {
	x := make(map[rune]int)
	for _, p := range grp.People {
		for _, a := range p {
			if _, found := x[a]; !found {
				x[a] = 1
			} else {
				x[a] = x[a] + 1
			}
		}
	}
	c := 0
	for _, i := range x {
		if i == len(grp.People) {
			c += 1
		}
	}
	return c
}

func processData(input []string) []Group {
	var (
		grp Group
	)
	groups := make([]Group, 0)
	grp.People = make([]Answers, 0)
	for _, l := range input {
		if len(l) == 0 {
			if len(grp.People) > 0 {
				groups = append(groups, grp)
			}
			grp.People = make([]Answers, 0)
			continue
		}
		grp.People = append(grp.People, Answers(l))
	}
	if len(grp.People) > 0 {
		groups = append(groups, grp)
	}
	fmt.Printf("Read %d groups\n", len(groups))
	return groups
}
<file_sep>/day6/main_test.go
package main

import "testing"

func Test_countUnanomAnswers(t *testing.T) {
	type args struct {
		grp Group
	}
	tests := []struct {
		name string
		args args
		want int
	}{
		{"test1", args{grp: Group{People: []Answers{"abc"}}}, 3},
		{"test2", args{grp: Group{People: []Answers{"a", "b", "c"}}}, 0},
		{"test3", args{grp: Group{People: []Answers{"ab", "ac"}}}, 1},
		{"test4", args{grp: Group{People: []Answers{"a", "a"}}}, 1},
		{"test5", args{grp: Group{People: []Answers{"b"}}}, 1},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			if got := countUnanomAnswers(tt.args.grp); got != tt.want {
				t.Errorf("countUnanomAnswers() = %v, want %v", got, tt.want)
			}
		})
	}
}
<file_sep>/day8/data.go
package main

var testinput = []string{
	"nop +0",
	"acc +1",
	"jmp +4",
	"acc +3",
	"jmp -3",
	"acc -99",
	"acc +1",
	"jmp -4",
	"acc +6",
}

var input = []string{
	"acc +40",
	"jmp +187",
	"acc +47",
	"acc +20",
	"acc -12",
	"jmp +225",
	"nop +488",
	"acc +13",
	"nop +462",
	"jmp +374",
	"acc +15",
	"acc +42",
	"jmp +116",
	"acc +23",
	"nop +216",
	"acc -15",
	"jmp +398",
	"jmp +103",
	"acc +17",
	"acc +7",
	"jmp +571",
	"jmp +1",
	"jmp +217",
	"acc +7",
	"jmp +1",
	"acc +35",
	"jmp +257",
	"acc +24",
	"nop +20",
	"jmp +309",
	"acc +2",
	"acc -15",
	"acc -13",
	"nop +457",
	"jmp +19",
	"acc +46",
	"acc +45",
	"acc +35",
	"jmp +295",
	"acc -15",
	"acc +49",
	"acc +22",
	"jmp +400",
	"jmp +202",
	"nop -38",
	"jmp +381",
	"acc +0",
	"jmp +137",
	"acc +27",
	"jmp +196",
	"acc +46",
	"acc -15",
	"jmp +348",
	"jmp +457",
	"acc +50",
	"acc +8",
	"jmp +452",
	"acc -14",
	"nop +321",
	"acc +39",
	"jmp +273",
	"acc -9",
	"jmp +413",
	"acc +32",
	"jmp +64",
	"acc +18",
	"jmp +152",
	"acc -4",
	"acc +9",
	"acc +10",
	"acc -1",
	"jmp +433",
	"acc +40",
	"jmp -55",
	"acc +28",
	"nop +279",
	"jmp +145",
	"acc +24",
	"nop +416",
	"acc +45",
	"jmp +45",
	"acc +0",
	"acc +49",
	"acc -14",
	"jmp +44",
	"acc +17",
	"acc +18",
	"nop +224",
	"acc +3",
	"jmp +261",
	"jmp -84",
	"acc -11",
	"acc +29",
	"acc +42",
	"jmp -13",
	"acc -5",
	"jmp +210",
	"acc +26",
	"acc -19",
	"acc -19",
	"jmp -82",
	"acc +29",
	"acc +31",
	"acc -4",
	"jmp +53",
	"acc +46",
	"jmp +139",
	"acc +45",
	"acc +30",
	"jmp +1",
	"jmp +418",
	"jmp +248",
	"acc +24",
	"acc +15",
	"acc +34",
	"acc +17",
	"jmp +52",
	"acc +23",
	"acc +18",
	"jmp +65",
	"jmp +1",
	"acc +37",
	"acc +25",
	"jmp +385",
	"jmp +281",
	"nop +345",
	"jmp -25",
	"jmp +149",
	"acc +21",
	"acc +28",
	"acc +15",
	"jmp -74",
	"jmp +179",
	"jmp +287",
	"acc +14",
	"acc -3",
	"acc -7",
	"jmp -9",
	"acc +17",
	"acc -8",
	"jmp +344",
	"jmp +1",
	"acc +36",
	"acc -16",
	"acc -17",
	"jmp -82",
	"jmp +1",
	"acc +41",
	"acc -8",
	"acc +27",
	"jmp +381",
	"acc -10",
	"nop -71",
	"acc +23",
	"nop +377",
	"jmp -125",
	"jmp +319",
	"nop +119",
	"nop +309",
	"nop +195",
	"jmp +307",
	"acc +8",
	"acc +31",
	"jmp +1",
	"acc -15",
	"jmp +398",
	"jmp +265",
	"jmp -55",
	"nop +143",
	"jmp -36",
	"acc +38",
	"nop -38",
	"jmp +298",
	"acc -17",
	"acc +39",
	"acc -13",
	"jmp -38",
	"acc +23",
	"jmp +133",
	"acc +23",
	"jmp -90",
	"acc +14",
	"jmp +1",
	"jmp +100",
	"nop +230",
	"jmp +346",
	"acc +36",
	"jmp +14",
	"jmp +126",
	"jmp -32",
	"jmp -142",
	"acc +25",
	"jmp +146",
	"nop +118",
	"acc -3",
	"jmp +1",
	"acc -8",
	"jmp +101",
	"nop +277",
	"acc +27",
	"jmp +328",
	"acc -11",
	"acc +17",
	"nop +135",
	"jmp +196",
	"acc -9",
	"jmp +39",
	"nop +110",
	"acc +14",
	"nop +3",
	"jmp +17",
	"jmp +220",
	"acc +17",
	"jmp +5",
	"acc +18",
	"acc +39",
	"acc -12",
	"jmp -204",
	"jmp +317",
	"acc +37",
	"jmp +222",
	"nop +146",
	"nop +248",
	"jmp +182",
	"acc +48",
	"acc -13",
	"jmp +174",
	"jmp +342",
	"nop -189",
	"jmp +324",
	"acc +35",
	"acc +25",
	"acc +21",
	"jmp -152",
	"nop -92",
	"acc -3",
	"acc -15",
	"acc +30",
	"jmp -157",
	"acc -17",
	"acc +37",
	"acc +7",
	"acc +5",
	"jmp -225",
	"jmp -177",
	"acc +21",
	"jmp +244",
	"acc +42",
	"acc -4",
	"jmp -116",
	"nop +225",
	"nop -63",
	"acc +20",
	"jmp +195",
	"acc +20",
	"acc +21",
	"jmp +228",
	"acc +16",
	"acc -8",
	"acc +12",
	"nop +188",
	"jmp +9",
	"acc +6",
	"acc -13",
	"acc +36",
	"jmp -86",
	"jmp -253",
	"nop -60",
	"acc +25",
	"jmp -174",
	"acc +10",
	"nop -114",
	"jmp -65",
	"jmp +1",
	"acc +24",
	"jmp -150",
	"acc +27",
	"jmp -47",
	"acc +50",
	"nop -58",
	"acc -17",
	"acc -16",
	"jmp -170",
	"jmp -104",
	"jmp -177",
	"acc +46",
	"jmp +106",
	"jmp -206",
	"acc +2",
	"acc +10",
	"acc +17",
	"nop -107",
	"jmp -126",
	"jmp +1",
	"acc +50",
	"acc -14",
	"acc +29",
	"jmp -234",
	"nop +144",
	"acc +43",
	"acc +34",
	"jmp +221",
	"jmp +1",
	"nop +97",
	"acc +39",
	"jmp -60",
	"acc +44",
	"jmp -240",
	"acc +11",
	"acc +36",
	"jmp -71",
	"acc -5",
	"jmp +149",
	"jmp +54",
	"acc +38",
	"jmp +44",
	"jmp -165",
	"acc +14",
	"jmp -134",
	"acc +3",
	"acc +22",
	"nop +46",
	"acc -12",
	"jmp -57",
	"acc +49",
	"acc +24",
	"acc +16",
	"jmp +27",
	"acc +6",
	"nop -5",
	"acc +45",
	"acc +34",
	"jmp -175",
	"jmp -76",
	"acc +3",
	"acc +15",
	"acc -19",
	"jmp +1",
	"nop -226",
	"acc -2",
	"jmp -55",
	"jmp -284",
	"acc +2",
	"jmp +1",
	"jmp +15",
	"acc +11",
	"acc +12",
	"acc -1",
	"acc +2",
	"jmp +179",
	"acc +19",
	"acc +17",
	"jmp -329",
	"jmp -272",
	"jmp -104",
	"acc +41",
	"nop +189",
	"acc +47",
	"jmp -88",
	"acc +4",
	"acc +16",
	"acc +43",
	"acc +25",
	"jmp +71",
	"acc -2",
	"acc +45",
	"jmp -173",
	"jmp +1",
	"acc +44",
	"acc +33",
	"jmp -53",
	"acc +45",
	"acc +9",
	"acc +0",
	"acc +12",
	"jmp +178",
	"jmp -100",
	"acc +14",
	"jmp -67",
	"acc +42",
	"jmp +201",
	"acc +30",
	"jmp -319",
	"nop -4",
	"nop -211",
	"acc -3",
	"nop -165",
	"jmp -175",
	"acc +12",
	"acc -10",
	"acc -14",
	"jmp -53",
	"acc -13",
	"nop -143",
	"jmp +159",
	"acc -5",
	"nop +18",
	"nop -5",
	"acc +13",
	"jmp -248",
	"jmp +114",
	"acc +10",
	"nop -396",
	"nop -246",
	"jmp +16",
	"acc -3",
	"acc +33",
	"nop +174",
	"acc +48",
	"jmp -289",
	"nop +98",
	"acc +18",
	"acc -17",
	"jmp -137",
	"jmp +1",
	"acc +34",
	"acc +36",
	"jmp -216",
	"acc +11",
	"jmp -102",
	"acc +10",
	"jmp +10",
	"acc +26",
	"acc +35",
	"acc -9",
	"jmp -83",
	"acc +15",
	"nop -397",
	"jmp -140",
	"nop +111",
	"jmp +139",
	"jmp -165",
	"acc +16",
	"jmp -343",
	"acc +8",
	"acc +35",
	"acc -17",
	"acc -8",
	"jmp +29",
	"acc +50",
	"nop -256",
	"jmp -268",
	"jmp +132",
	"acc +13",
	"acc +38",
	"acc -6",
	"acc -7",
	"jmp -327",
	"acc -8",
	"jmp -256",
	"nop -139",
	"acc +30",
	"jmp -60",
	"acc -1",
	"acc +11",
	"jmp -216",
	"acc -12",
	"nop -390",
	"acc +17",
	"acc +39",
	"jmp +101",
	"acc +28",
	"jmp +1",
	"acc -7",
	"acc -18",
	"jmp -277",
	"jmp -90",
	"acc -10",
	"jmp -326",
	"jmp -368",
	"nop -396",
	"jmp -320",
	"acc +42",
	"acc +3",
	"jmp -430",
	"acc +47",
	"acc +11",
	"acc +19",
	"acc +41",
	"jmp -354",
	"acc +30",
	"acc +7",
	"nop -106",
	"jmp -420",
	"acc +22",
	"acc -15",
	"jmp -296",
	"acc -7",
	"acc +48",
	"jmp -19",
	"jmp -148",
	"acc +10",
	"jmp +1",
	"jmp +17",
	"nop -273",
	"acc +42",
	"acc -4",
	"nop -130",
	"jmp +47",
	"nop -436",
	"acc -7",
	"jmp +1",
	"acc +42",
	"jmp -330",
	"acc +35",
	"jmp +56",
	"acc -19",
	"jmp -440",
	"jmp -335",
	"jmp -279",
	"nop -390",
	"jmp +74",
	"acc -5",
	"jmp -456",
	"acc +38",
	"acc +3",
	"jmp +47",
	"acc +50",
	"acc +26",
	"acc +46",
	"acc -7",
	"jmp -491",
	"acc -4",
	"acc -7",
	"acc +14",
	"nop -105",
	"jmp -487",
	"jmp -326",
	"nop -360",
	"jmp -378",
	"jmp -285",
	"acc +46",
	"jmp -190",
	"acc +10",
	"jmp -346",
	"acc +49",
	"jmp -492",
	"acc -9",
	"acc -17",
	"jmp -147",
	"acc +20",
	"jmp -217",
	"nop -183",
	"acc +35",
	"jmp -268",
	"nop -51",
	"jmp +1",
	"jmp -440",
	"acc +22",
	"acc +24",
	"jmp +1",
	"acc +26",
	"jmp -451",
	"acc -14",
	"acc +48",
	"acc +3",
	"jmp -363",
	"acc +21",
	"acc +24",
	"acc +36",
	"jmp -418",
	"jmp -108",
	"jmp -323",
	"jmp +20",
	"acc +1",
	"acc +21",
	"nop -212",
	"acc -3",
	"jmp -338",
	"acc +36",
	"acc -19",
	"jmp -192",
	"acc +49",
	"jmp -380",
	"acc -12",
	"acc +14",
	"acc +38",
	"acc +4",
	"jmp -228",
	"acc +2",
	"jmp -197",
	"jmp -41",
	"jmp -265",
	"jmp -113",
	"jmp -459",
	"jmp +1",
	"acc +38",
	"jmp -79",
	"acc +16",
	"nop -456",
	"jmp -129",
	"acc +12",
	"acc +29",
	"nop -575",
	"acc -7",
	"jmp +1",
}
<file_sep>/day4/main.go
package main

import (
	"fmt"
	"regexp"
	"strings"
)

type Passport struct {
	fields map[string]string
}

type Field struct {
	Field    string
	Req      bool
	RegMatch *regexp.Regexp
}

func main() {
	passports := processData(input)
	fmt.Println("Part1:")
	p1Fields := []Field{
		{"byr", true, nil},
		{"iyr", true, nil},
		{"eyr", true, nil},
		{"hgt", true, nil},
		{"hcl", true, nil},
		{"ecl", true, nil},
		{"pid", true, nil},
		{"cid", false, nil},
	}
	fmt.Println(countValid(passports, p1Fields))

	fmt.Println("Part2:")
	p2Fields := []Field{
		{"byr", true, regexp.MustCompile(`^(19[2-9][0-9])|(200[0-2])$`)},
		{"iyr", true, regexp.MustCompile(`^(201[0-9])|(2020)$`)},
		{"eyr", true, regexp.MustCompile(`^(202[0-9])|(2030)$`)},
		{"hgt", true, regexp.MustCompile(`^((1[5-8][0-9])cm$|^(19[0-3])cm$)|^((59|6[0-9]|7[0-6])in$)`)},
		{"hcl", true, regexp.MustCompile(`^#[0-9a-f]{6}$`)},
		{"ecl", true, regexp.MustCompile(`^(amb|blu|brn|gry|grn|hzl|oth)$`)},
		{"pid", true, regexp.MustCompile(`^[0-9]{9}$`)},
		{"cid", false, nil},
	}
	fmt.Println(countValid(passports, p2Fields))

}

func countValid(passports []Passport, fieldset []Field) int {
	valid := 0
	for _, p := range passports {
		if isValid(p, fieldset) {
			valid++
		}
	}
	return valid
}

func isValid(p Passport, fieldset []Field) bool {
	for _, f := range fieldset {
		if f.Req {
			if value, found := p.fields[f.Field]; !found {
				return false
			} else {
				if f.RegMatch != nil && !f.RegMatch.MatchString(value) {
					fmt.Printf("%s:%s\n", f.Field, value)
					return false
				}
			}
		}
	}
	return true
}

func processData(input []string) []Passport {
	var (
		p Passport
	)
	passports := make([]Passport, 0)
	p.fields = make(map[string]string)
	for _, l := range input {
		if len(l) == 0 {
			if len(p.fields) > 0 {
				passports = append(passports, p)
			}
			p.fields = make(map[string]string)
			continue
		}
		for _, element := range strings.Split(l, " ") {
			if parts := strings.SplitN(element, ":", 2); len(parts) > 0 {
				if _, exists := p.fields[parts[0]]; exists {
					fmt.Printf("duplicate field %s\n", parts[0])
				}
				p.fields[parts[0]] = parts[1]
			} else {
				fmt.Printf("syntax error: %s\n", element)
			}
		}
	}
	if len(p.fields) > 0 {
		passports = append(passports, p)
	}
	fmt.Printf("Read %d passports, first PID: %s, last PID: %s\n", len(passports), passports[0].fields["pid"],
		passports[len(passports)-1].fields["pid"])
	return passports
}
<file_sep>/day3/main.go
package main

import "fmt"

func main() {
	fmt.Println("Part1:")
	fmt.Println(countTrees(3, 1))
	fmt.Println("\nPart2:")
	fmt.Println(
		countTrees(1, 1) *
			countTrees(3, 1) *
			countTrees(5, 1) *
			countTrees(7, 1) *
			countTrees(1, 2))
}

func countTrees(slopeRight, slopeDown int) int {
	var (
		r, c, trees int
	)
	c = slopeRight
	for r = slopeDown; r < len(input); r += slopeDown {
		l := input[r]
		cPrime := c % len(l)
		if l[cPrime] == '#' {
			trees++
		}
		c += slopeRight
	}
	return trees
}
<file_sep>/README.md
# goaoc2020
Advent Of Code 2020 Solutions in Go
<file_sep>/day9/main.go
package main

import (
	"fmt"
	"math"
)

func main() {
	n := findMissingPair(testinput, 5)
	min, max := findSumRange(testinput, n)
	fmt.Printf("%d, %d, %d\n", n, min, max)
	fmt.Println(findMissingPair(input, 25))
}

func findMissingPair(list []int, preamble int) int {
	idx := preamble
	for idx < len(list) {
		found := findSumPair(list[idx-preamble:idx], list[idx])
		if !found {
			return list[idx]
		}
		idx++
	}
	return -1
}

func findSumPair(list []int, sum int) bool {
	for i := 0; i < len(list)-1; i++ {
		for j := i + 1; j < len(list); j++ {
			if list[i]+list[j] == sum {
				return true
			}
		}
	}
	return false
}

func findSumRange(list []int, sum int) (smallest, largest int) {
	for i := 0; i < len(list)-1; i++ {
		t := list[i]
		for j := i + 1; j < len(list); j++ {
			t += list[j]
			if t == sum {
				return minmax(list[i:j])
			} else if t > sum {
				break
			}
		}
	}
	return 0, 0
}

func minmax(list []int) (int, int) {
	min, max := int(math.MaxInt64), int(math.MinInt64)
	for _, n := range list {
		if n < min {
			min = n
		}
		if n > max {
			max = n
		}
	}
	return min, max
}
<file_sep>/day1/main.go
package main

import "fmt"

func main() {
	part1()
	part2()
}

func part1() {
	for i := 0; i < len(input); i++ {
		for j := i + 1; j < len(input); j++ {
			if input[i]+input[j] == 2020 {
				fmt.Printf("%d + %d = 2020, result=%d\n", input[i], input[j], input[i]*input[j])
			}
		}
	}
}

func part2() {
	for i := 0; i < len(input); i++ {
		for j := i + 1; j < len(input); j++ {
			for k := j + 1; k < len(input); k++ {
				if input[i]+input[j]+input[k] == 2020 {
					fmt.Printf("%d + %d + %d = 2020, result=%d\n",
						input[i], input[j], input[k], input[i]*input[j]*input[k])
				}
			}
		}
	}
}
