#include <iostream> #include <string> #include <vector> typedef struct _value { size_t count_char; char _ch; }value_t; //Cac hoan vi cua 1 tich (X1^m1)(X2^m2)...(Xn^mn) void enumerate(std::vector<value_t>& a, size_t total_char, size_t number_char, size_t current) { size_t l; static char result[128] = { 0 }; static bool first = true; if (current >= total_char) { result[total_char] = 0; if (first) { first = false; std::cout << std::string(result); return; } std::cout << std::string(" + ") << std::string(result); return; } for (l = 0; l < number_char; l++) { if (a[l].count_char > 0) { a[l].count_char--; result[current] = a[l]._ch; enumerate(a, total_char, number_char, current + 1); a[l].count_char++; } } } //giai phuong trinh M1 + M2 + ... + Mn = K (voi Mi >= 0, va K la so nguyen duong) void solve_m(std::vector<size_t>& M, size_t K, size_t idx, size_t sum) { size_t i; if ((sum > K) || idx > M.size()) return; if (sum == K) { bool valid = true; size_t number_char = 0; std::vector<value_t> vv; for (i = 0; i < M.size(); i++) { if (M[i] == 1) return; if (M[i] > 0) { value_t v; v._ch = static_cast<char>('A' + i); v.count_char = M[i]; number_char += M[i]; vv.push_back(v); } } enumerate(vv, number_char, vv.size(), 0); return; } if (idx < M.size()) { for (i = K + 1; i > 0; i--) { M[idx] = i - 1; solve_m(M, K, idx + 1, sum + i - 1); M[idx] = 0; } } } int main() { std::vector<size_t> M; size_t K = 6; //so mu (X1 + ... Xn)^K size_t n = 7; //so luong phan tu (X1 + X2 + .. + Xn) size_t i; for (i = 0; i < n; i++) M.push_back(0); solve_m(M, K, 0, 0); std::cout << std::endl; return 0; }
Standard input is empty
AAAAAA + AAAABB + AAABAB + AAABBA + AABAAB + AABABA + AABBAA + ABAAAB + ABAABA + ABABAA + ABBAAA + BAAAAB + BAAABA + BAABAA + BABAAA + BBAAAA + AAAACC + AAACAC + AAACCA + AACAAC + AACACA + AACCAA + ACAAAC + ACAACA + ACACAA + ACCAAA + CAAAAC + CAAACA + CAACAA + CACAAA + CCAAAA + AAAADD + AAADAD + AAADDA + AADAAD + AADADA + AADDAA + ADAAAD + ADAADA + ADADAA + ADDAAA + DAAAAD + DAAADA + DAADAA + DADAAA + DDAAAA + AAAAEE + AAAEAE + AAAEEA + AAEAAE + AAEAEA + AAEEAA + AEAAAE + AEAAEA + AEAEAA + AEEAAA + EAAAAE + EAAAEA + EAAEAA + EAEAAA + EEAAAA + AAAAFF + AAAFAF + AAAFFA + AAFAAF + AAFAFA + AAFFAA + AFAAAF + AFAAFA + AFAFAA + AFFAAA + FAAAAF + FAAAFA + FAAFAA + FAFAAA + FFAAAA + AAAAGG + AAAGAG + AAAGGA + AAGAAG + AAGAGA + AAGGAA + AGAAAG + AGAAGA + AGAGAA + AGGAAA + GAAAAG + GAAAGA + GAAGAA + GAGAAA + GGAAAA + AAABBB + AABABB + AABBAB + AABBBA + ABAABB + ABABAB + ABABBA + ABBAAB + ABBABA + ABBBAA + BAAABB + BAABAB + BAABBA + BABAAB + BABABA + BABBAA + BBAAAB + BBAABA + BBABAA + BBBAAA + AAACCC + AACACC + AACCAC + AACCCA + ACAACC + ACACAC + ACACCA + ACCAAC + ACCACA + ACCCAA + CAAACC + CAACAC + CAACCA + CACAAC + CACACA + CACCAA + CCAAAC + CCAACA + CCACAA + CCCAAA + AAADDD + AADADD + AADDAD + AADDDA + ADAADD + ADADAD + ADADDA + ADDAAD + ADDADA + ADDDAA + DAAADD + DAADAD + DAADDA + DADAAD + DADADA + DADDAA + DDAAAD + DDAADA + DDADAA + DDDAAA + AAAEEE + AAEAEE + AAEEAE + AAEEEA + AEAAEE + AEAEAE + AEAEEA + AEEAAE + AEEAEA + AEEEAA + EAAAEE + EAAEAE + EAAEEA + EAEAAE + EAEAEA + EAEEAA + EEAAAE + EEAAEA + EEAEAA + EEEAAA + AAAFFF + AAFAFF + AAFFAF + AAFFFA + AFAAFF + AFAFAF + AFAFFA + AFFAAF + AFFAFA + AFFFAA + FAAAFF + FAAFAF + FAAFFA + FAFAAF + FAFAFA + FAFFAA + FFAAAF + FFAAFA + FFAFAA + FFFAAA + AAAGGG + AAGAGG + AAGGAG + AAGGGA + AGAAGG + AGAGAG + AGAGGA + AGGAAG + AGGAGA + AGGGAA + GAAAGG + GAAGAG + GAAGGA + GAGAAG + GAGAGA + GAGGAA + GGAAAG + GGAAGA + GGAGAA + GGGAAA + AABBBB + ABABBB + ABBABB + ABBBAB + ABBBBA + BAABBB + BABABB + BABBAB + BABBBA + BBAABB + BBABAB + BBABBA + BBBAAB + BBBABA + BBBBAA + AABBCC + AABCBC + AABCCB + AACBBC + AACBCB + AACCBB + ABABCC + ABACBC + ABACCB + ABBACC + ABBCAC + ABBCCA + ABCABC + ABCACB + ABCBAC + ABCBCA + ABCCAB + ABCCBA + ACABBC + ACABCB + ACACBB + ACBABC + ACBACB + ACBBAC + ACBBCA + ACBCAB + ACBCBA + ACCABB + ACCBAB + ACCBBA + BAABCC + BAACBC + BAACCB + BABACC + BABCAC + BABCCA + BACABC + BACACB + BACBAC + BACBCA + BACCAB + BACCBA + BBAACC + BBACAC + BBACCA + BBCAAC + BBCACA + BBCCAA + BCAABC + BCAACB + BCABAC + BCABCA + BCACAB + BCACBA + BCBAAC + BCBACA + BCBCAA + BCCAAB + BCCABA + BCCBAA + CAABBC + CAABCB + CAACBB + CABABC + CABACB + CABBAC + CABBCA + CABCAB + CABCBA + CACABB + CACBAB + CACBBA + CBAABC + CBAACB + CBABAC + CBABCA + CBACAB + CBACBA + CBBAAC + CBBACA + CBBCAA + CBCAAB + CBCABA + CBCBAA + CCAABB + CCABAB + CCABBA + CCBAAB + CCBABA + CCBBAA + AABBDD + AABDBD + AABDDB + AADBBD + AADBDB + AADDBB + ABABDD + ABADBD + ABADDB + ABBADD + ABBDAD + ABBDDA + ABDABD + ABDADB + ABDBAD + ABDBDA + ABDDAB + ABDDBA + ADABBD + ADABDB + ADADBB + ADBABD + ADBADB + ADBBAD + ADBBDA + ADBDAB + ADBDBA + ADDABB + ADDBAB + ADDBBA + BAABDD + BAADBD + BAADDB + BABADD + BABDAD + BABDDA + BADABD + BADADB + BADBAD + BADBDA + BADDAB + BADDBA + BBAADD + BBADAD + BBADDA + BBDAAD + BBDADA + BBDDAA + BDAABD + BDAADB + BDABAD + BDABDA + BDADAB + BDADBA + BDBAAD + BDBADA + BDBDAA + BDDAAB + BDDABA + BDDBAA + DAABBD + DAABDB + DAADBB + DABABD + DABADB + DABBAD + DABBDA + DABDAB + DABDBA + DADABB + DADBAB + DADBBA + DBAABD + DBAADB + DBABAD + DBABDA + DBADAB + DBADBA + DBBAAD + DBBADA + DBBDAA + DBDAAB + DBDABA + DBDBAA + DDAABB + DDABAB + DDABBA + DDBAAB + DDBABA + DDBBAA + AABBEE + AABEBE + AABEEB + AAEBBE + AAEBEB + AAEEBB + ABABEE + ABAEBE + ABAEEB + ABBAEE + ABBEAE + ABBEEA + ABEABE + ABEAEB + ABEBAE + ABEBEA + ABEEAB + ABEEBA + AEABBE + AEABEB + AEAEBB + AEBABE + AEBAEB + AEBBAE + AEBBEA + AEBEAB + AEBEBA + AEEABB + AEEBAB + AEEBBA + BAABEE + BAAEBE + BAAEEB + BABAEE + BABEAE + BABEEA + BAEABE + BAEAEB + BAEBAE + BAEBEA + BAEEAB + BAEEBA + BBAAEE + BBAEAE + BBAEEA + BBEAAE + BBEAEA + BBEEAA + BEAABE + BEAAEB + BEABAE + BEABEA + BEAEAB + BEAEBA + BEBAAE + BEBAEA + BEBEAA + BEEAAB + BEEABA + BEEBAA + EAABBE + EAABEB + EAAEBB + EABABE + EABAEB + EABBAE + EABBEA + EABEAB + EABEBA + EAEABB + EAEBAB + EAEBBA + EBAABE + EBAAEB + EBABAE + EBABEA + EBAEAB + EBAEBA + EBBAAE + EBBAEA + EBBEAA + EBEAAB + EBEABA + EBEBAA + EEAABB + EEABAB + EEABBA + EEBAAB + EEBABA + EEBBAA + AABBFF + AABFBF + AABFFB + AAFBBF + AAFBFB + AAFFBB + ABABFF + ABAFBF + ABAFFB + ABBAFF + ABBFAF + ABBFFA + ABFABF + ABFAFB + ABFBAF + ABFBFA + ABFFAB + ABFFBA + AFABBF + AFABFB + AFAFBB + AFBABF + AFBAFB + AFBBAF + AFBBFA + AFBFAB + AFBFBA + AFFABB + AFFBAB + AFFBBA + BAABFF + BAAFBF + BAAFFB + BABAFF + BABFAF + BABFFA + BAFABF + BAFAFB + BAFBAF + BAFBFA + BAFFAB + BAFFBA + BBAAFF + BBAFAF + BBAFFA + BBFAAF + BBFAFA + BBFFAA + BFAABF + BFAAFB + BFABAF + BFABFA + BFAFAB + BFAFBA + BFBAAF + BFBAFA + BFBFAA + BFFAAB + BFFABA + BFFBAA + FAABBF + FAABFB + FAAFBB + FABABF + FABAFB + FABBAF + FABBFA + FABFAB + FABFBA + FAFABB + FAFBAB + FAFBBA + FBAABF + FBAAFB + FBABAF + FBABFA + FBAFAB + FBAFBA + FBBAAF + FBBAFA + FBBFAA + FBFAAB + FBFABA + FBFBAA + FFAABB + FFABAB + FFABBA + FFBAAB + FFBABA + FFBBAA + AABBGG + AABGBG + AABGGB + AAGBBG + AAGBGB + AAGGBB + ABABGG + ABAGBG + ABAGGB + ABBAGG + ABBGAG + ABBGGA + ABGABG + ABGAGB + ABGBAG + ABGBGA + ABGGAB + ABGGBA + AGABBG + AGABGB + AGAGBB + AGBABG + AGBAGB + AGBBAG + AGBBGA + AGBGAB + AGBGBA + AGGABB + AGGBAB + AGGBBA + BAABGG + BAAGBG + BAAGGB + BABAGG + BABGAG + BABGGA + BAGABG + BAGAGB + BAGBAG + BAGBGA + BAGGAB + BAGGBA + BBAAGG + BBAGAG + BBAGGA + BBGAAG + BBGAGA + BBGGAA + BGAABG + BGAAGB + BGABAG + BGABGA + BGAGAB + BGAGBA + BGBAAG + BGBAGA + BGBGAA + BGGAAB + BGGABA + BGGBAA + GAABBG + GAABGB + GAAGBB + GABABG + GABAGB + GABBAG + GABBGA + GABGAB + GABGBA + GAGABB + GAGBAB + GAGBBA + GBAABG + GBAAGB + GBABAG + GBABGA + GBAGAB + GBAGBA + GBBAAG + GBBAGA + GBBGAA + GBGAAB + GBGABA + GBGBAA + GGAABB + GGABAB + GGABBA + GGBAAB + GGBABA + GGBBAA + AACCCC + ACACCC + ACCACC + ACCCAC + ACCCCA + CAACCC + CACACC + CACCAC + CACCCA + CCAACC + CCACAC + CCACCA + CCCAAC + CCCACA + CCCCAA + AACCDD + AACDCD + AACDDC + AADCCD + AADCDC + AADDCC + ACACDD + ACADCD + ACADDC + ACCADD + ACCDAD + ACCDDA + ACDACD + ACDADC + ACDCAD + ACDCDA + ACDDAC + ACDDCA + ADACCD + ADACDC + ADADCC + ADCACD + ADCADC + ADCCAD + ADCCDA + ADCDAC + ADCDCA + ADDACC + ADDCAC + ADDCCA + CAACDD + CAADCD + CAADDC + CACADD + CACDAD + CACDDA + CADACD + CADADC + CADCAD + CADCDA + CADDAC + CADDCA + CCAADD + CCADAD + CCADDA + CCDAAD + CCDADA + CCDDAA + CDAACD + CDAADC + CDACAD + CDACDA + CDADAC + CDADCA + CDCAAD + CDCADA + CDCDAA + CDDAAC + CDDACA + CDDCAA + DAACCD + DAACDC + DAADCC + DACACD + DACADC + DACCAD + DACCDA + DACDAC + DACDCA + DADACC + DADCAC + DADCCA + DCAACD + DCAADC + DCACAD + DCACDA + DCADAC + DCADCA + DCCAAD + DCCADA + DCCDAA + DCDAAC + DCDACA + DCDCAA + DDAACC + DDACAC + DDACCA + DDCAAC + DDCACA + DDCCAA + AACCEE + AACECE + AACEEC + AAECCE + AAECEC + AAEECC + ACACEE + ACAECE + ACAEEC + ACCAEE + ACCEAE + ACCEEA + ACEACE + ACEAEC + ACECAE + ACECEA + ACEEAC + ACEECA + AEACCE + AEACEC + AEAECC + AECACE + AECAEC + AECCAE + AECCEA + AECEAC + AECECA + AEEACC + AEECAC + AEECCA + CAACEE + CAAECE + CAAEEC + CACAEE + CACEAE + CACEEA + CAEACE + CAEAEC + CAECAE + CAECEA + CAEEAC + CAEECA + CCAAEE + CCAEAE + CCAEEA + CCEAAE + CCEAEA + CCEEAA + CEAACE + CEAAEC + CEACAE + CEACEA + CEAEAC + CEAECA + CECAAE + CECAEA + CECEAA + CEEAAC + CEEACA + CEECAA + EAACCE + EAACEC + EAAECC + EACACE + EACAEC + EACCAE + EACCEA + EACEAC + EACECA + EAEACC + EAECAC + EAECCA + ECAACE + ECAAEC + ECACAE + ECACEA + ECAEAC + ECAECA + ECCAAE + ECCAEA + ECCEAA + ECEAAC + ECEACA + ECECAA + EEAACC + EEACAC + EEACCA + EECAAC + EECACA + EECCAA + AACCFF + AACFCF + AACFFC + AAFCCF + AAFCFC + AAFFCC + ACACFF + ACAFCF + ACAFFC + ACCAFF + ACCFAF + ACCFFA + ACFACF + ACFAFC + ACFCAF + ACFCFA + ACFFAC + ACFFCA + AFACCF + AFACFC + AFAFCC + AFCACF + AFCAFC + AFCCAF + AFCCFA + AFCFAC + AFCFCA + AFFACC + AFFCAC + AFFCCA + CAACFF + CAAFCF + CAAFFC + CACAFF + CACFAF + CACFFA + CAFACF + CAFAFC + CAFCAF + CAFCFA + CAFFAC + CAFFCA + CCAAFF + CCAFAF + CCAFFA + CCFAAF + CCFAFA + CCFFAA + CFAACF + CFAAFC + CFACAF + CFACFA + CFAFAC + CFAFCA + CFCAAF + CFCAFA + CFCFAA + CFFAAC + CFFACA + CFFCAA + FAACCF + FAACFC + FAAFCC + FACACF + FACAFC + FACCAF + FACCFA + FACFAC + FACFCA + FAFACC + FAFCAC + FAFCCA + FCAACF + FCAAFC + FCACAF + FCACFA + FCAFAC + FCAFCA + FCCAAF + FCCAFA + FCCFAA + FCFAAC + FCFACA + FCFCAA + FFAACC + FFACAC + FFACCA + FFCAAC + FFCACA + FFCCAA + AACCGG + AACGCG + AACGGC + AAGCCG + AAGCGC + AAGGCC + ACACGG + ACAGCG + ACAGGC + ACCAGG + ACCGAG + ACCGGA + ACGACG + ACGAGC + ACGCAG + ACGCGA + ACGGAC + ACGGCA + AGACCG + AGACGC + AGAGCC + AGCACG + AGCAGC + AGCCAG + AGCCGA + AGCGAC + AGCGCA + AGGACC + AGGCAC + AGGCCA + CAACGG + CAAGCG + CAAGGC + CACAGG + CACGAG + CACGGA + CAGACG + CAGAGC + CAGCAG + CAGCGA + CAGGAC + CAGGCA + CCAAGG + CCAGAG + CCAGGA + CCGAAG + CCGAGA + CCGGAA + CGAACG + CGAAGC + CGACAG + CGACGA + CGAGAC + CGAGCA + CGCAAG + CGCAGA + CGCGAA + CGGAAC + CGGACA + CGGCAA + GAACCG + GAACGC + GAAGCC + GACACG + GACAGC + GACCAG + GACCGA + GACGAC + GACGCA + GAGACC + GAGCAC + GAGCCA + GCAACG + GCAAGC + GCACAG + GCACGA + GCAGAC + GCAGCA + GCCAAG + GCCAGA + GCCGAA + GCGAAC + GCGACA + GCGCAA + GGAACC + GGACAC + GGACCA + GGCAAC + GGCACA + GGCCAA + AADDDD + ADADDD + ADDADD + ADDDAD + ADDDDA + DAADDD + DADADD + DADDAD + DADDDA + DDAADD + DDADAD + DDADDA + DDDAAD + DDDADA + DDDDAA + AADDEE + AADEDE + AADEED + AAEDDE + AAEDED + AAEEDD + ADADEE + ADAEDE + ADAEED + ADDAEE + ADDEAE + ADDEEA + ADEADE + ADEAED + ADEDAE + ADEDEA + ADEEAD + ADEEDA + AEADDE + AEADED + AEAEDD + AEDADE + AEDAED + AEDDAE + AEDDEA + AEDEAD + AEDEDA + AEEADD + AEEDAD + AEEDDA + DAADEE + DAAEDE + DAAEED + DADAEE + DADEAE + DADEEA + DAEADE + DAEAED + DAEDAE + DAEDEA + DAEEAD + DAEEDA + DDAAEE + DDAEAE + DDAEEA + DDEAAE + DDEAEA + DDEEAA + DEAADE + DEAAED + DEADAE + DEADEA + DEAEAD + DEAEDA + DEDAAE + DEDAEA + DEDEAA + DEEAAD + DEEADA + DEEDAA + EAADDE + EAADED + EAAEDD + EADADE + EADAED + EADDAE + EADDEA + EADEAD + EADEDA + EAEADD + EAEDAD + EAEDDA + EDAADE + EDAAED + EDADAE + EDADEA + EDAEAD + EDAEDA + EDDAAE + EDDAEA + EDDEAA + EDEAAD + EDEADA + EDEDAA + EEAADD + EEADAD + EEADDA + EEDAAD + EEDADA + EEDDAA + AADDFF + AADFDF + AADFFD + AAFDDF + AAFDFD + AAFFDD + ADADFF + ADAFDF + ADAFFD + ADDAFF + ADDFAF + ADDFFA + ADFADF + ADFAFD + ADFDAF + ADFDFA + ADFFAD + ADFFDA + AFADDF + AFADFD + AFAFDD + AFDADF + AFDAFD + AFDDAF + AFDDFA + AFDFAD + AFDFDA + AFFADD + AFFDAD + AFFDDA + DAADFF + DAAFDF + DAAFFD + DADAFF + DADFAF + DADFFA + DAFADF + DAFAFD + DAFDAF + DAFDFA + DAFFAD + DAFFDA + DDAAFF + DDAFAF + DDAFFA + DDFAAF + DDFAFA + DDFFAA + DFAADF + DFAAFD + DFADAF + DFADFA + DFAFAD + DFAFDA + DFDAAF + DFDAFA + DFDFAA + DFFAAD + DFFADA + DFFDAA + FAADDF + FAADFD + FAAFDD + FADADF + FADAFD + FADDAF + FADDFA + FADFAD + FADFDA + FAFADD + FAFDAD + FAFDDA + FDAADF + FDAAFD + FDADAF + FDADFA + FDAFAD + FDAFDA + FDDAAF + FDDAFA + FDDFAA + FDFAAD + FDFADA + FDFDAA + FFAADD + FFADAD + FFADDA + FFDAAD + FFDADA + FFDDAA + AADDGG + AADGDG + AADGGD + AAGDDG + AAGDGD + AAGGDD + ADADGG + ADAGDG + ADAGGD + ADDAGG + ADDGAG + ADDGGA + ADGADG + ADGAGD + ADGDAG + ADGDGA + ADGGAD + ADGGDA + AGADDG + AGADGD + AGAGDD + AGDADG + AGDAGD + AGDDAG + AGDDGA + AGDGAD + AGDGDA + AGGADD + AGGDAD + AGGDDA + DAADGG + DAAGDG + DAAGGD + DADAGG + DADGAG + DADGGA + DAGADG + DAGAGD + DAGDAG + DAGDGA + DAGGAD + DAGGDA + DDAAGG + DDAGAG + DDAGGA + DDGAAG + DDGAGA + DDGGAA + DGAADG + DGAAGD + DGADAG + DGADGA + DGAGAD + DGAGDA + DGDAAG + DGDAGA + DGDGAA + DGGAAD + DGGADA + DGGDAA + GAADDG + GAADGD + GAAGDD + GADADG + GADAGD + GADDAG + GADDGA + GADGAD + GADGDA + GAGADD + GAGDAD + GAGDDA + GDAADG + GDAAGD + GDADAG + GDADGA + GDAGAD + GDAGDA + GDDAAG + GDDAGA + GDDGAA + GDGAAD + GDGADA + GDGDAA + GGAADD + GGADAD + GGADDA + GGDAAD + GGDADA + GGDDAA + AAEEEE + AEAEEE + AEEAEE + AEEEAE + AEEEEA + EAAEEE + EAEAEE + EAEEAE + EAEEEA + EEAAEE + EEAEAE + EEAEEA + EEEAAE + EEEAEA + EEEEAA + AAEEFF + AAEFEF + AAEFFE + AAFEEF + AAFEFE + AAFFEE + AEAEFF + AEAFEF + AEAFFE + AEEAFF + AEEFAF + AEEFFA + AEFAEF + AEFAFE + AEFEAF + AEFEFA + AEFFAE + AEFFEA + AFAEEF + AFAEFE + AFAFEE + AFEAEF + AFEAFE + AFEEAF + AFEEFA + AFEFAE + AFEFEA + AFFAEE + AFFEAE + AFFEEA + EAAEFF + EAAFEF + EAAFFE + EAEAFF + EAEFAF + EAEFFA + EAFAEF + EAFAFE + EAFEAF + EAFEFA + EAFFAE + EAFFEA + EEAAFF + EEAFAF + EEAFFA + EEFAAF + EEFAFA + EEFFAA + EFAAEF + EFAAFE + EFAEAF + EFAEFA + EFAFAE + EFAFEA + EFEAAF + EFEAFA + EFEFAA + EFFAAE + EFFAEA + EFFEAA + FAAEEF + FAAEFE + FAAFEE + FAEAEF + FAEAFE + FAEEAF + FAEEFA + FAEFAE + FAEFEA + FAFAEE + FAFEAE + FAFEEA + FEAAEF + FEAAFE + FEAEAF + FEAEFA + FEAFAE + FEAFEA + FEEAAF + FEEAFA + FEEFAA + FEFAAE + FEFAEA + FEFEAA + FFAAEE + FFAEAE + FFAEEA + FFEAAE + FFEAEA + FFEEAA + AAEEGG + AAEGEG + AAEGGE + AAGEEG + AAGEGE + AAGGEE + AEAEGG + AEAGEG + AEAGGE + AEEAGG + AEEGAG + AEEGGA + AEGAEG + AEGAGE + AEGEAG + AEGEGA + AEGGAE + AEGGEA + AGAEEG + AGAEGE + AGAGEE + AGEAEG + AGEAGE + AGEEAG + AGEEGA + AGEGAE + AGEGEA + AGGAEE + AGGEAE + AGGEEA + EAAEGG + EAAGEG + EAAGGE + EAEAGG + EAEGAG + EAEGGA + EAGAEG + EAGAGE + EAGEAG + EAGEGA + EAGGAE + EAGGEA + EEAAGG + EEAGAG + EEAGGA + EEGAAG + EEGAGA + EEGGAA + EGAAEG + EGAAGE + EGAEAG + EGAEGA + EGAGAE + EGAGEA + EGEAAG + EGEAGA + EGEGAA + EGGAAE + EGGAEA + EGGEAA + GAAEEG + GAAEGE + GAAGEE + GAEAEG + GAEAGE + GAEEAG + GAEEGA + GAEGAE + GAEGEA + GAGAEE + GAGEAE + GAGEEA + GEAAEG + GEAAGE + GEAEAG + GEAEGA + GEAGAE + GEAGEA + GEEAAG + GEEAGA + GEEGAA + GEGAAE + GEGAEA + GEGEAA + GGAAEE + GGAEAE + GGAEEA + GGEAAE + GGEAEA + GGEEAA + AAFFFF + AFAFFF + AFFAFF + AFFFAF + AFFFFA + FAAFFF + FAFAFF + FAFFAF + FAFFFA + FFAAFF + FFAFAF + FFAFFA + FFFAAF + FFFAFA + FFFFAA + AAFFGG + AAFGFG + AAFGGF + AAGFFG + AAGFGF + AAGGFF + AFAFGG + AFAGFG + AFAGGF + AFFAGG + AFFGAG + AFFGGA + AFGAFG + AFGAGF + AFGFAG + AFGFGA + AFGGAF + AFGGFA + AGAFFG + AGAFGF + AGAGFF + AGFAFG + AGFAGF + AGFFAG + AGFFGA + AGFGAF + AGFGFA + AGGAFF + AGGFAF + AGGFFA + FAAFGG + FAAGFG + FAAGGF + FAFAGG + FAFGAG + FAFGGA + FAGAFG + FAGAGF + FAGFAG + FAGFGA + FAGGAF + FAGGFA + FFAAGG + FFAGAG + FFAGGA + FFGAAG + FFGAGA + FFGGAA + FGAAFG + FGAAGF + FGAFAG + FGAFGA + FGAGAF + FGAGFA + FGFAAG + FGFAGA + FGFGAA + FGGAAF + FGGAFA + FGGFAA + GAAFFG + GAAFGF + GAAGFF + GAFAFG + GAFAGF + GAFFAG + GAFFGA + GAFGAF + GAFGFA + GAGAFF + GAGFAF + GAGFFA + GFAAFG + GFAAGF + GFAFAG + GFAFGA + GFAGAF + GFAGFA + GFFAAG + GFFAGA + GFFGAA + GFGAAF + GFGAFA + GFGFAA + GGAAFF + GGAFAF + GGAFFA + GGFAAF + GGFAFA + GGFFAA + AAGGGG + AGAGGG + AGGAGG + AGGGAG + AGGGGA + GAAGGG + GAGAGG + GAGGAG + GAGGGA + GGAAGG + GGAGAG + GGAGGA + GGGAAG + GGGAGA + GGGGAA + BBBBBB + BBBBCC + BBBCBC + BBBCCB + BBCBBC + BBCBCB + BBCCBB + BCBBBC + BCBBCB + BCBCBB + BCCBBB + CBBBBC + CBBBCB + CBBCBB + CBCBBB + CCBBBB + BBBBDD + BBBDBD + BBBDDB + BBDBBD + BBDBDB + BBDDBB + BDBBBD + BDBBDB + BDBDBB + BDDBBB + DBBBBD + DBBBDB + DBBDBB + DBDBBB + DDBBBB + BBBBEE + BBBEBE + BBBEEB + BBEBBE + BBEBEB + BBEEBB + BEBBBE + BEBBEB + BEBEBB + BEEBBB + EBBBBE + EBBBEB + EBBEBB + EBEBBB + EEBBBB + BBBBFF + BBBFBF + BBBFFB + BBFBBF + BBFBFB + BBFFBB + BFBBBF + BFBBFB + BFBFBB + BFFBBB + FBBBBF + FBBBFB + FBBFBB + FBFBBB + FFBBBB + BBBBGG + BBBGBG + BBBGGB + BBGBBG + BBGBGB + BBGGBB + BGBBBG + BGBBGB + BGBGBB + BGGBBB + GBBBBG + GBBBGB + GBBGBB + GBGBBB + GGBBBB + BBBCCC + BBCBCC + BBCCBC + BBCCCB + BCBBCC + BCBCBC + BCBCCB + BCCBBC + BCCBCB + BCCCBB + CBBBCC + CBBCBC + CBBCCB + CBCBBC + CBCBCB + CBCCBB + CCBBBC + CCBBCB + CCBCBB + CCCBBB + BBBDDD + BBDBDD + BBDDBD + BBDDDB + BDBBDD + BDBDBD + BDBDDB + BDDBBD + BDDBDB + BDDDBB + DBBBDD + DBBDBD + DBBDDB + DBDBBD + DBDBDB + DBDDBB + DDBBBD + DDBBDB + DDBDBB + DDDBBB + BBBEEE + BBEBEE + BBEEBE + BBEEEB + BEBBEE + BEBEBE + BEBEEB + BEEBBE + BEEBEB + BEEEBB + EBBBEE + EBBEBE + EBBEEB + EBEBBE + EBEBEB + EBEEBB + EEBBBE + EEBBEB + EEBEBB + EEEBBB + BBBFFF + BBFBFF + BBFFBF + BBFFFB + BFBBFF + BFBFBF + BFBFFB + BFFBBF + BFFBFB + BFFFBB + FBBBFF + FBBFBF + FBBFFB + FBFBBF + FBFBFB + FBFFBB + FFBBBF + FFBBFB + FFBFBB + FFFBBB + BBBGGG + BBGBGG + BBGGBG + BBGGGB + BGBBGG + BGBGBG + BGBGGB + BGGBBG + BGGBGB + BGGGBB + GBBBGG + GBBGBG + GBBGGB + GBGBBG + GBGBGB + GBGGBB + GGBBBG + GGBBGB + GGBGBB + GGGBBB + BBCCCC + BCBCCC + BCCBCC + BCCCBC + BCCCCB + CBBCCC + CBCBCC + CBCCBC + CBCCCB + CCBBCC + CCBCBC + CCBCCB + CCCBBC + CCCBCB + CCCCBB + BBCCDD + BBCDCD + BBCDDC + BBDCCD + BBDCDC + BBDDCC + BCBCDD + BCBDCD + BCBDDC + BCCBDD + BCCDBD + BCCDDB + BCDBCD + BCDBDC + BCDCBD + BCDCDB + BCDDBC + BCDDCB + BDBCCD + BDBCDC + BDBDCC + BDCBCD + BDCBDC + BDCCBD + BDCCDB + BDCDBC + BDCDCB + BDDBCC + BDDCBC + BDDCCB + CBBCDD + CBBDCD + CBBDDC + CBCBDD + CBCDBD + CBCDDB + CBDBCD + CBDBDC + CBDCBD + CBDCDB + CBDDBC + CBDDCB + CCBBDD + CCBDBD + CCBDDB + CCDBBD + CCDBDB + CCDDBB + CDBBCD + CDBBDC + CDBCBD + CDBCDB + CDBDBC + CDBDCB + CDCBBD + CDCBDB + CDCDBB + CDDBBC + CDDBCB + CDDCBB + DBBCCD + DBBCDC + DBBDCC + DBCBCD + DBCBDC + DBCCBD + DBCCDB + DBCDBC + DBCDCB + DBDBCC + DBDCBC + DBDCCB + DCBBCD + DCBBDC + DCBCBD + DCBCDB + DCBDBC + DCBDCB + DCCBBD + DCCBDB + DCCDBB + DCDBBC + DCDBCB + DCDCBB + DDBBCC + DDBCBC + DDBCCB + DDCBBC + DDCBCB + DDCCBB + BBCCEE + BBCECE + BBCEEC + BBECCE + BBECEC + BBEECC + BCBCEE + BCBECE + BCBEEC + BCCBEE + BCCEBE + BCCEEB + BCEBCE + BCEBEC + BCECBE + BCECEB + BCEEBC + BCEECB + BEBCCE + BEBCEC + BEBECC + BECBCE + BECBEC + BECCBE + BECCEB + BECEBC + BECECB + BEEBCC + BEECBC + BEECCB + CBBCEE + CBBECE + CBBEEC + CBCBEE + CBCEBE + CBCEEB + CBEBCE + CBEBEC + CBECBE + CBECEB + CBEEBC + CBEECB + CCBBEE + CCBEBE + CCBEEB + CCEBBE + CCEBEB + CCEEBB + CEBBCE + CEBBEC + CEBCBE + CEBCEB + CEBEBC + CEBECB + CECBBE + CECBEB + CECEBB + CEEBBC + CEEBCB + CEECBB + EBBCCE + EBBCEC + EBBECC + EBCBCE + EBCBEC + EBCCBE + EBCCEB + EBCEBC + EBCECB + EBEBCC + EBECBC + EBECCB + ECBBCE + ECBBEC + ECBCBE + ECBCEB + ECBEBC + ECBECB + ECCBBE + ECCBEB + ECCEBB + ECEBBC + ECEBCB + ECECBB + EEBBCC + EEBCBC + EEBCCB + EECBBC + EECBCB + EECCBB + BBCCFF + BBCFCF + BBCFFC + BBFCCF + BBFCFC + BBFFCC + BCBCFF + BCBFCF + BCBFFC + BCCBFF + BCCFBF + BCCFFB + BCFBCF + BCFBFC + BCFCBF + BCFCFB + BCFFBC + BCFFCB + BFBCCF + BFBCFC + BFBFCC + BFCBCF + BFCBFC + BFCCBF + BFCCFB + BFCFBC + BFCFCB + BFFBCC + BFFCBC + BFFCCB + CBBCFF + CBBFCF + CBBFFC + CBCBFF + CBCFBF + CBCFFB + CBFBCF + CBFBFC + CBFCBF + CBFCFB + CBFFBC + CBFFCB + CCBBFF + CCBFBF + CCBFFB + CCFBBF + CCFBFB + CCFFBB + CFBBCF + CFBBFC + CFBCBF + CFBCFB + CFBFBC + CFBFCB + CFCBBF + CFCBFB + CFCFBB + CFFBBC + CFFBCB + CFFCBB + FBBCCF + FBBCFC + FBBFCC + FBCBCF + FBCBFC + FBCCBF + FBCCFB + FBCFBC + FBCFCB + FBFBCC + FBFCBC + FBFCCB + FCBBCF + FCBBFC + FCBCBF + FCBCFB + FCBFBC + FCBFCB + FCCBBF + FCCBFB + FCCFBB + FCFBBC + FCFBCB + FCFCBB + FFBBCC + FFBCBC + FFBCCB + FFCBBC + FFCBCB + FFCCBB + BBCCGG + BBCGCG + BBCGGC + BBGCCG + BBGCGC + BBGGCC + BCBCGG + BCBGCG + BCBGGC + BCCBGG + BCCGBG + BCCGGB + BCGBCG + BCGBGC + BCGCBG + BCGCGB + BCGGBC + BCGGCB + BGBCCG + BGBCGC + BGBGCC + BGCBCG + BGCBGC + BGCCBG + BGCCGB + BGCGBC + BGCGCB + BGGBCC + BGGCBC + BGGCCB + CBBCGG + CBBGCG + CBBGGC + CBCBGG + CBCGBG + CBCGGB + CBGBCG + CBGBGC + CBGCBG + CBGCGB + CBGGBC + CBGGCB + CCBBGG + CCBGBG + CCBGGB + CCGBBG + CCGBGB + CCGGBB + CGBBCG + CGBBGC + CGBCBG + CGBCGB + CGBGBC + CGBGCB + CGCBBG + CGCBGB + CGCGBB + CGGBBC + CGGBCB + CGGCBB + GBBCCG + GBBCGC + GBBGCC + GBCBCG + GBCBGC + GBCCBG + GBCCGB + GBCGBC + GBCGCB + GBGBCC + GBGCBC + GBGCCB + GCBBCG + GCBBGC + GCBCBG + GCBCGB + GCBGBC + GCBGCB + GCCBBG + GCCBGB + GCCGBB + GCGBBC + GCGBCB + GCGCBB + GGBBCC + GGBCBC + GGBCCB + GGCBBC + GGCBCB + GGCCBB + BBDDDD + BDBDDD + BDDBDD + BDDDBD + BDDDDB + DBBDDD + DBDBDD + DBDDBD + DBDDDB + DDBBDD + DDBDBD + DDBDDB + DDDBBD + DDDBDB + DDDDBB + BBDDEE + BBDEDE + BBDEED + BBEDDE + BBEDED + BBEEDD + BDBDEE + BDBEDE + BDBEED + BDDBEE + BDDEBE + BDDEEB + BDEBDE + BDEBED + BDEDBE + BDEDEB + BDEEBD + BDEEDB + BEBDDE + BEBDED + BEBEDD + BEDBDE + BEDBED + BEDDBE + BEDDEB + BEDEBD + BEDEDB + BEEBDD + BEEDBD + BEEDDB + DBBDEE + DBBEDE + DBBEED + DBDBEE + DBDEBE + DBDEEB + DBEBDE + DBEBED + DBEDBE + DBEDEB + DBEEBD + DBEEDB + DDBBEE + DDBEBE + DDBEEB + DDEBBE + DDEBEB + DDEEBB + DEBBDE + DEBBED + DEBDBE + DEBDEB + DEBEBD + DEBEDB + DEDBBE + DEDBEB + DEDEBB + DEEBBD + DEEBDB + DEEDBB + EBBDDE + EBBDED + EBBEDD + EBDBDE + EBDBED + EBDDBE + EBDDEB + EBDEBD + EBDEDB + EBEBDD + EBEDBD + EBEDDB + EDBBDE + EDBBED + EDBDBE + EDBDEB + EDBEBD + EDBEDB + EDDBBE + EDDBEB + EDDEBB + EDEBBD + EDEBDB + EDEDBB + EEBBDD + EEBDBD + EEBDDB + EEDBBD + EEDBDB + EEDDBB + BBDDFF + BBDFDF + BBDFFD + BBFDDF + BBFDFD + BBFFDD + BDBDFF + BDBFDF + BDBFFD + BDDBFF + BDDFBF + BDDFFB + BDFBDF + BDFBFD + BDFDBF + BDFDFB + BDFFBD + BDFFDB + BFBDDF + BFBDFD + BFBFDD + BFDBDF + BFDBFD + BFDDBF + BFDDFB + BFDFBD + BFDFDB + BFFBDD + BFFDBD + BFFDDB + DBBDFF + DBBFDF + DBBFFD + DBDBFF + DBDFBF + DBDFFB + DBFBDF + DBFBFD + DBFDBF + DBFDFB + DBFFBD + DBFFDB + DDBBFF + DDBFBF + DDBFFB + DDFBBF + DDFBFB + DDFFBB + DFBBDF + DFBBFD + DFBDBF + DFBDFB + DFBFBD + DFBFDB + DFDBBF + DFDBFB + DFDFBB + DFFBBD + DFFBDB + DFFDBB + FBBDDF + FBBDFD + FBBFDD + FBDBDF + FBDBFD + FBDDBF + FBDDFB + FBDFBD + FBDFDB + FBFBDD + FBFDBD + FBFDDB + FDBBDF + FDBBFD + FDBDBF + FDBDFB + FDBFBD + FDBFDB + FDDBBF + FDDBFB + FDDFBB + FDFBBD + FDFBDB + FDFDBB + FFBBDD + FFBDBD + FFBDDB + FFDBBD + FFDBDB + FFDDBB + BBDDGG + BBDGDG + BBDGGD + BBGDDG + BBGDGD + BBGGDD + BDBDGG + BDBGDG + BDBGGD + BDDBGG + BDDGBG + BDDGGB + BDGBDG + BDGBGD + BDGDBG + BDGDGB + BDGGBD + BDGGDB + BGBDDG + BGBDGD + BGBGDD + BGDBDG + BGDBGD + BGDDBG + BGDDGB + BGDGBD + BGDGDB + BGGBDD + BGGDBD + BGGDDB + DBBDGG + DBBGDG + DBBGGD + DBDBGG + DBDGBG + DBDGGB + DBGBDG + DBGBGD + DBGDBG + DBGDGB + DBGGBD + DBGGDB + DDBBGG + DDBGBG + DDBGGB + DDGBBG + DDGBGB + DDGGBB + DGBBDG + DGBBGD + DGBDBG + DGBDGB + DGBGBD + DGBGDB + DGDBBG + DGDBGB + DGDGBB + DGGBBD + DGGBDB + DGGDBB + GBBDDG + GBBDGD + GBBGDD + GBDBDG + GBDBGD + GBDDBG + GBDDGB + GBDGBD + GBDGDB + GBGBDD + GBGDBD + GBGDDB + GDBBDG + GDBBGD + GDBDBG + GDBDGB + GDBGBD + GDBGDB + GDDBBG + GDDBGB + GDDGBB + GDGBBD + GDGBDB + GDGDBB + GGBBDD + GGBDBD + GGBDDB + GGDBBD + GGDBDB + GGDDBB + BBEEEE + BEBEEE + BEEBEE + BEEEBE + BEEEEB + EBBEEE + EBEBEE + EBEEBE + EBEEEB + EEBBEE + EEBEBE + EEBEEB + EEEBBE + EEEBEB + EEEEBB + BBEEFF + BBEFEF + BBEFFE + BBFEEF + BBFEFE + BBFFEE + BEBEFF + BEBFEF + BEBFFE + BEEBFF + BEEFBF + BEEFFB + BEFBEF + BEFBFE + BEFEBF + BEFEFB + BEFFBE + BEFFEB + BFBEEF + BFBEFE + BFBFEE + BFEBEF + BFEBFE + BFEEBF + BFEEFB + BFEFBE + BFEFEB + BFFBEE + BFFEBE + BFFEEB + EBBEFF + EBBFEF + EBBFFE + EBEBFF + EBEFBF + EBEFFB + EBFBEF + EBFBFE + EBFEBF + EBFEFB + EBFFBE + EBFFEB + EEBBFF + EEBFBF + EEBFFB + EEFBBF + EEFBFB + EEFFBB + EFBBEF + EFBBFE + EFBEBF + EFBEFB + EFBFBE + EFBFEB + EFEBBF + EFEBFB + EFEFBB + EFFBBE + EFFBEB + EFFEBB + FBBEEF + FBBEFE + FBBFEE + FBEBEF + FBEBFE + FBEEBF + FBEEFB + FBEFBE + FBEFEB + FBFBEE + FBFEBE + FBFEEB + FEBBEF + FEBBFE + FEBEBF + FEBEFB + FEBFBE + FEBFEB + FEEBBF + FEEBFB + FEEFBB + FEFBBE + FEFBEB + FEFEBB + FFBBEE + FFBEBE + FFBEEB + FFEBBE + FFEBEB + FFEEBB + BBEEGG + BBEGEG + BBEGGE + BBGEEG + BBGEGE + BBGGEE + BEBEGG + BEBGEG + BEBGGE + BEEBGG + BEEGBG + BEEGGB + BEGBEG + BEGBGE + BEGEBG + BEGEGB + BEGGBE + BEGGEB + BGBEEG + BGBEGE + BGBGEE + BGEBEG + BGEBGE + BGEEBG + BGEEGB + BGEGBE + BGEGEB + BGGBEE + BGGEBE + BGGEEB + EBBEGG + EBBGEG + EBBGGE + EBEBGG + EBEGBG + EBEGGB + EBGBEG + EBGBGE + EBGEBG + EBGEGB + EBGGBE + EBGGEB + EEBBGG + EEBGBG + EEBGGB + EEGBBG + EEGBGB + EEGGBB + EGBBEG + EGBBGE + EGBEBG + EGBEGB + EGBGBE + EGBGEB + EGEBBG + EGEBGB + EGEGBB + EGGBBE + EGGBEB + EGGEBB + GBBEEG + GBBEGE + GBBGEE + GBEBEG + GBEBGE + GBEEBG + GBEEGB + GBEGBE + GBEGEB + GBGBEE + GBGEBE + GBGEEB + GEBBEG + GEBBGE + GEBEBG + GEBEGB + GEBGBE + GEBGEB + GEEBBG + GEEBGB + GEEGBB + GEGBBE + GEGBEB + GEGEBB + GGBBEE + GGBEBE + GGBEEB + GGEBBE + GGEBEB + GGEEBB + BBFFFF + BFBFFF + BFFBFF + BFFFBF + BFFFFB + FBBFFF + FBFBFF + FBFFBF + FBFFFB + FFBBFF + FFBFBF + FFBFFB + FFFBBF + FFFBFB + FFFFBB + BBFFGG + BBFGFG + BBFGGF + BBGFFG + BBGFGF + BBGGFF + BFBFGG + BFBGFG + BFBGGF + BFFBGG + BFFGBG + BFFGGB + BFGBFG + BFGBGF + BFGFBG + BFGFGB + BFGGBF + BFGGFB + BGBFFG + BGBFGF + BGBGFF + BGFBFG + BGFBGF + BGFFBG + BGFFGB + BGFGBF + BGFGFB + BGGBFF + BGGFBF + BGGFFB + FBBFGG + FBBGFG + FBBGGF + FBFBGG + FBFGBG + FBFGGB + FBGBFG + FBGBGF + FBGFBG + FBGFGB + FBGGBF + FBGGFB + FFBBGG + FFBGBG + FFBGGB + FFGBBG + FFGBGB + FFGGBB + FGBBFG + FGBBGF + FGBFBG + FGBFGB + FGBGBF + FGBGFB + FGFBBG + FGFBGB + FGFGBB + FGGBBF + FGGBFB + FGGFBB + GBBFFG + GBBFGF + GBBGFF + GBFBFG + GBFBGF + GBFFBG + GBFFGB + GBFGBF + GBFGFB + GBGBFF + GBGFBF + GBGFFB + GFBBFG + GFBBGF + GFBFBG + GFBFGB + GFBGBF + GFBGFB + GFFBBG + GFFBGB + GFFGBB + GFGBBF + GFGBFB + GFGFBB + GGBBFF + GGBFBF + GGBFFB + GGFBBF + GGFBFB + GGFFBB + BBGGGG + BGBGGG + BGGBGG + BGGGBG + BGGGGB + GBBGGG + GBGBGG + GBGGBG + GBGGGB + GGBBGG + GGBGBG + GGBGGB + GGGBBG + GGGBGB + GGGGBB + CCCCCC + CCCCDD + CCCDCD + CCCDDC + CCDCCD + CCDCDC + CCDDCC + CDCCCD + CDCCDC + CDCDCC + CDDCCC + DCCCCD + DCCCDC + DCCDCC + DCDCCC + DDCCCC + CCCCEE + CCCECE + CCCEEC + CCECCE + CCECEC + CCEECC + CECCCE + CECCEC + CECECC + CEECCC + ECCCCE + ECCCEC + ECCECC + ECECCC + EECCCC + CCCCFF + CCCFCF + CCCFFC + CCFCCF + CCFCFC + CCFFCC + CFCCCF + CFCCFC + CFCFCC + CFFCCC + FCCCCF + FCCCFC + FCCFCC + FCFCCC + FFCCCC + CCCCGG + CCCGCG + CCCGGC + CCGCCG + CCGCGC + CCGGCC + CGCCCG + CGCCGC + CGCGCC + CGGCCC + GCCCCG + GCCCGC + GCCGCC + GCGCCC + GGCCCC + CCCDDD + CCDCDD + CCDDCD + CCDDDC + CDCCDD + CDCDCD + CDCDDC + CDDCCD + CDDCDC + CDDDCC + DCCCDD + DCCDCD + DCCDDC + DCDCCD + DCDCDC + DCDDCC + DDCCCD + DDCCDC + DDCDCC + DDDCCC + CCCEEE + CCECEE + CCEECE + CCEEEC + CECCEE + CECECE + CECEEC + CEECCE + CEECEC + CEEECC + ECCCEE + ECCECE + ECCEEC + ECECCE + ECECEC + ECEECC + EECCCE + EECCEC + EECECC + EEECCC + CCCFFF + CCFCFF + CCFFCF + CCFFFC + CFCCFF + CFCFCF + CFCFFC + CFFCCF + CFFCFC + CFFFCC + FCCCFF + FCCFCF + FCCFFC + FCFCCF + FCFCFC + FCFFCC + FFCCCF + FFCCFC + FFCFCC + FFFCCC + CCCGGG + CCGCGG + CCGGCG + CCGGGC + CGCCGG + CGCGCG + CGCGGC + CGGCCG + CGGCGC + CGGGCC + GCCCGG + GCCGCG + GCCGGC + GCGCCG + GCGCGC + GCGGCC + GGCCCG + GGCCGC + GGCGCC + GGGCCC + CCDDDD + CDCDDD + CDDCDD + CDDDCD + CDDDDC + DCCDDD + DCDCDD + DCDDCD + DCDDDC + DDCCDD + DDCDCD + DDCDDC + DDDCCD + DDDCDC + DDDDCC + CCDDEE + CCDEDE + CCDEED + CCEDDE + CCEDED + CCEEDD + CDCDEE + CDCEDE + CDCEED + CDDCEE + CDDECE + CDDEEC + CDECDE + CDECED + CDEDCE + CDEDEC + CDEECD + CDEEDC + CECDDE + CECDED + CECEDD + CEDCDE + CEDCED + CEDDCE + CEDDEC + CEDECD + CEDEDC + CEECDD + CEEDCD + CEEDDC + DCCDEE + DCCEDE + DCCEED + DCDCEE + DCDECE + DCDEEC + DCECDE + DCECED + DCEDCE + DCEDEC + DCEECD + DCEEDC + DDCCEE + DDCECE + DDCEEC + DDECCE + DDECEC + DDEECC + DECCDE + DECCED + DECDCE + DECDEC + DECECD + DECEDC + DEDCCE + DEDCEC + DEDECC + DEECCD + DEECDC + DEEDCC + ECCDDE + ECCDED + ECCEDD + ECDCDE + ECDCED + ECDDCE + ECDDEC + ECDECD + ECDEDC + ECECDD + ECEDCD + ECEDDC + EDCCDE + EDCCED + EDCDCE + EDCDEC + EDCECD + EDCEDC + EDDCCE + EDDCEC + EDDECC + EDECCD + EDECDC + EDEDCC + EECCDD + EECDCD + EECDDC + EEDCCD + EEDCDC + EEDDCC + CCDDFF + CCDFDF + CCDFFD + CCFDDF + CCFDFD + CCFFDD + CDCDFF + CDCFDF + CDCFFD + CDDCFF + CDDFCF + CDDFFC + CDFCDF + CDFCFD + CDFDCF + CDFDFC + CDFFCD + CDFFDC + CFCDDF + CFCDFD + CFCFDD + CFDCDF + CFDCFD + CFDDCF + CFDDFC + CFDFCD + CFDFDC + CFFCDD + CFFDCD + CFFDDC + DCCDFF + DCCFDF + DCCFFD + DCDCFF + DCDFCF + DCDFFC + DCFCDF + DCFCFD + DCFDCF + DCFDFC + DCFFCD + DCFFDC + DDCCFF + DDCFCF + DDCFFC + DDFCCF + DDFCFC + DDFFCC + DFCCDF + DFCCFD + DFCDCF + DFCDFC + DFCFCD + DFCFDC + DFDCCF + DFDCFC + DFDFCC + DFFCCD + DFFCDC + DFFDCC + FCCDDF + FCCDFD + FCCFDD + FCDCDF + FCDCFD + FCDDCF + FCDDFC + FCDFCD + FCDFDC + FCFCDD + FCFDCD + FCFDDC + FDCCDF + FDCCFD + FDCDCF + FDCDFC + FDCFCD + FDCFDC + FDDCCF + FDDCFC + FDDFCC + FDFCCD + FDFCDC + FDFDCC + FFCCDD + FFCDCD + FFCDDC + FFDCCD + FFDCDC + FFDDCC + CCDDGG + CCDGDG + CCDGGD + CCGDDG + CCGDGD + CCGGDD + CDCDGG + CDCGDG + CDCGGD + CDDCGG + CDDGCG + CDDGGC + CDGCDG + CDGCGD + CDGDCG + CDGDGC + CDGGCD + CDGGDC + CGCDDG + CGCDGD + CGCGDD + CGDCDG + CGDCGD + CGDDCG + CGDDGC + CGDGCD + CGDGDC + CGGCDD + CGGDCD + CGGDDC + DCCDGG + DCCGDG + DCCGGD + DCDCGG + DCDGCG + DCDGGC + DCGCDG + DCGCGD + DCGDCG + DCGDGC + DCGGCD + DCGGDC + DDCCGG + DDCGCG + DDCGGC + DDGCCG + DDGCGC + DDGGCC + DGCCDG + DGCCGD + DGCDCG + DGCDGC + DGCGCD + DGCGDC + DGDCCG + DGDCGC + DGDGCC + DGGCCD + DGGCDC + DGGDCC + GCCDDG + GCCDGD + GCCGDD + GCDCDG + GCDCGD + GCDDCG + GCDDGC + GCDGCD + GCDGDC + GCGCDD + GCGDCD + GCGDDC + GDCCDG + GDCCGD + GDCDCG + GDCDGC + GDCGCD + GDCGDC + GDDCCG + GDDCGC + GDDGCC + GDGCCD + GDGCDC + GDGDCC + GGCCDD + GGCDCD + GGCDDC + GGDCCD + GGDCDC + GGDDCC + CCEEEE + CECEEE + CEECEE + CEEECE + CEEEEC + ECCEEE + ECECEE + ECEECE + ECEEEC + EECCEE + EECECE + EECEEC + EEECCE + EEECEC + EEEECC + CCEEFF + CCEFEF + CCEFFE + CCFEEF + CCFEFE + CCFFEE + CECEFF + CECFEF + CECFFE + CEECFF + CEEFCF + CEEFFC + CEFCEF + CEFCFE + CEFECF + CEFEFC + CEFFCE + CEFFEC + CFCEEF + CFCEFE + CFCFEE + CFECEF + CFECFE + CFEECF + CFEEFC + CFEFCE + CFEFEC + CFFCEE + CFFECE + CFFEEC + ECCEFF + ECCFEF + ECCFFE + ECECFF + ECEFCF + ECEFFC + ECFCEF + ECFCFE + ECFECF + ECFEFC + ECFFCE + ECFFEC + EECCFF + EECFCF + EECFFC + EEFCCF + EEFCFC + EEFFCC + EFCCEF + EFCCFE + EFCECF + EFCEFC + EFCFCE + EFCFEC + EFECCF + EFECFC + EFEFCC + EFFCCE + EFFCEC + EFFECC + FCCEEF + FCCEFE + FCCFEE + FCECEF + FCECFE + FCEECF + FCEEFC + FCEFCE + FCEFEC + FCFCEE + FCFECE + FCFEEC + FECCEF + FECCFE + FECECF + FECEFC + FECFCE + FECFEC + FEECCF + FEECFC + FEEFCC + FEFCCE + FEFCEC + FEFECC + FFCCEE + FFCECE + FFCEEC + FFECCE + FFECEC + FFEECC + CCEEGG + CCEGEG + CCEGGE + CCGEEG + CCGEGE + CCGGEE + CECEGG + CECGEG + CECGGE + CEECGG + CEEGCG + CEEGGC + CEGCEG + CEGCGE + CEGECG + CEGEGC + CEGGCE + CEGGEC + CGCEEG + CGCEGE + CGCGEE + CGECEG + CGECGE + CGEECG + CGEEGC + CGEGCE + CGEGEC + CGGCEE + CGGECE + CGGEEC + ECCEGG + ECCGEG + ECCGGE + ECECGG + ECEGCG + ECEGGC + ECGCEG + ECGCGE + ECGECG + ECGEGC + ECGGCE + ECGGEC + EECCGG + EECGCG + EECGGC + EEGCCG + EEGCGC + EEGGCC + EGCCEG + EGCCGE + EGCECG + EGCEGC + EGCGCE + EGCGEC + EGECCG + EGECGC + EGEGCC + EGGCCE + EGGCEC + EGGECC + GCCEEG + GCCEGE + GCCGEE + GCECEG + GCECGE + GCEECG + GCEEGC + GCEGCE + GCEGEC + GCGCEE + GCGECE + GCGEEC + GECCEG + GECCGE + GECECG + GECEGC + GECGCE + GECGEC + GEECCG + GEECGC + GEEGCC + GEGCCE + GEGCEC + GEGECC + GGCCEE + GGCECE + GGCEEC + GGECCE + GGECEC + GGEECC + CCFFFF + CFCFFF + CFFCFF + CFFFCF + CFFFFC + FCCFFF + FCFCFF + FCFFCF + FCFFFC + FFCCFF + FFCFCF + FFCFFC + FFFCCF + FFFCFC + FFFFCC + CCFFGG + CCFGFG + CCFGGF + CCGFFG + CCGFGF + CCGGFF + CFCFGG + CFCGFG + CFCGGF + CFFCGG + CFFGCG + CFFGGC + CFGCFG + CFGCGF + CFGFCG + CFGFGC + CFGGCF + CFGGFC + CGCFFG + CGCFGF + CGCGFF + CGFCFG + CGFCGF + CGFFCG + CGFFGC + CGFGCF + CGFGFC + CGGCFF + CGGFCF + CGGFFC + FCCFGG + FCCGFG + FCCGGF + FCFCGG + FCFGCG + FCFGGC + FCGCFG + FCGCGF + FCGFCG + FCGFGC + FCGGCF + FCGGFC + FFCCGG + FFCGCG + FFCGGC + FFGCCG + FFGCGC + FFGGCC + FGCCFG + FGCCGF + FGCFCG + FGCFGC + FGCGCF + FGCGFC + FGFCCG + FGFCGC + FGFGCC + FGGCCF + FGGCFC + FGGFCC + GCCFFG + GCCFGF + GCCGFF + GCFCFG + GCFCGF + GCFFCG + GCFFGC + GCFGCF + GCFGFC + GCGCFF + GCGFCF + GCGFFC + GFCCFG + GFCCGF + GFCFCG + GFCFGC + GFCGCF + GFCGFC + GFFCCG + GFFCGC + GFFGCC + GFGCCF + GFGCFC + GFGFCC + GGCCFF + GGCFCF + GGCFFC + GGFCCF + GGFCFC + GGFFCC + CCGGGG + CGCGGG + CGGCGG + CGGGCG + CGGGGC + GCCGGG + GCGCGG + GCGGCG + GCGGGC + GGCCGG + GGCGCG + GGCGGC + GGGCCG + GGGCGC + GGGGCC + DDDDDD + DDDDEE + DDDEDE + DDDEED + DDEDDE + DDEDED + DDEEDD + DEDDDE + DEDDED + DEDEDD + DEEDDD + EDDDDE + EDDDED + EDDEDD + EDEDDD + EEDDDD + DDDDFF + DDDFDF + DDDFFD + DDFDDF + DDFDFD + DDFFDD + DFDDDF + DFDDFD + DFDFDD + DFFDDD + FDDDDF + FDDDFD + FDDFDD + FDFDDD + FFDDDD + DDDDGG + DDDGDG + DDDGGD + DDGDDG + DDGDGD + DDGGDD + DGDDDG + DGDDGD + DGDGDD + DGGDDD + GDDDDG + GDDDGD + GDDGDD + GDGDDD + GGDDDD + DDDEEE + DDEDEE + DDEEDE + DDEEED + DEDDEE + DEDEDE + DEDEED + DEEDDE + DEEDED + DEEEDD + EDDDEE + EDDEDE + EDDEED + EDEDDE + EDEDED + EDEEDD + EEDDDE + EEDDED + EEDEDD + EEEDDD + DDDFFF + DDFDFF + DDFFDF + DDFFFD + DFDDFF + DFDFDF + DFDFFD + DFFDDF + DFFDFD + DFFFDD + FDDDFF + FDDFDF + FDDFFD + FDFDDF + FDFDFD + FDFFDD + FFDDDF + FFDDFD + FFDFDD + FFFDDD + DDDGGG + DDGDGG + DDGGDG + DDGGGD + DGDDGG + DGDGDG + DGDGGD + DGGDDG + DGGDGD + DGGGDD + GDDDGG + GDDGDG + GDDGGD + GDGDDG + GDGDGD + GDGGDD + GGDDDG + GGDDGD + GGDGDD + GGGDDD + DDEEEE + DEDEEE + DEEDEE + DEEEDE + DEEEED + EDDEEE + EDEDEE + EDEEDE + EDEEED + EEDDEE + EEDEDE + EEDEED + EEEDDE + EEEDED + EEEEDD + DDEEFF + DDEFEF + DDEFFE + DDFEEF + DDFEFE + DDFFEE + DEDEFF + DEDFEF + DEDFFE + DEEDFF + DEEFDF + DEEFFD + DEFDEF + DEFDFE + DEFEDF + DEFEFD + DEFFDE + DEFFED + DFDEEF + DFDEFE + DFDFEE + DFEDEF + DFEDFE + DFEEDF + DFEEFD + DFEFDE + DFEFED + DFFDEE + DFFEDE + DFFEED + EDDEFF + EDDFEF + EDDFFE + EDEDFF + EDEFDF + EDEFFD + EDFDEF + EDFDFE + EDFEDF + EDFEFD + EDFFDE + EDFFED + EEDDFF + EEDFDF + EEDFFD + EEFDDF + EEFDFD + EEFFDD + EFDDEF + EFDDFE + EFDEDF + EFDEFD + EFDFDE + EFDFED + EFEDDF + EFEDFD + EFEFDD + EFFDDE + EFFDED + EFFEDD + FDDEEF + FDDEFE + FDDFEE + FDEDEF + FDEDFE + FDEEDF + FDEEFD + FDEFDE + FDEFED + FDFDEE + FDFEDE + FDFEED + FEDDEF + FEDDFE + FEDEDF + FEDEFD + FEDFDE + FEDFED + FEEDDF + FEEDFD + FEEFDD + FEFDDE + FEFDED + FEFEDD + FFDDEE + FFDEDE + FFDEED + FFEDDE + FFEDED + FFEEDD + DDEEGG + DDEGEG + DDEGGE + DDGEEG + DDGEGE + DDGGEE + DEDEGG + DEDGEG + DEDGGE + DEEDGG + DEEGDG + DEEGGD + DEGDEG + DEGDGE + DEGEDG + DEGEGD + DEGGDE + DEGGED + DGDEEG + DGDEGE + DGDGEE + DGEDEG + DGEDGE + DGEEDG + DGEEGD + DGEGDE + DGEGED + DGGDEE + DGGEDE + DGGEED + EDDEGG + EDDGEG + EDDGGE + EDEDGG + EDEGDG + EDEGGD + EDGDEG + EDGDGE + EDGEDG + EDGEGD + EDGGDE + EDGGED + EEDDGG + EEDGDG + EEDGGD + EEGDDG + EEGDGD + EEGGDD + EGDDEG + EGDDGE + EGDEDG + EGDEGD + EGDGDE + EGDGED + EGEDDG + EGEDGD + EGEGDD + EGGDDE + EGGDED + EGGEDD + GDDEEG + GDDEGE + GDDGEE + GDEDEG + GDEDGE + GDEEDG + GDEEGD + GDEGDE + GDEGED + GDGDEE + GDGEDE + GDGEED + GEDDEG + GEDDGE + GEDEDG + GEDEGD + GEDGDE + GEDGED + GEEDDG + GEEDGD + GEEGDD + GEGDDE + GEGDED + GEGEDD + GGDDEE + GGDEDE + GGDEED + GGEDDE + GGEDED + GGEEDD + DDFFFF + DFDFFF + DFFDFF + DFFFDF + DFFFFD + FDDFFF + FDFDFF + FDFFDF + FDFFFD + FFDDFF + FFDFDF + FFDFFD + FFFDDF + FFFDFD + FFFFDD + DDFFGG + DDFGFG + DDFGGF + DDGFFG + DDGFGF + DDGGFF + DFDFGG + DFDGFG + DFDGGF + DFFDGG + DFFGDG + DFFGGD + DFGDFG + DFGDGF + DFGFDG + DFGFGD + DFGGDF + DFGGFD + DGDFFG + DGDFGF + DGDGFF + DGFDFG + DGFDGF + DGFFDG + DGFFGD + DGFGDF + DGFGFD + DGGDFF + DGGFDF + DGGFFD + FDDFGG + FDDGFG + FDDGGF + FDFDGG + FDFGDG + FDFGGD + FDGDFG + FDGDGF + FDGFDG + FDGFGD + FDGGDF + FDGGFD + FFDDGG + FFDGDG + FFDGGD + FFGDDG + FFGDGD + FFGGDD + FGDDFG + FGDDGF + FGDFDG + FGDFGD + FGDGDF + FGDGFD + FGFDDG + FGFDGD + FGFGDD + FGGDDF + FGGDFD + FGGFDD + GDDFFG + GDDFGF + GDDGFF + GDFDFG + GDFDGF + GDFFDG + GDFFGD + GDFGDF + GDFGFD + GDGDFF + GDGFDF + GDGFFD + GFDDFG + GFDDGF + GFDFDG + GFDFGD + GFDGDF + GFDGFD + GFFDDG + GFFDGD + GFFGDD + GFGDDF + GFGDFD + GFGFDD + GGDDFF + GGDFDF + GGDFFD + GGFDDF + GGFDFD + GGFFDD + DDGGGG + DGDGGG + DGGDGG + DGGGDG + DGGGGD + GDDGGG + GDGDGG + GDGGDG + GDGGGD + GGDDGG + GGDGDG + GGDGGD + GGGDDG + GGGDGD + GGGGDD + EEEEEE + EEEEFF + EEEFEF + EEEFFE + EEFEEF + EEFEFE + EEFFEE + EFEEEF + EFEEFE + EFEFEE + EFFEEE + FEEEEF + FEEEFE + FEEFEE + FEFEEE + FFEEEE + EEEEGG + EEEGEG + EEEGGE + EEGEEG + EEGEGE + EEGGEE + EGEEEG + EGEEGE + EGEGEE + EGGEEE + GEEEEG + GEEEGE + GEEGEE + GEGEEE + GGEEEE + EEEFFF + EEFEFF + EEFFEF + EEFFFE + EFEEFF + EFEFEF + EFEFFE + EFFEEF + EFFEFE + EFFFEE + FEEEFF + FEEFEF + FEEFFE + FEFEEF + FEFEFE + FEFFEE + FFEEEF + FFEEFE + FFEFEE + FFFEEE + EEEGGG + EEGEGG + EEGGEG + EEGGGE + EGEEGG + EGEGEG + EGEGGE + EGGEEG + EGGEGE + EGGGEE + GEEEGG + GEEGEG + GEEGGE + GEGEEG + GEGEGE + GEGGEE + GGEEEG + GGEEGE + GGEGEE + GGGEEE + EEFFFF + EFEFFF + EFFEFF + EFFFEF + EFFFFE + FEEFFF + FEFEFF + FEFFEF + FEFFFE + FFEEFF + FFEFEF + FFEFFE + FFFEEF + FFFEFE + FFFFEE + EEFFGG + EEFGFG + EEFGGF + EEGFFG + EEGFGF + EEGGFF + EFEFGG + EFEGFG + EFEGGF + EFFEGG + EFFGEG + EFFGGE + EFGEFG + EFGEGF + EFGFEG + EFGFGE + EFGGEF + EFGGFE + EGEFFG + EGEFGF + EGEGFF + EGFEFG + EGFEGF + EGFFEG + EGFFGE + EGFGEF + EGFGFE + EGGEFF + EGGFEF + EGGFFE + FEEFGG + FEEGFG + FEEGGF + FEFEGG + FEFGEG + FEFGGE + FEGEFG + FEGEGF + FEGFEG + FEGFGE + FEGGEF + FEGGFE + FFEEGG + FFEGEG + FFEGGE + FFGEEG + FFGEGE + FFGGEE + FGEEFG + FGEEGF + FGEFEG + FGEFGE + FGEGEF + FGEGFE + FGFEEG + FGFEGE + FGFGEE + FGGEEF + FGGEFE + FGGFEE + GEEFFG + GEEFGF + GEEGFF + GEFEFG + GEFEGF + GEFFEG + GEFFGE + GEFGEF + GEFGFE + GEGEFF + GEGFEF + GEGFFE + GFEEFG + GFEEGF + GFEFEG + GFEFGE + GFEGEF + GFEGFE + GFFEEG + GFFEGE + GFFGEE + GFGEEF + GFGEFE + GFGFEE + GGEEFF + GGEFEF + GGEFFE + GGFEEF + GGFEFE + GGFFEE + EEGGGG + EGEGGG + EGGEGG + EGGGEG + EGGGGE + GEEGGG + GEGEGG + GEGGEG + GEGGGE + GGEEGG + GGEGEG + GGEGGE + GGGEEG + GGGEGE + GGGGEE + FFFFFF + FFFFGG + FFFGFG + FFFGGF + FFGFFG + FFGFGF + FFGGFF + FGFFFG + FGFFGF + FGFGFF + FGGFFF + GFFFFG + GFFFGF + GFFGFF + GFGFFF + GGFFFF + FFFGGG + FFGFGG + FFGGFG + FFGGGF + FGFFGG + FGFGFG + FGFGGF + FGGFFG + FGGFGF + FGGGFF + GFFFGG + GFFGFG + GFFGGF + GFGFFG + GFGFGF + GFGGFF + GGFFFG + GGFFGF + GGFGFF + GGGFFF + FFGGGG + FGFGGG + FGGFGG + FGGGFG + FGGGGF + GFFGGG + GFGFGG + GFGGFG + GFGGGF + GGFFGG + GGFGFG + GGFGGF + GGGFFG + GGGFGF + GGGGFF + GGGGGG