diff --git a/09/1.pl b/09/1.pl new file mode 100644 index 0000000..1f00dae --- /dev/null +++ b/09/1.pl @@ -0,0 +1,43 @@ +use 5.20.0; + +my $stream = <>; +chomp $stream; + +$stream = clean_stream($stream); + +use Text::Balanced qw/ extract_bracketed /; +use List::AllUtils qw/ sum /; + +use experimental qw/signatures /; + +say score( $stream ); + +sub score($stream,$level=1) { + + $stream =~ s/.*?\{(.*)\}.*?/$1/; + my @children; + my $extracted; + while( length $stream ) { + ( $extracted, $stream ) = extract_bracketed( $stream, '{}', qr/,?/ ); + push @children, $extracted if length $extracted; + $stream =~ s/^,|,$//; + } + + return sum $level, map { score($_,$level+1) } @children; + + +} + +sub clean_stream { + my $s = shift; + + return $s unless $s =~ s/^(.*?)|>)// ) { + last if $1 eq '>'; + } + + return $clean . clean_stream($s); +} diff --git a/09/input.txt b/09/input.txt new file mode 100644 index 0000000..028108b --- /dev/null +++ b/09/input.txt @@ -0,0 +1 @@ +{{{{{{<,,!u!!!>"!>},<,!!'!>,,},<'{},{!>!!!>>,{{>}}}},{,},<>},{}},{{{{{{<}!>},,<>}}}},{<,!},<>,"{!!!!!><>},{{{{<}!>"e!>,<,!!!>!>!!!>!!!>,!!{!>},<}},<{!>},<>}}}}},{{{{,!!!>!!!>a!!!>,<,<}o!>,>,{{{>},{}},{}}},{<',,,},<>,{}},{{{!>},!>},,}}}},{{},<'!!!!!>"}!>},},,}},{},,},<,!!!>},}},{{{{}}}},{{{{{{}},{!>eaa!!!>!!u{{!!!>!!!>!!{!!!>!!!>e!>>}}},{{{}}},{<},!!!>i!}}i!>,{!>},!!!>!!,o!iu>,{{,,<>}}}},{{{!>},<,!!!!!>u!!i!!!i!!}"!>},<>},{},<>}}},{{}<},!!!>!!e>,<,<"a!>,},<}}},{{{{{{{<>},,},<>},{{},!!!>},},,!u>}},{,},,<"{"!!!!!>u!!!!oou}>}}},{{},}},{{{{{},,}}},{{'>,<"e,'!>,<>},{{<>},{}},{{{,}!!!>{!!e!!!>!!!>i!>},<}},{{{!{!!!>eoo,!>'!>!!oa'a">},{}},{{{{{,>},},<{!>,},}!<}!{!!'',!!!!!>>},uo!>,},},{{{{{<e>}},{{,a>}}}}},{<<>}}},{{},{,<{{!i!>!!!!!!{'",i">}}}},{{{!>}!!!>">}}},{{{<}'u!!{!'!!!!!!!>e!>,!>u'uiu>},{!u!!!>}{!!!>!>,<,>}},{!>>,<<'>},{{{},<'{!ee{'a!>},<'!<}>}},{{,},{,}}}}},{{},{{{eia!!!>'a}"!>,<}i>}},{{},!>"'!!!>,>},{{{,},,<,!>!>,},!!'>},<{{>},<{,,i"{!>},<<}},{{{},<<>}},{},"!!!!!>>},{{<"!>},},<>},{},}}},{{{},<{{!>,!!!>},},,a">},{{{!>,<}!!!>},},,>}}},{{{}},{<>,{}}}}},{{},{{},!>,<}!>},},{}}}},{{{{},{{{{<',<{>}},{{<>},{<,!>a!>!!!>'!!!>'u},!>},<""!!!>},<}!!>}},{{},{u!!e>,}}},{{,<"!>au!>!!>}},{,}}}},{{{{{{},{{},<,e!o,!>},<'!!!>!!!>!>,<},!>!!'!e>},{}},{{},,o!>},!}"!!e"!oa!>},},{{{},{}}}}},{{{{{},,{<{"i>}},{{},,"{!!'>,{}},{!!!!!!e!>i!>,},<,<{e{}"!!o,!!'a!>},i!{>},{},<,!!'!>},<{"}},{}},{{!!a!>>}}},{{{{},{},<"e,o'}e{!>,!!!'!>!>,<>}},u!!!>,},<,!o!>!oa,!>,},},,,,>},{,},<{!!!!'!!!>e!!,!oi>}},{{{<'>,{,,!!}!>>}}},{<,{<"!>},},i}!!e!>,,}},{}}},{{{{{!!"a!,a!>>},<,!>!!!!uu!!!!{!!!>,o',!!"e!!!>!>},,<{}>},<{!!!>!oi>},{{},{}}},{{<"!>,<>,,{"a!!!!!{!!!>!!!!!!!>!i{>},{{>}}},{{,},{<}>,{<{e>}},{{,},<'o'!>!!!}}o!!},{},}!!!>"!>,!!{e!!e>}}},{{{{},<"e"!>,,<,!>},<{u!>,>},{}},{{"}"!},{!o!u!!eeiua!!,!!!>e!!>}},{{,,<{'>},{<{,!!e{>,{},<},<{"}aa!>,<">}}}},{{{}},{{{{,<'!>!!!!}{!>,,<{!>,<<'!!<>}}}},{{{{{<>}}},{{}}},{{{<'ooeu!!{>,{}},{<}!>,},},!>,<{!>e!>},<>}},{},},{"!!a!!!>,!>},!a,<{u!!e'>,{}}}}},{{{{{,,<,ii!>}!!!u>},{{,<,"u,!!!>!>},<>}}},{},{{<{!>!>},<'!!i'!>,},},}'!!u>},{},{<>}}}},{},{{{i!!!>}!!'!>!>!!u,{!'!>},<"!!>}},{<{!!!>!!e!>},<<>}},{{{{}}},{<,e,!>!!!>,<<>,{{<}}}!'"a"'!>},<}}},{{<{'<},<'}!!!>u,!>!>!u!>,<>},{<'e!>e!a!>!!}iu!>>}}}},{{{{}},{{},{{<>,{}},{{{<"}!u"}a!!}!!!>e!>ua!!!>">},{{},}}}},{{<,!>,u"},<{>}}},{{!!a!!uo"!>},ae>}}},{},!!a{!!!>!'{>,{{{},,},},{,}},{{},<'o>}}}},{{{<}}>}}},{{{},{}!!!>a!>,<>,{}}},{!>!>},}}}}},{{{{{}}},{{<>},{{},},<'!>a>}}},{!!!>},},e>}},{<"{a!!u!!eaea>},{},<,!!!>'>,{}}}},{{{{}},<'i!i!!!'!>,<}u!!a},!!u!>>}}},{{{},{''{e!>,>,{{{{},{{},i!>},},{{},}!>!!!>,<<>},{ei<,o,!!,!o,a!a!!!>}<>}}}}},{}}}},{{<>},{i!!!>'!>!>,<>}}},{{{},{{<}}}},{{},<o!o!>},<{>,{<,e!>,<>}},{}}}},{{{{<u>},{},<>,{{}}}},{<,!>'iae!!!!{>,<"},{{<>},{},<>,a!>,"'!>!>},,<>},{<<,!!!>"i!>},<"o!>,,<}!!!!e,"o>,{<{!>e>,{<,'!>}!u!!!>{<{!!!!{!!<}!!!>!!!>">}}}}},{{},{{u!>},,{{,<,{,!>!!,au>}}}},{{aiui!!}!,"'a!!!>'!>u!>!>,<<>}}},{{,},{},u!>},,{}},{}},{{{{},,<,o!>},<"o!!{}!a>},{{,},{{a!!!ii!!!!!>e>}}}}},{{{{,},{<'!>,},<"uueoe!!a!>},<{!>},}}},{{<>},{{!!}iaaae!>!!!>!>},}}}}}},{{{{!i!!iea{!>},<}u!ae"!!i>},{<"}!!>}},{{{<{}},{{},!>},!>,eoo!!ui!>!!{!ii}>},{{{}},{{<},o"!>,a}!,'!>},<>},uue>}}},{}},{{!!>,},<{!>,<}oio!>,<>},{},<}}>,{{<{'>}}}},{{{<"!!!>'o!i!u,i>}},{o!>,<{!>},,"!>},<'e",{i}!>>,{}},{{,<'!>>,},!>},u}o!!!>'o{>},i}!<}},{{!!!>,,>},{{{<,'}},{},{{{,!!{'"!>},},>}}}}}}},{},{{{{{{,,<>}}},{{},{{{},{,<'u}}{!>a!!!>!>>}},,},{!!!!o''e!i!!!>o,>,{<',!!!>!!!!!>!>,u!>,<,,!!i!>!>},<>}}},{{{},!!!>},},o!>!,!!>}},{{{<'!!}'euiii!>}},{{{},{},<,!}!>,}},{{{,},,<{o!>e<>},{}}}},{<!>>}},{},,,{u!!!>>}}},{{{},{!!!>!>},<}!!"!>,!!!!!>!e>,}o!!!>u>},{{},<,!>,<<}}},{{{!>aaa'>},i'{<{}!>!!!>}e!>,},<>},{},,{{},{}}}}}}},{{{{<'!>},},"!!a!>,<>},{{},<,!!!>>}}},{},{,{{<<,i,!!!!!>,>}}}},{{{{{{<",eau'i{!!!>}>}},{{}}},{{<{!,}oi!>>}}},{{{<,>},{,},}},{},u,<>}}},{{!!!i!a'a''>},{{{{},<,u!>!oe'!!!!u{!o!,'>},},{{}},{{{{<,}}!!>,{"!ia!>,{"!>,}},{,},e'!!!,>}},{{{,<>},},!!{e!!o>},},<"!>},!!!uai>}},{},{<<,>}}}},{},{{{},{},{{<,!!!!io!u!>,!'!>,>}}},{{{{{<{ou,<>}},{{,>},{}}},{{{i!>>},{},{{<{!!>},,!!}}}},{},{{<}a,a!!>},!'"!>},,<,u>}},{{{}},{>},{{{,},!!!>,,<>},{{{<{<{>}}}},{{},,<>,!!i!!!>i!>,<{!>},<}!!!>,},{<{>,{,<}}},{}}}}}},{{{!!{!>}>},{{!,{{>},a{u,>},{},>}},{{{<,!!!>}o,u>}},{{,,},<'{u">,{,>,{<>}}},{{<>}}},{{<}}!>,!!}!o>},{!!!!}}},{{{{{<}ia!u!>i<{'!!'"u!!!>},<>}},{{!{!<'!!"u>}},{},<'a!>,,,!!!!!>!>,<>,{!!!>u!!!>!>,},o!>,<>}}}},{{{{{},<{!!!!'!>,<"!!!>u!!'>},{}},{<,{{<io""!>},<>},{{<'e!!!><<,!!!>,uei>}}}}},{},{{{o!!o,a"!>,<}!!>}},{{<>},{{<"""!!!e!i!u">,{<{">}}},{{<}!>!>i!>,}}}},{{<,!>,<!!e!!{uu!!!>>}}},{{{<},!>!o!!ao>,o!>a!!!>},!!">},{{{{{!i}{!!{!>},<"!>,<>}},{<""o"!!!>>}},{{i!},,<,',!ei}>,{!a{!>,,>}},{{},,!!!>!!!>},{eoeo!!i}e>},{{{{<,i'u!>},<>},{{,{{},<{ea!>,,<"}!!!>,<<>,{{},!>},<>}}},}}}},},},"!o{{'!!{}euu,}}}},{{},<"{}{}!!u!>i<>}}}},{{<,!>,}ae!>},<'',},},{<}!!!>{!>},!!!>!!!!,o!!},<>}},{,<","!!">,{<{'!!!!"{!!!>,,}}},{{},},},<,'!>}">,{e'!!e'a!>,,{,!!!>>}}},{{<,!!!!,a!!!>uo>}}}},{{{}u},<>}}}}},{{{'!>a>}},{{oi{!!a'{!!!>!>,>,,<}">},{<{!>!>,<>}},{{>,{},!>,}},{{{{{,>}}}},{}},{{,<}}u{ea!!!ia"u>,{!>},<"!>,<{>}}}},{}}},{{{{{{{{,<,aeu"!!!!'e!>,<,!e"!"!!!>!>,<,,>}},{{{}},{{{,,},},,<'>,{<{}u!iie!!ai!>,},<}}},{,<'!>},<,!>ii,!!}e'!o!>>,{{{},{<<"",!}}o!!!><},}!>},<,>}}}},{{{},>}}},{{{},<>},{},!>!>,<>,{,,!!!>">}}},{,<,>,{<}e!!!>e'!,u!!>}}}}},{{<uia>},{<"{!>,!>,<'"!o!>,,},<'!>},o!!!!'{>}}},{{<>},{}}},{{{a!{!a!!!!{ueo">},<"!!i'!>},!}{a!>},},<>},{!>},<}!>oo!!!>}}!!!>!>!>},{{<"}!!'i!>},<},a},!a!!<{,>,{}},{}}},{{{{,<>,},{,!>},,<,'}>}},{{{<>}}},{{{oo!!},!!!!!>i!>},,{!!,a'!!!>i<,<"!!!!!>!}i!!>}},{{{{!!e!>,>}},{u"!!!>!>!'!!e"!!!>!>,}}},{{{},<,!!o}i!>,<,!!<,!>,},<}'!>,<,u>},{,<,!"{ua{!!e!>,<'a!>,},,},!!'a!a'!>,<>}},{{{'>},{<'}!!u!>},}},{<"!!!!e}>}}}},{{{,{}},{{{!!!>}}!!}!>,<>}},<>},{<{!!o"!!i{ue,!>!!!>!!a,e"!{!i>}},{{{u!>}'!!!>u{>},{{,{}},{{{,!i!!u!!!!>,<>},},,},}}},{{{},<{!!u!>},!!!!e{},>},{,}!!'!!!>!i"!>},<}}},{}},{{,{}!>,!!!!!>!>},}}},{{>}}},{{<'!eo!!!>o!!!>},<>,{iio!>!>},<>}},{{{,<,<>}}}},{{{<<'>,{{}}},{<{i!!u,!!!>,i!>},'a>}},{{,<'iai},,>}},{{},{{<{!!!i<!!,,a>}},{"iu!>},<,,!!!>u!>},<'}ai{!>,<>,{<"!>,<>}}}},{{{{},{<,""!{ie}{>}},{{,<{}},{}},{{},!>,eo,}!!>,{{!>,}}}}},{{{{{{{u!!',o!!">}},{{},"!>,,<',!!!>},<>},<,e,!!!!oea"'!"">}},{{{<,{!>},<,!!!>!>,,<{!>!!ue!>},<,i'e>,{<}!!aea,}}},{},{!!!!!>},<>,<}{"},<"}eu{u<>}},{{{{},{{}},{}},{{<}!>!!a,!>!>,,<,!>i},<{!!!>ee!,<},{'<}!>>,{<>}},{{{<,!!!>},!ie>},{{},},<},,>}}}},{{{{,},,e",a{>}},{{{<"!!!!!>,},e>}}}},{{<"a>},{{!!!!!>!a!>,},},<'o!>},!>},<,e!>,<{ii!!>}},{{,!!'o"!>{!>,<,{!>,},{}}}},{{{},},<'!>,,!>},},<>},{},,{{},{"}e}e!>},!!!>!ee!>},>}}},{}},{{{{},{<"!!!!!>a!}ua>}},{{<'!!!>>,{<,!ao{,u!!!>,!!!>i!>,<>,{{{}}}}},{{},{{{{}}},{<{!!!>"!>},}},{!>},<},,<}},{}}},{{{<>},{{},<{'!!!!}'!!!>!!!>>}}},{{{{{},<>}}}},,},,}}},{{<"!>},!i!>,<{ue!!!!>,},},<{!u{!>},<>},{{!!!>!i!!,<},<!>,<"u>}},{{},<,>}},{{{!!,e!>,<,>},{<'ee'!!u!>},,}},{{<{'!>,,<},<>},<{!!e!"!{!}iea},<}"aa>}}},{}},{{{},<,!!!>}!>,,!!"},{{,!!i!!!>i,>},{}}}},{{}}},{{{{},},{!!}},},{{<>}},{}},{{<"!>!!!!!,e'!!},<>,{,>}},{{{!!}{o>}},<>}}},{{{{},{<<}!!!>,<},,},',i>}},{},{,<}uo,ueo!!!>,u!!"a!!!>>}},{},},!!!!!!!!,!>!!!!!>!>,,<{>},{{<}!!e!!!!!,!>},<}!>},<'o'!o},{}}},{{o!!!!!>o,!>!!o!!"!!!>,},{,,"}},{{},u!>!!>,{<>}},{{,<,,'!>},<}!!{>},{{{,<,!!'a!!!>},<"{{io!!!>!!>,{<,!i{!!'!>,<,!>!>,,"e"!!}!>},<{ae>}}}}},{{{ae}}}}},{{{u!!io!!!>!>>,<>},{},{,{u!!,'!!}!!!'>,{e!!!!,iu!!!!!>!>},a"{}!>},<>}}},{{{o!!a',>},!>!>{"{{!>,<}ioe'!!!!!>!i!!"!>,>},{{},!>},},{{{}},{!>,,>,{{,<',<,u>},'>}}}}},{{{{{{{e!!}!>u',i!!!>'!!{!}"}!!"e'>},,}}},{{<'>,<<{!!!>e'!!!>!!}"i!>,<>},{<eu!>a}!!!>u!!!>!!>,{{{{}}}}},{{{},{ia!{!!!>{>}}}}},{{{{{>,{!!o!!o'!>},,<{!>,}},{<'!!!!io>}}},{{<,,<>},{,>,{{{{'o!!!!!!u,u!>""!!a!>iu!!{!!>},{,!,o>}},{}},{'}e!!e}!!,!'!>},<{}!!!>!e>}}}},{{},<{,!!a!!!>},<>,{<"!>'!>!>'!!"!}>}},{{,},<{i!>,},!>},,},,},},}}}},{{{{,},<>},{}},{,<'}!>,<>,<,!!}{!!!e!!,>},{{{<!>!>,'!a!!!!"!>oai>},<},!!!>aiu!>o>}}},{{,!!o!,},{{},{},'{!>},<'"<}>,{<,!!!!>}}}},{{{,{a',o!>},<},{!,a>}},{{,<{!!o'u!a},<>}},{{,{<,>}},<>}},{}},{{{},},<,",!!i>,{<>}},{,{}},{{<'!!ai"!>,<{!>},<"!!!!!!>}}}},{{},{{{{<,!<,,'a,!>},,<}""{u">},{}},{},<,!>},}{',!>,}},{},{{}}},{!!!>}!>},},!>},<}>,{<,!>'a"!!!!e'>}}}},{{{{i>,,<{oi'e,"i!>!<>},{{},,<,au>},<,},},{{},,},<>}}}}},{{{{,},},<>}},{{},"!!!'{>},{<",e!!a!!{e>}},{<>}},{{{{u!!e!>,},}},{{{},{{{!!!>>},{}},{{{{}!{i!!,!}!!!"!>!}!!!>},<,a>},{}},{},},<'e!>},<}o>}}}}},{{{<{!!!a!!!!!!e{,o>},{{},{<'!u!>!>},},<,'!!!!{o}!!!e>}},{{{<>,!>,},<"!><<,>},{{<{,!>,!>!>},<<,"!!}!>e>},{<"!>,}}},{{{,{>},{,<{!>,!!i'i!>!>,<"o!!!>!i>}}},{{{},<{'e!>!!!>,,!>,!!!!!>,!!!>},<<<},{{},<}!!!>a!>},<}>},{{<{!>},},<{i}!!'>}}}}}},{{{{{,!!!>!>,!>},!>,}}},<,u!>,!"!!!>,{!!!>!!!>!!!>!!o!!!>>}},{}}},{}},{{{{{},<"">},},{i',e{!>},,,}},{}},{{{{{,{<"!>,{!!!>!!}!!!>!!!>>}}},{<'!!!>!>,}},{{{<'!>}i!iu!!!!!>!>},<,!>i'!!!>>},{<>}},{{},}}}},{{<}!!o},<<},a!>,"!e,{,'!!<>},a'<"'iu!>!!!>"!!!>u>}}},{{{{{{{<'!!!>},,<,},},{,u!>},,u{!>,<>,{}}}}},{{{{{},{<"!>}!>},}i{!!u{!!{<}"!>},<>}},{}},{{,<{a'!!!>!!!>>},!>!>},eo!>},<"!>},},{{},,<'a,>},,!!}a'!>,},,}}}},{{{{},{!>,!>!>},<"!>}'!!>}},{},{<,!>,<,a!>,!!!>e}e!>},<{o{'!!,<>,{<,o!!!,},,u>}}},{{},<>,{}},!!!>i!}!>},<'!>,},<}!>},,},{{},!>!>}iii!!!>},},,,<}!!{uo>}}},{{{},aa!!,>},{{<"!>},e!!oe'!,!!!>""!!!>!}i>,{{<},{<"<'!!ee"!>},},},>}}},!>},}},{<'<>,{},},}},{{<}!!e,{!>,<{!!ua!>},,{{>},{}}},}}}},{{{{{}},{<{u!!!>}!",,!!!>{'>,{}>,{{{}}}}}},{{},{{}},{},<'!!!!!>},<>}},{{{{{{<!uo>},{},{,,{}}},{{}}},{},{{{{{<"!!!>"<>,,{!!!>,e,>},{ua}!!!!eou!!{!!>}},{<<>,{<{}ei{!>},<"u}}">}},{{,!!!!!>,u!>,>},{{<}!}u!>},},!!!>>}}}},{{},{}},{{{{{<>},,,<"o'eu'!>,<'!>,}},{{{<,!!!{!'}!!,!!!!{!>,,<>},"!>'a!!!>,<'!>},<>}}},{{<,}!!i"a!!'u!>},},<,'}!},{,<'!!'!>},,>}},{{<}i"!>},<"ui>},{{}},{<"{!!io!,u!!!!!!'u!>,<>,{!>,}}}}},{{{},},<,i!,!>,!>},}},{,<}{!!!>},<>}},{{{{},{}}},{{},{,,},<'!!!><>}}}},{{{},,,,<>}},{{<{a!!!>}!!,!>,o!>,<>},{}},{,,<"!!!>!!i}!!!!o!>,<<,,,{{,<"{}i!>,<'aaaa}o,<",!!!>,<>}}}}},{{{,!>},e}'>}},{"!i!!a"o!>},,{'e!>}{<'!>,},,<"e>}},{{},<<}!>!!!!o}'!>,!!!>!>},,!>,,{{,}i>}}}}},{{!!>,<'{!!!!o'!!oe!!!},{{{},<>},{!>!>},}},{{{{}},{<}!!!>ooo{!!!>,},!!,}},{<>,{<,!oo,<>}},{}}},{<,!!!>,e!>,,,"e'<>,}!!!>aa!'!!{!>u{!>,<}!!!>!!o{!a>}}},{{{{},{{},},{{<'!!!>u'!>},}"o,!>},,<>},{{}}}},{{,<e!}o{>,},,'!!!'e!!!>>},{{<<>},},{{{"{!!!>},!aau!!!>'!<>,"!!!a'!!!>>},{}},{{<"{'!>!"}i!!!>eu'i}>}},{,!!!>!>},,a}!>,},<{>}}}},{{{{},<>},},<',<>},{u!!<,<'!>,<,>}},{<}u>},{}}},{{u!!{!>!!}>,{{{{{<">},{{},{,!!!>,}}},{<!!}ee!!!>>}},{<,!!!}!>},}},{},}}},{{},{{},{,},}'{!>!>},<>}}},{{{>}}},{{{}},{{}}}}},{{{}},{{{e'{"!>},<>},{{<,a!!!i!!aoo,>}}},{{{},ao!!!!',!!!>o"!!!e!>,<>}},{a}>},{<,oeo>}},{}}},{{{{}},{<,!>},<>},{{,<}a<"!!!>>,{!a!{e!!i!!,,,}}{o}ue},>}}}},{{<,!>},,},{{<}<<',ou!!!,}u!>},,},>}},{{},{},<},<}}u}{>}}}}},{{{{{!>},,!>o!>!>},<'!>!!!!oe!a!{o!!!>}u>},{{,,i!!!>>,{}},{{},{}}}},{{{!{a>,{<"!>},i'!>!>},!>,u!e>}},{{<>}},{<<}}!>},,<{<>,{}}},{}},{{{{{},<>}},,<"i''!!!>!>'"u!>!!!>!!!>>},{},!>},<}u'!!!!u,{,}},{{}}},{{{{{<<'!>},<,!!!!!!oua{!>,>},{{,,!>},<'!>},},,,!>!!!>!!!>!!!>>},{{{<},,<>},>}},{{<<<,<'<>}}},{{},<'!!ei!!aa},!>o!>},}}},{{e!>},},a">},{}},{}}}},{}}},{{{<>}},{<<"!>},a!!!!}!!!!!>!>,<'e},{{<,e!a!!!!,i!!!>},<"!>},<}>}}},{{{!!!>!!"!>,<,!!!>!>},},,,<'!!">},{{{!!{}>},{,'a!>!>},,},!>},},<"''ua},"!!{>}},{,{,e!>},<<"!!!!!!e!>!!'u'!!!!'ea{>}}},{{},<'i"!a,!a!<<'},<},{}}}}}},{{{{{<,!>},,uu!!aoa}>},{<>,{<',iee!!'>}},{{{<,!>,>,i!>{i>},{<"!!!",,i,>}},{}}},{{{<>,{}}},{{},{{{<},ie,{!'>,},},<>}}},{},!>},,e!>},<{!>,{{},<>}}}}},{{{,},<>},{{!!!>a{!>},<}{uiau,!,>,,},<,!>o!>},,},<}!<,oo>},<>},{}},{{<''e!>,!!,>,{{,},,!!!!!>!>,},,<>},{{{a>},{<{!ou>}}}}}},{>,<"!>",uu{!!!!e!>,<>}}},{{{},{{{{{},{"{!>},,''i!>},},}},{{{!>'}!>,,,},<>,,,a,}i!!},<>}}},{{!!!>!>,}}},{{{{<{}{!>},a>}},{}}},{{<,},},},},,}},{!!!>},,<>}},{{{{!!!>'!!{!!!>!a!!!>!>,<'i>}},{},<'au!a!>,<,i'>}},{!!a}'!"!>,<"o!!!!i<>,!!!>!>},"},<,!>,!>>},{{{},<'u'},,<,o!!!>{!>},}}},{{{'!>,,'o!!!>a{!!,<>,{{<}!>'a{aa{{>,{{},!,},!!o>}}},{{'e}iee{u>}}}}},{{{<>}},{{<>}},{{{},"!'!>a>}}}}},{{<'!>,'!>'e'>}}},{{{{},{<}i!"eo!>"ui{!>},<"">},{{u!>!>,!"!!"!!u>},<,}!>,<>}},{{{{>,{{},{}}},{{{},{}},{{{{},{}}},{<',u,!!!!!!!!!!!>{}!!i!>,<}}>}}},{{<'!!!,!!!>}!!!>!>,,<}"!!a!!>}}},{{{ii!!!!,<'u">},{}},{{{<!e}}!>>}},{,>,{}}},{},}oa!!!>>,{<}!>!{!>,,},,<>,{,<'!>},<}!!a"!!{'>}}}},{,<"o!{}a>}},{<>},{{{}},{{,'!>},<'!}!!auo>},{{}}},{{}}}},{{{},{{{'a!}{},<,!!{!>},"!oa!>,>}},{{},{!!a<>}}},{{}},{{{{},{<{!!!>!!{!>!!!>!!e>,{{<,!>!!!>!!,}>}}},{a,<<"<'!>a!!!e>,{!!'}!"!!!>'!!!!,!!{!ea!!!!!!{'!>},<{{{>}}},{{{<>}},},oe{!!"'!>,u!>,},e>}}},{{{,{<>}}},{{{,<}},!!ou}e!}},{u>},{{}}},{{{},!i!!{!!!}!!!>!>!!i!!"!o!>oia{e}>},{,{}},{{{}},{e"!!!>!!!>ui!!"u!>},>},{}}}}}},{{{u!>,i,!>},},{<}>}},{{}}}}},{{{{!,i'!!<'uee>}},{{!>,<',ai!!u!!!!!>!">},,,},{{!!!!!>!!!>!!!>!!!>!!!,!>,<,>,{{}}}}}},{{{{<'i"a{!!!>!,i!u!>!>},}},{<{!!"ii!>},<},u!>,,{a"{!>,<{!>,<>}},{{{{{},},{{},!>,"!a"u!>},<>}},{{}}},{{},<''!a!u>},{<>,{,<>}}},{{{{}}},{{},<>}}},{{,<>,{}},{{{<"!>,!e'u'!>},<{'>},<{uiaa}!!!{!>oo!!>}},{{,},'!!!>!"{!i>}}}}}