diff --git a/2021/08/input/1.txt b/2021/08/input/1.txt
new file mode 100644
index 0000000..0d6c2a4
--- /dev/null
+++ b/2021/08/input/1.txt
@@ -0,0 +1,200 @@
+cdbga acbde eacdfbg adbgf gdebcf bcg decabf cg ebdgac egca | geac ceag faedcb cg
+edbcfag ebdca ebgad dagbef cfbed adcg dcgeab ac cae cgabef | gacd ac dgac ebdfc
+gceafb fcabedg ebfd bd ebacf bafcde daecbg dabfc abd acfgd | adb fagdc bd agfbec
+abd cebd bd gcbaf dcafb dface ecgfbda ecdfba fdegca dbafeg | dbecfag bd decb dbgfcea
+ecdagfb eb egfcb gcdbfa dcfeg aecb fabcg afebgd ebg agecbf | bge be abcfge bfedacg
+dbcf gfc fcbdaeg cf bgfced begacd dbgec gdfea cfdeg bafgce | egcfdb ebdgc gadbcfe bedfacg
+efbda dbf fb fegdabc dagbce fcade dfbceg gbadfe abdge gbfa | bafg gbaf bf fb
+afbegc bgcfde dc edagf fcadgb gacbf dgc fdagc dgebfca dcab | dc dcg bgcfa adbcfg
+gfced ebcg fdgceab gdfbe dfcbea ce dfegba dce fbgecd dcgaf | bceg fbegad ecagbfd dfgec
+agbec dgef gfbec ef gfadbc cfgdbe gedfcba cefbda cdfgb bef | bdeafgc gcbdf febdagc fgde
+egabc dcgbef efdbac fdaceg af eacbf cagedfb abdf fac bfdce | bedcgaf dabf gfbdaec afebc
+dbcf efgdca gacdfb bc abfcg dafcbge gbeaf bac gdecba dgfca | gcfab dbgace abcfg dbegfca
+aecbgd bgadf bgdcfea bfgdea egaf gfd eabdg gf adbcf cbgfde | fgea fgd dfg feag
+ecdab agcdb adfcegb cadgeb acfdg fgdcbe gbd bg aegb befacd | bgecdaf bgfedca ebdac dacbeg
+acfge bcfaedg fb adegfb bcgfae ecfadg fbac fbe ecbfg dgbce | efgbac bfe afegc cbedg
+afgec gefbd edcb edcabgf dcg cdfebg fgbade gabfcd edcgf cd | fagdbe gdcbfe gecaf egfac
+ce ebadg ebc agfcb cdagbe degbfa edcabf dcge gebac egadbcf | ec afebdg gefbad ec
+ebagcf db bfegad gadfb eabfg gebd edbafc dfcgaeb bdf dfcga | cdgaf db adbfegc egdb
+gefbcd fgcbd fca gcdfea agfb ecafgdb af dabfc acbde gbfdca | dgbefca bgedcf debfcg gfaebdc
+debcf degcfa fdgaeb gcdbea cbga cdbeg decga ebg gb dabcfeg | abgecd bg gcbade baefdgc
+gdcbe ga gcae cgdba fgbade fcbedag abfcd gba dacgbe fdbcge | abg dabcg bcfad bga
+dagef geab agdfbe dceaf gcdbef egbdfca fabgd eg egf bcgfad | dgafb ge gfdae aedfg
+afbecdg cebga abdcge eadcb gbe dbcg befadc fcaeg bg efbdga | gb bfcdae bg bge
+dagbcf debfgc aegc bag abgde dbacge dfaebcg bdecg ag adfbe | ga gcaefdb gba bdgaec
+abdecf fcdeb dfca bdecg fcb cf febad gbafec dgfbcea gadfeb | dcbfe cfb adfc adfc
+dfgcbe dfcbgae dfagb geabdc cfg cgdbf cbfe bdcge cf gdeafc | fdaceg bfec fcbe fdgbc
+degfbc ab cfbgade eabc dcbgfa gab cbdega eagdf cegbd abegd | ab dfecbag ba ab
+efgac dceagbf faebc efg fg gdeacf gacdeb gbdfea gfdc dagce | fg efacg becaf gfcaebd
+adgb befgcd ceafg ebcafd agdfbe fageb gbdfe ba edafbgc eba | ecdgfb befdga badgef bea
+fdcabe bdfaecg dage acefg ae fgcba egdcf eaf adgcfe gbcfde | fdceg eaf aef bfadecg
+abgdc da gadbec gdbcf dag egbac dcea becfga gafebd dcbgafe | acgbde gdfabe dga dag
+cd acd eabdf gadfebc cdaegf beagc bfcd gbedaf bdace bdceaf | bdfc debfac cad cda
+geabcf fcg fcaeb aefcgd gfbed defcgab gc gcefb cdeabf acbg | gc dgacef gc geadcf
+cbedgf febad faec bfdca ebf ef daefbgc gbead gfcbad eafcdb | gfadbc fe fadcb ef
+egfbac fbadec cged dbgfec fde ed abfgd becgf acdegbf efdgb | fde cagfbde ecdg dcge
+gbadf bdagef cdgb dbgcaf bc cedfa ebgadcf begfca cab dafbc | bcdfga cfaed cgbd dfcab
+fcgdba abdef dbfce efc fbeacdg gedc gbfced gacbef ce fgcdb | afedb fec fce dbfcge
+bef cfae adefbc afdgebc fabed fcebdg fdbac fbdgac ef gedab | gfdabec afce fe cbgadf
+gabe ceg fgace fbedacg ebafc ge ebgfca gdbcfe gcadf cabfde | dacefb gfcdbe cge becgdf
+ebgcad dcagfeb dacg gfabe gbedcf gaedb acbde bcefda dbg dg | gdcbea bdg agedb becdfag
+ebfag agdebcf gedcaf cefga gdcbaf efdba acebfg bg fbg cbeg | bgf gceb gfb ebcg
+bcaedg ecf dgfe cegad caefg gdbaecf ef cgedfa dfecab bfacg | edcag geacd fec edgf
+facdeg gb abfegd eadfg bgfd bcead ebg cebagf gabed gbcafed | dbagfe fgdb aegfd fbdg
+aedgcb cdg fgaced afbdg fagec dbagfce egbacf decf gafdc cd | dc gcd cd cgefba
+ecbf bcadf afecbd be bed gacfdb gdbeaf cbdea becdgaf aedcg | cdaeg bde bfec dbefca
+feacg cfgebd dfaceg adbcg cegfab bagec bedfgac befa eb geb | acbfeg be ceafg fbae
+cdgbfa cbfea efga becdf caf gbcaed bgefca af cegdfba agbec | fage fa cfa fgcbea
+bdagc fecdb bfeacd gaedfb gfcdbe afd af ecaf edcafbg afdbc | fda fegacbd dgabc fabcd
+gfecba fbaecd bagf gcefa gac ag egbacdf dcabeg fecgd efabc | edbcag efacg gafb gacfbe
+aecdfb adegf gbcdaf egfdc gfa eagb ga gbaefd gfedabc fadbe | gfedc cdafbe edagcbf edgbcfa
+eacbd fbcegad efdcb eafbdg eabcdg cad ca gcbadf gdbae gcea | dac dbegfca cdbea dca
+beg bfadeg bfgcde egdacbf ebagf caefg eadb abdgf eb abfgdc | bge eabd dbfgce edab
+fadceb cef edac ec efabcg fcdbg befda bgdefac befdga ecbfd | aecd fgeacdb ce ecbadfg
+fdagbc fcgebda dcae dgceb abged dc cdb gcebf aefdgb dcbaeg | afdbgce bdgcea ceda efbgcad
+dcbage bdefag cafgd cbef bdf cefadb dbcfa bf ebadfcg bcead | bgeacd bafdc fb efcb
+fbgac fbg abfcdg gefdac bg efgbda dbgc dagcf bcefgad cfbae | gb afbdcg ebgcadf dgafebc
+gedfb fbcea gbeaf gcfeba bdgceaf fedagc gae adcebf ga acbg | ga cdabfe ag cfeab
+aefcd efbadc bedc fcgbda deafb adgcfe fdb efbag gafdebc bd | bedgcaf bd bcadfg cebd
+adfcge gfadc dcfab gecd fbaedg adegfbc cefag baecgf gd fgd | cdge adfcb cgde gd
+ef aef adcfe cdfbga bcfe bcfeda dabfc fagcdbe bedfag adceg | bfdca faecbdg fe dgfabe
+gcefdb acgeb dfage dfcegab gcdea edc gdaebf adfgce dc dacf | afdgbe cafdegb dbgcaef aefdgb
+afebd dbeag efacbdg bdeafc gfdcab fdge gad ecbga gd adegfb | dga badfgc bedag dag
+agfdce ecagdb fdbac fdeca egafd ce gbacfed begfad efgc aec | ecfg ce ce daegbfc
+cabged fabge afd facbgd cdgba cfdg fd baecdf bfdgeca gbafd | efcadb dfcg fcadebg cfeadgb
+gabfc aefdb adc fcdbae cgdebaf cefgda cbed bgfeda acdbf cd | daebfg dgceaf cd cd
+acgbde cdabgfe gae bfcgda badcg baed gbeca cgfeb ecdfga ae | aefdcg bdae eag cgbafde
+bfcega fagdc egfacdb efbd dfebag adegb dagfe ef efg begacd | debf cadgf abgecf deafg
+gd gdabc gdfa gbd gbdacf cdebafg fcdebg dbcfea agbec cfdba | bdg befdgc acbeg dagf
+gbce gef edgcbf cefdga fgabd eg befgd bacedf fdcbe dgcefab | gfe egf cgeb edfcb
+eb fcdgb acfge edgcabf fbcaed bfcdge bdge fcbge fbdcga ceb | ecb fcedbag ecb efgbdc
+gcea caf fcdebga ac cbdafe gdfbec egfcda dcagf dbafg fgecd | facgd fbcdea ebcgfd decgf
+fbca adbcef becgd bcdae acdfgeb cfgdae ab gaebdf abe fadce | fdagec fcebad daceb ab
+ca afgbe fdeagcb fabdge gbfac bcgdf bagcef afc dcgafe acbe | ca dgbfc bace afc
+dce fgbcead fgecad fedcab cgae febdg fbacgd dfacg egdfc ec | cbegfad ecga efcdg gfcbad
+dg gcedbf gdb febdc adbcfe cbgae gfde dgcbe gdacbf bcgafde | fbceda gd cbefad cebagdf
+bdg egdfab cgadf adbefc cadbe aedgcb gbacd gcfbdea gb gebc | gbd cbge gceabd gfacd
+edgfba cfbgae dfbgace egcfbd efdc cf cgf gdebf fdbgc cdbag | fdgbea cadgb dfeabgc fc
+ce bfcdae egfabd cef begc gdebcfa abfeg cfbgae afdgc agcfe | gfabed fec agcbef fce
+acfe ecg cdaebg bfgde gbcfe agcfb cfdagb ce agecfb cafgedb | cge face cge fcebga
+gbeda baegf dgb dg edacbg afgcdb cdfbae afcdgeb dgce cadeb | dbg debacf bgd edabc
+afcdgb fbdceg edcgfa fbc gfbac cbaeg bf gfdca bfad fbcgeda | gecdabf cfb dabf acgfd
+af gfcea afg fbgecd bgcafed bgeca gcadef faed cgfbda cgfed | facedg fead edgcaf fdcabg
+fcadbeg fag egcfab efadg fbdgce dgacef gedab afdc gefcd af | adgeb gaf afcd afdc
+deacgbf bedgaf gbdf fdeba bef bcfage edbca bf fegad dacegf | fdacge edfag cdefga febgac
+bafecg cfdba dagcbe aeb cadeg fagecbd deafgc gdbe debac be | ebadgc aeb eb eab
+fgad gbadce abd gfedbc cfgeadb ebcaf abdfc fbcdg ad fgdcab | da fdag cedgfb gcbdef
+dfcbe cf cef fdgc cdbeg cfdgbe cegdab fgabecd agfcbe bedfa | cef fdgc adfecgb adcfgeb
+efcdg afbd bdcafg bfcaedg bdc db bdgaec caegfb bdgcf gfcba | gfdbc db fagcb dcb
+bdegfc gd gfacb fcegba fgd cfagd efdbacg edacf adgfbc gbda | edacf gabd gd gd
+dfb caebd dfabe abegf fadbeg agcfbe cbadgf df fdaecgb dfeg | bgcdaf fegd df gcbeaf
+acfdbe cfd fbeac cd acde gbcadf dgacfbe egfdb fceabg bcefd | eacd dcf gebfd dc
+ebg cedfag gb feagd gfdbce begcdaf fagb bdaeg dabec dbfage | fgba bgeadf bedgfa gabf
+gdafcbe eag daebf aefdg fecgd ga fegacd cagf debcfg gedacb | cdefga defcg ga gdaecf
+dgea gcaebf caefgdb edbcga ced ed cabdef gcabe gdcfb gedcb | daegcfb gdcbf cfeadgb de
+cdfage gcbfda cabdfe fcb bf deafbcg aebf bfdec fcead dgebc | fcdageb abdfcge afecgdb eafdgcb
+cfgd cg acg bdcagf agfebd acgdb bcdae abgefc gabfd efabgdc | gbcda cbdgefa agc bgdfa
+bfcged dbgcf aebcfg cafdebg bcg acdfb gc edgc edfgb aebdfg | cbg cg cbagefd agfebdc
+fecdb bcfead bcfda ebacfg fba ab cdabfge dabe adgcf efgdcb | bdea dbfac ba abde
+adfgb begc gecfdb ebdafc fbe eb beagcfd efcgad ecfgd gdfbe | bceafd fbe gbfed ebf
+gaefdc gdafebc dfba da fgdbe ead bgade agbec edfgab fcegdb | cgbefd ad ead agbec
+dceafg fceb afc bcefdag cgdba fcbga eabfcg fc gfaeb ebafdg | debgaf ecbf efbc agbfce
+adecgbf aecdbg cgdb aegdb ged gd afdbe fecdag bcefag cbaeg | dg eacgfbd edg gd
+dgceb cgafdb cbgea ecgdaf cgaefbd ae gbacf age acegbf ebfa | cgabf faeb fbacg abef
+gfec dgbfcae gedcb efb efcdbg ceadbg fe decfb fbgaed dfcab | efb ceabgfd defbga cbdge
+efb gdcafe acfbd afcge bgfdec be fcbage gbea bdgecfa ecabf | abeg bef be eb
+gbcd egdafc bgcdfe gbf gfedc gfbce faebc gafdeb gacebfd gb | bgcd bgfdae gb bdegfa
+cbegf ga fgad agcef aecdgf cag edgbca gabecdf eafcd cefdab | fgcabed ga cga gcfae
+badeg ecfdbag gf gaf bfedag bgfad gfeb agecdb facbd cfeagd | agf egdba dbacf gf
+abe acdfegb beadgc bcdga caedb dgeb ceabgf be dbgfca cfeda | aeb feabcg eb gdfbac
+bcfgd cgaedfb cfegab gd cafbd dgfaeb gecd dfg fbdceg ecbgf | gfceab efgabc cdeg bcgfade
+da agcfb edfa egadfbc gcdeaf cegdba agfcd ecdfg gcdfeb gda | adfe fedcgba aedf cfbdgea
+cdeabf bcaedgf dcfab bfcag bgdc cegfa gedbfa bg dfcgab gba | gab fgbac fabcd cfeagdb
+gad gd daecb bcgdaf adegb cegd eabgf agcdbfe agcebd edcafb | dg edgc dfagcb cged
+fbecdg efbagc gacfbd bdfe fe cef fceadgb dgcae cdefg cdfbg | facbeg ebcfgd cadgbf cfbgae
+abdce gd gebfcd cadgb gcd bgfeadc adeg adbfec facbg gedbac | gcd dbgaec ebdgca dacbe
+gfdcbe adgbfc fedga af bdaeg efca eabfgcd fag fcdge dfecag | cegfbd ceabgdf agf cfae
+cf cafbde agfdb cfb bdgcae cebafg acbde bfcda cefd febgdac | gebfacd efabcdg adbcf gdebfac
+befcgd aefcbgd fdcg edf adbecg febdc degabf dcgbe fd eafbc | fde edf fcdg df
+adef bgdacf caf fgbec fa abgecd acdbe bfeca agbfecd dcbefa | acdeb edaf fdea cbfedag
+ceafbg gbacd egacd ea fcdge dabe age cgbdae cfgbad cegbdfa | gdcbea adeb cebgfda dagfbc
+bcdeafg gbdafc ed def bfaed dafbg bdfgae bdge fbcea edagfc | dbfeag cadefg de dfe
+ebgcdf acefgb ca cfdab cab adcbfe debacfg dfabg adec fecbd | bacfd cba bfgda baegfcd
+gceaf afdeg cfaegbd dabge gdf gacfed gaecbf fcgbde fd adcf | fecdgb fd fd dgf
+bdfgac bagdc af fadb gfa efgdc bfeacdg bfacge acgdf dgbaec | dgcef aegcbd afg gfedc
+aedfbc abdg bceda baegcd cgdefb gb efcga begac efdbcga gbe | aegdcb dbface gedfbc gbe
+gdacef deacg fa gdfbcea cfgea bgecf fag cedabg gadbfc dfea | eagcd gbdcaf fga fabcdg
+gac afbgc acebf bgdfa gc fbadgce gcefad cgdb dbegaf cabfgd | cg gc bacgdf acg
+ebcdg bda dgfacb agebdfc cbdea cbagef da cabdef ebafc fead | ad cgbde cdbeg adef
+ed adbfg gbceda gde bgaedfc dgfeb abfcge cbfgde fced begfc | gbfda cgaedfb egcfba begcfd
+dfc abcfed cbfaeg adfb cedbf fd bfcadeg cabfe decbg edgcaf | cbefga efcdb gfaecb gceabf
+bdegf dbafeg db efagb fcbage bgda decfbag afcebd dbe fedgc | adbefg cdfge ebd gfabe
+ag fbagcd fgda dacgb dcebaf abg bcfad efbdagc fecgba ebdcg | gab gcedfba dgecafb fabedc
+ebagc bdfaeg ea adec bedcg bae bfgac cdaegb gedcbf dgbacef | cefgbd ea cbdefg bgdec
+ecbfd egdfac efagc bcgaefd agcd gfeabd dg cfged gfaebc fgd | acdg dfceb cefadg badfeg
+cdfeag cgfea fdgc cf gefdba gecbadf fca cebga gdafe bcfdea | degfbca fcdg bdagfe acf
+be fcebga dgefab gdabc egabc febadcg gfcaed ecfb efagc egb | gaefdbc fegadb bfce fceadg
+dbagf bcdgfa dbcfg bgaefd bfdaec bcd dc egabfdc gfcbe cdag | gcad acgd dc dbgfa
+ecadg cbgad adefbg cdgeba gae gdcabf dfcge ae bace cdbgeaf | ae dagce ebdafgc gacdbf
+gdecaf cebdfag fbega bgcfde dcbf gdb cegfd gacdeb db bgdfe | bdg db gbaef dfgbaec
+edgacfb cgdfb agdfc dfbeca fdegca ag eagc efdagb agd cdeaf | ecafd dag adg eagc
+fg aedcbf bfdac fdgac acdfbg cedga bcdgef gfd fbga acgdbfe | efcdbg dcabegf dgabfce bfadc
+efbag cgafb gfdeab eacfdg cbagfe cg gfc gceb dafecgb fbadc | gcf gbfac fbgae gebfa
+eacfd dbfaeg cbdgfa badgf efb dfeba fgceadb eb edbg efgbca | ebafgc be fdeab bfe
+dbeac bcgfade debafc fdca efcabg gbead bca fdceb gefcbd ac | abc acdbe edagfbc ac
+faecd gcbadef fdagc cfg fcbdeg abefgd gacb cdfbga fgbad gc | bcdefag gc gcf dfcbag
+dgc dg cbagfe cdgbaf adecgb bacedfg cbaeg bcdeg cefdb dage | gdae cadbge cdg gdc
+gfeacb begafcd fgbacd cbafd fbcaed cfead eaf ebad cdfeg ea | cgbfaed dacfebg gcdef cgedf
+acgfebd fedbag dbceg badgec gcda efcbg dce bdaefc dc bdage | aebdfg abdeg edc gcad
+bafcge bgade gafdb dafbce ebd fadcebg eagcb agcdbe ed gdec | cegbaf cgebda ed edbag
+bgfadc bdea fegcbda fgdceb gceaf cabdge gcdeb gda cdgea da | adg edabfgc dfacgb ecfag
+efbgdac fceag fdegba gadfbc debc be dcgbea cagbe abgdc egb | dcbe eb efgcbad cgeaf
+dabcef dacgfb fgcbe efd ed ecfbgda cdegf dgfeca daeg gfcda | cfgdea gdabcf de de
+gcdb ebagfdc fcdag bdfaeg badcgf gdeafc caebf gb fgbac abg | fcagdbe gb bgdc afdgc
+acdgf beda gdb bfgade gbfea efbcgd fgdab cgefdba db cfgeab | bfaedg afgdb bdg bd
+cgaef eb abgec fbgadc gebd becdga faedbc aeb bdagc dgecfba | dcfabg gcfea bfeacd eb
+gbcad fgceab fcaeb faedcb dfbe cdafb cegadbf cagdef dfa df | fgecad efacbd egfcda defb
+gdcaef ebafdc bgda abfgecd ebfda ag gae gfdbae begcf gfeba | agbef ga feabg ega
+aebcfg dgafc ba dbfge afbdg cabdefg dceagf abg dcba dfcgab | cbefgda dfgeb cgdfae bgafce
+ed fcegba gdae adbcef fdcbg gefdbca egfca afdceg dec ecdfg | ecd gfbdc bcfgd dgfce
+agdc ecdbagf gbcfa gfcbad dcbefg adfgb ecfbga dbg dbefa gd | bdg facbdeg bdg gdcbaf
+db gfdeb ebd adbefgc fgced dfcgae bcegad egcfbd afgbe cdfb | aefcdg fcdgbae egdcf cgeabd
+egcfa cefdag cb cgbfea bfca ebdgcf cbaeg eadbg gcb ecdfabg | ceagf cedbfg bacf bfac
+gfadcb aedc febcg cd dfecga fcd fegcd gefbda eadfg bdcfeag | aedfg fgaed cd fbecg
+adefb gaecf aefdbgc acfdeb cdabgf gb gbed bdgefa bga efabg | dbfae dgabcef abg cbgfda
+degcfb adebgc afegdbc ca dfgae acgb degac cdfaeb eac debcg | bacged gadef gbac gbecadf
+abgcdfe ace fcaeg fgbac dafe deagcb afgecd ea bcgdfe gdcfe | ea gaebdc ecafdg aefd
+cafedbg cdbafe dcfegb abd dfcab gabdef cabe efdbc ba gfcad | ba ebac bad aefgcdb
+edbgfa bacdf adfbce caeb efcdbag cebdf bdgfac eb cegfd efb | ebf bfeadc eb bfdeac
+cbadfe fcg cbafe fg gbecd fdacbg efgbc fecabg beadgcf efga | abdfceg ecbdg fgceb gf
+gbdfa gfceda def befg caebd bdfea fe bfadcg dbfgae dabgcef | dcbea fe efgb bcdea
+bacgd gade cdebgf badgce da cedbg dab bfgac egdacfb debfca | gafbced abefcgd da deag
+acbdfg fd aecdfgb ecadf dgcbae cedfag aecdg abefc egfd daf | afceb dfa fgde aefcb
+cdgafb dcafg afegc gabd bdefcg cgd gfaebdc fbdeac gd cafdb | dg dg gcd dgacfb
+geafdc gecfb gafcd gbadfec db bgfeda gbdfc abdc fdcgab bdf | eagfdb bgaefd db bdf
+acdf adfge gefcab defcga df fgcae fed bcafdge abdge cgdbef | fd fd gfbaecd facd
+cd cebfd defacg fcd gefcdab abdef bceafd abdc befgc dfagbe | bdca dfecb feacdg cfd
+gadef fedc eafgb fd ecadg cdabfg fdg gceadb cedgfa edbgafc | bdcagf df egacd bgaecdf
+dacbefg ebdcgf cegfda fdcga bfc bfga abcde bcgadf bf bdcfa | fgba ceafgd bf defbcg
+ac efcbd gedfca ace febcad cabde gcdbef bgade bdegacf cfab | befcd acbf ceagbfd abdecgf
+dbfagc abdce fgea gab ceagb fbcega gecdfba ag gfecb efcgbd | cgadfb aefgbc gaebfc efag
+cebfd bdfeag fgc edgaf gc dgca cdebafg gcfde geafcd feacbg | fcgde gcdeafb adcg gfdaceb
+gcebadf cebdag egcfda acfd cdegf fgecba cf dgeac fcg fdgeb | decfga fdac egabcf ecabdg
+fgabc egbfcd eaf gead dfegb edgcbaf agfdeb acbdfe ae afgeb | gdebf dgae gebdf efa
+gcadbe bacgd gcbafed gdcef aebfgd age aecgd cabe dfbgac ae | dcgba bace age acbe
+fgdca gcabfd dfea gcefa ecdgaf adfbgce cae gecabd cgebf ae | ae fcegb acgdebf acbedg
+acbdgfe gdcfa aecfg abfdc gd fgdb efbacd gfdbac gda bcedag | dga fgdb bagdcf gd
+fg dagfcb gfeac cegba dfceab adfgbec fged gfacde fcdae fcg | dfge fgc acgef gcf
+agfcbd cbagef edbfg ecbgafd bagec fageb cabdeg fa ecaf abf | efagb debgf af caebgf
+afecdg decgfb geabd bgd afbd bd caegb fgacbed feagd gfaedb | gcafed cebfdg fadb cfaedg
+cedfb dgfeab ecgba fcdg fgb befgc fdaebc gfebcd fg adcgfbe | fdgc afbdcge cgdbef cefbg
+defc gebcf cgdbfa fc cegab bfdeg dgcfeb fgc bgadfe dagcfeb | fcde bedgf gfc gfdbea
+badceg bea gbafc dafge cfbdga geafcb cfbe gabfe eb gfcdabe | eba bfce fbec eafcgb
+fbcedg gf aedcg decbf gfeabd efg gbcf faebcd eadbgfc efdcg | fge dgcbef fge cfgb
+cbdeg bfca ca bgefa aebgc fcgaed gcfbea gac cfegabd defgba | gcaeb gebfda bgedfca ca
+ecfd cabdg bcfeda cdeab ed eafbgc dae gaebfd ceafb cfgdaeb | cefadb befacgd ecfd gbfaced
+cgdea gcfabe afecgbd becgdf eb abgce abef bce fcgab dcbfga | bgfdce egcfbd ebcfgd ebcdafg
+fcbed fbged fdag gd egdfbac gacdeb egbaf dge cbeagf fdbgea | deg dg dacegb cdgabe
+faegcbd aed gfdba fdce gfacde ed adfge dcegba acgebf fcaeg | aedfg cebagf de de
+dbcega geabf gcebfd deg cfbade dg debgf dgfc dcfbe ebadfcg | cdfaeb deg gfabe gcbedf
+bgecd bafg efdab ebdcaf edfgab gf dfg degbf fcgeadb aefgcd | gabf bdgfe fbdae cbedfa
diff --git a/2021/08/main.kt b/2021/08/main.kt
new file mode 100644
index 0000000..d33af33
--- /dev/null
+++ b/2021/08/main.kt
@@ -0,0 +1,35 @@
+import java.io.File
+
+fun main() {
+	val records = File("input/1.txt").readLines().map { line ->
+		line.split(" | ", limit = 2).map { it.split(' ')  }.let { Record(it[0], it[1]) }
+	}
+	
+	val simpleDigitCount = records.sumOf { r -> r.output.count { it.length in UNIQUE_SEGMENT_COUNT_TO_DIGITS } }
+	println("Total appearances of 1,4,7,8: $simpleDigitCount")
+}
+
+private data class Record(val patterns: List<String>, val output: List<String>)
+
+private val DIGIT_TO_SEGMENT_COUNT = mapOf(
+	0 to 6,
+	1 to 2,
+	2 to 5,
+	3 to 5,
+	4 to 4,
+	5 to 5,
+	6 to 6,
+	7 to 3,
+	8 to 7,
+	9 to 6,
+)
+
+@Suppress("ConvertLambdaToReference")
+private val SEGMENT_COUNT_TO_DIGITS = DIGIT_TO_SEGMENT_COUNT
+	.entries
+	.groupBy { it.value }
+	.mapValues { it.value.map { e -> e.key } }
+
+private val UNIQUE_SEGMENT_COUNT_TO_DIGITS = SEGMENT_COUNT_TO_DIGITS
+	.filterValues { it.size == 1 }
+	.mapValues { it.value.single() }
diff --git a/README.md b/README.md
index b811679..155b153 100644
--- a/README.md
+++ b/README.md
@@ -37,3 +37,4 @@ The versions should not matter, but I used Visual Studio 2019 with `MSVC v142 (1
 | 2021 |  05 | Kotlin   |
 | 2021 |  06 | Kotlin   |
 | 2021 |  07 | Kotlin   |
+| 2021 |  08 | Kotlin   |
diff --git a/build.gradle.kts b/build.gradle.kts
index 91c5e65..67e7e02 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -50,4 +50,5 @@ sourceSets {
 	make(2021, 5)
 	make(2021, 6)
 	make(2021, 7)
+	make(2021, 8)
 }