197 - Cube
Moderator: Board moderators
-
- New poster
- Posts: 31
- Joined: Sat Nov 17, 2001 2:00 am
- Contact:
I haven't solved this problem, but I think I can answer your question. Translate means that you're moving the graph or block or whatever without changing the overall structure.
For example: Consider the following functions:
1. f(x) = x + 2
2. f(x) = x
The first function is considered to be a translation of the second function by (2, 0).
hope this helps...
For example: Consider the following functions:
1. f(x) = x + 2
2. f(x) = x
The first function is considered to be a translation of the second function by (2, 0).
hope this helps...
-
- Experienced poster
- Posts: 167
- Joined: Fri Oct 19, 2001 2:00 am
- Location: Saint Petersburg, Russia
All you need to do is:
1. Read the figure 'a' placement.
2. Move it (translate) to all possible legal positions (as far as I remember, there only 6 such positions).
3. For all positions of figure 'a' generate all possible positions for the another figures (again AFAIR, there are 480 such positions).
That's all.
1. Read the figure 'a' placement.
2. Move it (translate) to all possible legal positions (as far as I remember, there only 6 such positions).
3. For all positions of figure 'a' generate all possible positions for the another figures (again AFAIR, there are 480 such positions).
That's all.
-
- Experienced poster
- Posts: 167
- Joined: Fri Oct 19, 2001 2:00 am
- Location: Saint Petersburg, Russia
If the answer needs to be sorted, isn't that a lot of time wasted? Are you sure it doesn't work without sort?
And just for checking, is it correct that you must get 480 solutions for every position of a? Because if it is, then I know that just implementing a sort will do the trick. Anybody know of a good way to sort quickly 480 strings?
And just for checking, is it correct that you must get 480 solutions for every position of a? Because if it is, then I know that just implementing a sort will do the trick. Anybody know of a good way to sort quickly 480 strings?
Did all that, sorted it, and I still got wrong answer. I want to know if my program even does the given test case correctly.
This is my sorted output for the two sample cases in the problem:
aababbadceffgdcgdceefedfggc
aababbadcffegfcddcfeeggedgc
aababbadcggeffcddcgeegfedfc
aababbaddeegcefddfcegcggcff
aababbaddggecgfddfceecgecff
aababbaddggfgffddecgfccecee
aababbaggfdeddgdcgfeeffeccc
aabadbadcfdegdbgccfeeffeggc
aabadbadcfdgfdbeccffgeggeec
aabadeaeefbbfdcgdeffcggcgdc
aabadfadfedbgdbgffeececcggc
aabaeeaedfbbfecgddffcggcgdc
aabafbaddffecfbddgceecgecgg
aabafbaffedgddbdcfeegeggccc
aabafbaffeegcebddfcegcggcdd
aabafbaffeegdebdcfdegdggccc
aabafbaffggecgbddfceecgecdd
aabafbaffggedgbdcfdeedgeccc
aabaffadfgcbgfbddecccggedee
aabaffagfddbgfbggecddccecee
aabaffagfebbgfdggdeedecdccc
aabafgafgdbbdggffecccdcedee
aabafgaggddbffbfgecddccecee
aabafgaggebbffdfgdeedecdccc
aabageaeegbbggfddecffccfcdd
aabagfaffdbbdgfggecccdcedee
aabaggadgebbffcddgeecefcdfc
aabaggadgfbbfdcedgffcedceec
aabaggadgfbbfecddgffceecdec
aabaggagcebbffgfcceededdfdc
aabaggagdebbffgfddeececcfdc
aacabbadbfgcfgceddffceggeed
aacabbadbgfcggceddgfceffeed
aacabbafbgccggfeffgdceddeed
aacabbagbffcgfcggefdcddedee
aacabcadceffbbcddgeefegfdgg
aacabcadcfbegbcgddfeeffeggd
aacabcadcfbgfbceddffgeggeed
aacabcadcgffbbceddggfegfeed
aacabcadcggebbcfddgeegfeffd
aacabcadcggfbbcddegffgfedee
aacabdabbeccffdfgdeeceggfgd
aacabdabbeccgfdgfdeeceffggd
aacabdabbfccfddeggffcedgeeg
aacaccadcbbebgfddfgeeggedff
aacaccadcbfgbfgddebggffedee
aacaccadcbgfbffddebgfggedee
aacaccadcebbgfbgddeefeffggd
aacaccadcebgbbfddfeegeggdff
aacaccadcebgeefddfbbgeggdff
aacaccadceegbefddfbegbggdff
aacaccadceffbggbddeefegfbgd
aacaccadceffgbbgddeefebfggd
aacaccadceffgdbgdbeefedfggb
aacaccadceffgfbgddeebefbggd
aacaccadceggbgfbddeegeffbfd
aacaccadcfbegbbgddfeeffeggd
aacaccadcfbegeegddfbbffeggd
aacaccadcfbgbbgddefggffedee
aacaccadcfbgfbbeddffgeggeed
aacaccadcfeegebgddfebffbggd
aacaccadcffegfbddbfeeggedgb
aacaccadcffgbfgddefggbbedee
aacaccadcfgbfgbeddffbeggeed
aacaccadcfggfgbeddffgebbeed
aacaccadcgbfgffddebbfggedee
aacaccadcgbfggfeddgbbeffeed
aacaccadcgfbggbeddgfbeffeed
aacaccadcgffggfeddgfbebbeed
aacaccadcggebbfddfgeegbedff
aacaccadcggebdfbdfgeegdebff
aacaccadcggebgfddfbeebgedff
aacaccadcggeffbddbgeegfedfb
aacaccadcggfgffddebgfbbedee
aacaccaecdbgdefeefbbgdggdff
aacaccaecfbdgedgeefbbffdggd
aacaccafcbggbgfeffbdgeddeed
aacaccafcgbbggfeffgdbeddeed
aacaccagcbbfgffggebdfddedee
aacaccagcffbgfbggefdbddedee
aacadcadcbdebdcffgbeefgefgg
aacadcadcbdfbdceggbffefgeeg
aacadcadcfdegdcgbbfeeffeggb
aacadcadcfdgfdcebbffgeggeeb
aacadeaeebdcbdcgfebdcggfgff
aacadeaeefccfdbgdeffcggbgdb
aacadeaeefccfddgbeffcggdgbb
aacadfadfedcgdcgffeecebbggb
aacadfaffgccddfbbeggcdgebee
aacadgaggbdcbdcegfbdceffeef
aacadgaggfdcbdcbgefdcffebee
aacaeeaedfccfebgddffcggbgdb
aacaeeaedfccfedgbdffcggdgbb
aacafbafbgccggbffegdcddedee
aacafcadcffebfcddgbeebgedgg
aacafcadcffegfcgddbeebbeggd
aacafcadcggeffcfddgeegbebbd
aacafcafcbggbgcffebdgddedee
aacafcafcdggdgcffebbgdbedee
aacafcafcgbbggcffegdbddedee
aacafeaeebbcffcfgebdcgddggd
aacafeaeeggcffcfbegdcgddbbd
aacaffabbgccggfebfgdceddeed
aacaffaddgfcbfcddeggcbgebee
aacaffadfbccbfgeddbgceggeed
aacaffadfbgcbfcddebgcggedee
aacaffadfeccgfbgddeecebbggd
aacaffadfgbcgfcddebbcggedee
aacaffadfggcgfcddebgcbbedee
aacaffafbgccggbefbgdceddeed
aacaffagfbbcgfcggebdcddedee
aacaffagfeccgfbggbeeceddddb
aacafgafgbccbggffebdcddedee
aacafgafgdccdggffebbcdbedee
aacafgaggbbcffcfgebdcddedee
aacafgaggeccffbfgbeeceddddb
aacagcadcfggfgceddffbebbeed
aacagcadcgffggceddbbfebfeed
aacagcagcbbeffcfggbeeddefdd
aacagcagcffebfcbggfeeddebdd
aacageaeebbcfgcggebdcfddffd
aacagfaffbccbgfggebdcddedee
aacagfaffdccdgfggebbcdbedee
aacagfaffgccggfebbddceddeeb
aacagfagfbbcggceffbdceddeed
aacaggadgeccffbddgeecefbdfb
aacaggadgfccfdbedgffcedbeeb
aacaggadgfccfebddgffceebdeb
aacaggaegbbcfeceegbdcfddffd
aacaggafgbbcffcefgbdceddeed
aacaggagdeccffgfddeecebbfdb
aadabbaebfddgecgeefdcffcggc
aadabbafbgddggfeffgdcecceec
aadabdabbeffggdgcdeefegfccc
aadabdabbffegfdggdfeegceccc
aadabdabbgffeedecdggfegfccc
aadabeaeefddgbcgbefdcffcggc
aadaddadbeffgfcgbbeecefcggc
aadaddadbeffggbgcbeefegfccc
aadaddadbfeegecgbbfecffcggc
aadaddadbffegfbggbfeegceccc
aadaddadbgffeebecbggfegfccc
aadaddadbgffggfebbgfcecceec
aadaddadcebbffcfgceebeggfgc
aadaddadcebbgfbgcceefeffggc
aadaddadcebbgfcgfceebeffggc
aadaddadceffbgcbbceefegfggc
aadaddadceffbggbcceefegfbgc
aadaddadceffgbbgcceefebfggc
aadaddadceffgbcgbceefebfggc
aadaddadceffgfbgcceebefbggc
aadaddadceffggcgbceefegfbbc
aadaddadceggbgfbcceegeffbfc
aadaddadcfbegbbgccfeeffeggc
aadaddadcfbegeegccfbbffeggc
aadaddadcfbgfbbeccffgeggeec
aadaddadcfeegebgccfebffbggc
aadaddadcffebfcggcfeebgebgc
aadaddadcffegfcbbcfeeggebgc
aadaddadcffegfcggcfeegbebbc
aadaddadcfgbfgbeccffbeggeec
aadaddadcfggfgbeccffgebbeec
aadaddadcgbfggfeccgbbeffeec
aadaddadcgfbggbeccgfbeffeec
aadaddadcgffbbcebcggfegfeec
aadaddadcgffbeceecggfbgfbec
aadaddadcgffeecebcggfegfbbc
aadaddadcgffggfeccgfbebbeec
aadaddadcggebbcfbcgeegfeffc
aadaddadcggeffcbbcgeegfebfc
aadaddadcggeffcfbcgeegbefbc
aadaddadfbbegffggfbeegceccc
aadaddadfggebffbbfgeegceccc
aadaddadgbffbgfeggbfcecceec
aadaddadgfbbfgbeggffcecceec
aadaeeaebfddgecgbbfdcffcggc
aadaeeaecfbdgedgccfbbffdggc
aadaeeaecfddgebgccfdbffbggc
aadafdabbggeffdfbdgeegceccc
aadafeaeeggdffdfcegbbgbdccc
aadaffabbgddggfebfgdcecceec
aadaffafbgddggbefbgdcecceec
aadaffafcgddggcefcgdbebbeec
aadagdabbfggfgdebdffcecceec
aadagdaggbbefgdfcdbeeffeccc
aadagdaggeffbgdbbdeefecfccc
aadageaeegcdggdffecccfbdfbb
aadaggagcbddbfgeccbdfeffeec
aafabbagbeffgfdggdeedecdccc
aafaffabbedfgddgbdeececcggc
aafaffadcbgfbdcedcbggedgeec
aafaffadcbgfbecddcbggeegdec
aafaffaddeefcebddgcebcgbcgg
aafaffaggdbfddgedgbbcecceec
aafaffaggdbfdegeegbbcdccdec
aafaffaggdcfddgedgcccebbeeb
aafaffaggdcfdegeegcccdbbdeb
aafaffaggddfcegeegcddcbbceb
aafaffaggedfddgdbgeececcbbc
aafaffaggedfddgdcgeebebbccc
aafaffaggeefcegddgcebcbbcdd
aafaffaggeefdegdbgdecdccbbc
aafaffaggeefdegdcgdebdbbccc
aafaggagceffbfgbcceededdbdc
aafaggagdeffbfgbddeececcbdc
aagabbadbffgfggddecccfcedee
aagabgabbeggddcfddeecefcffc
aagabgabceggffcfbceededdfdc
aagafgabbeggffdfbdeedecdccc
aagafgafceggbffbcceededdbdc
aagafgafdeggbffbddeececcbdc
aagafgaffbggbdcedfbdcedceec
aagafgaffbggbeceefbdcddcdec
aagafgaffdggddbedfcccecbeeb
aagafgaffdggddcedfbbcebceec
aagafgaffdggdebeefcccdcbdeb
aagafgaffdggdeceefbbcdbcdec
aagaggaddbbebgfddfceeccecff
aagaggaddffbcgbddecfbcfecee
baafadfadbbdffdeggcccecgeeg
baagadgadbcdbfdggecccffefee
baagadgadbfdbfdggecffccecee
bbcdbcdecdffdeceegaafagfagg
bbcdbedeedccdffggeaacagfagf
bbcdbedeedccdfgffeaacafgagg
bbcdccdecdbgdefeefaagaggaff
bbcebceecdffddcedgaafagfagg
bbcecceecdbgddfedfaagaggaff
bbcffedeefbcfgcddeaacaggadg
bbfdbedeedffdfcggeaacagcagc
bbfdffdggdbfdegeegaacaccaec
bbfeffdggebfeegddgaacaccadc
bbgebgeedfggffceddaacafcadc
bbgffedeefbgfggddeaacaccadc
bdcddcdecbffbeceegaafagfagg
bdcddedeebbcfgcffeaacaggafg
bdcddedeebbcggcgfeaacagfaff
bdcddedeebccbffggeaacagfagf
bdcddedeebccbfgffeaacafgagg
bdcedceecbffbdcedgaafagfagg
bdceddeedbbcffceggaacafgafg
bdceddeedbbcggcegfaacaffagf
bdceggeegbdcbdcefgaacadfaff
bdcfddffdbbcggcgfeaacageaee
bdcffgfggbdcbdcfgeaacadeaee
bdcgddggdbbcgeceefaacaffaef
bdcgddggdbbcgfcffeaacafeaee
bdfddedeebffbfcggeaacagcagc
bdfeddeedbffbfgeggaacaccagc
bdgddedeebbgfggffeaacaccafc
bdgeggeecbddbgfeccaadaffafc
beebbeffdggefgcfddaacagcadc
beebfedffggebgcddfaacagcadc
beebfedggffebfgddgaacaccadc
beeddegddbbeggcgffaacafcafc
beefcecccbbefggffgaadaddadg
beegfegffbdebdcggfaacadcadc
beeggecccbbegfdgcdaadafdaff
befbffdggeefbegddgaacaccadc
bfcbbedeeffcfgcddeaacaggadg
bfceffeedbccbgfeddaacaggadg
bfcffedeebfcbgcddeaacaggadg
bffbfeceeggdbfdccegaagadcad
bffedfeecbfgbdcedcaagaggadc
bffeefdecbfgbecddcaagaggadc
bffefdeedbbdcfdeggcaacagcag
bffgfegeebbdcfdggecaacadcad
bffggedeebgfbgfddeaacaccadc
bfgbbedeeffgfggddeaacaccadc
bfgffedeebfgbggddeaacaccadc
bgcecceecbggbfgeffaadaddadf
bggegfeefbdgbdceffaacadcadc
caabadbadccdbgdffecggfgefee
caabafbafccdbgdeffcggegdeed
caacadcadbbdcgdffebggfgefee
caacadcadfbdcgdggefbbffegee
caacadcadffdcfdeggfbbebgeeg
caacafcafbbdcgdeffbggegdeed
caafadfadccdffdeggcbbebgeeg
caagadgadcbdcfdggecbbffefee
caagadgadcfdcfdggecffbbebee
cbbcceceegbdggdffegaafadfad
cbbebfeefccdggdeffcaagadgad
cbbggegeecbdcgdffecaafadfad
cccbbebeegcdggdffegaafadfad
cccdbbdebdcgdefeefaagaggaff
cccdcbdebdffdebeegaafagfagg
cccdcedeedbbdffggeaabagfagf
cccdcedeedbbdfgffeaabafgagg
cccebbeebdcgddfedfaagaggaff
cccecbeebdffddbedgaafagfagg
cccecdeedffdbfdeggfaabagbag
cccecfeefbbdggdeffbaagadgad
cccfcefeeggdffdbbegaagadbad
cccffedeefcbfgbddeaabaggadg
cccgbdgbbfcdffdggeaadafeaee
cccgcedeeggfgffddeaafabbadb
cccgcegeeffdbfdggefaabadbad
cccggegeebcdbgdffebaafadfad
cddcbbcebddgcefeefaagaggaff
cddcceceeddbfgbffeaabaggafg
cddcceceeddbggbgfeaabagfaff
cebcbbcddeegcefddfaagaggaff
cebcfbcffeegcebddfaagaggadd
ceeccecggbbebfgddgaafaffadd
ceecfecddffecfbddgaabagbagg
ceecfecffggecgbddfaabagbadd
ceecfecggffecfgddgaababbadd
cefcffcddeefcebddgaabagbagg
cefcffcggeefcegddgaababbadd
cffcfeceeggdcfdbbegaagadbad
cffefdeedccdbfdeggcaabagbag
cffgfegeeccdbfdggecaabadbad
cfgcceceeffgfggddeaababbadd
cgbcgeceeggbcfbddeaafaffadd
cggbbebeecgdcgdffecaafadfad
cggcceceebgdbgdffebaafadfad
cggccgcddfbbffgddeaabafeaee
ddceddeebfccffgebbaacafgagg
debdbbccceegdefdcfaagaggaff
decdccbbceegdefdbfaagaggaff
deeddecdbggecffcbbgaagafcaf
deedfecccffedfbdcgaabagbagg
defdffccceefdebdcgaabagbagg
eebebbcccedgddfdcfaagaggaff
eebeffgfcebbggcgfcaadaddadc
eebegbffceggfgbfccaadaddadc
eebegbffdeggfgbfddaacaccadc
eebeggffcebbfgcfgcaadaddadc
eecebbffbedcfdcfggaacadgadg
eecebbffdeccfgbfddaacaggadg
eecebbgdbeccggfgddaacaffafd
eececcbbcedgddfdbfaagaggaff
eececcbdceffbggbddaafagfagd
eececcbdceggbgfbddaagaffafd
eececcffcedbfdbfggaabadgadg
eececcffcedgfddfbdaagaggabb
eececcgdcebbggfgddaabaffafd
eeceddddbeccfgbffbaacaggafg
eeceddddbeccggbgfbaacagfaff
eeceffgfdeccggdgfdaacabdabb
eecegbdgbeccggbddfaacaffadf
eecegcdgcebbggcddfaabaffadf
eecegcffceggfgcfbbaadaddadb
eecegcggceffddcgddaafabfabb
eeceggffdeccfgdfgdaacabdabb
eedecdcccebbfgdffdaabaggafg
eedecdcccebbggdgfdaabagfaff
eedecdccceffggdgbdaafagfabb
eedecdccceggfgdffdaagabbafb
eededdbdceffbggbccaafagfagc
eededdbdceggbgfbccaagaffafc
eededdgdcebbggfgccaabaffafc
eededdgdceffggcgbcaafabfabc
eefeffcccedfddbdcgaabagbagg
eefeffdggebfbbgddgaacaccadc
eefeggbgceffbfgbccaadaddadc
eefeggbgdeffbfgbddaacaccadc
eegebgffceggfbbfccaadaddadc
eegebgffceggfbcfbcaadaddadc
eegebgffdeggfbbfddaacaccadc
eegecgccceggbfdbbdaadafdaff
eegedgffbeggfdbfdbaacaccadc
eegedgffceggfdcfdcaababbadc
eegefgbbceggffcfbcaadaddadc
eegefgbfceggbffbccaadaddadc
eegefgbfdeggbffbddaacaccadc
eegefgccceggffbfcbaadaddadb
eegefgccceggffdfcdaadabdabb
eegefgdffeggbbcddfaacabcadc
eegefgffceggbfcbbcaadaddadc
eegeggffcebbfgbfccaadaddadc
eegeggffdebbfgbfddaacaccadc
faafadbadffdcgdbbecggcgecee
faafadbadffdggdbbecccgcegee
faafadcadffdbgdccebggbgecee
faafagcagffecggcbbdeeddecdb
faagadgadfbdffdggecbbccecee
faagadgadfcdffdggecccbbebee
fbbeggeecfbgffgeccaadaddadc
fbbeggeedfbgffgeddaacaccadc
fbbfbdcccffdggdgceaadageaee
fdbddedeefbbffcggeaacagcagc
fdbebbeecfddffcegcaadaggagc
fdbeddeedfbbffgeggaacaccagc
fdcddedeefccffbggeaacagbagb
fdcecceecfddffbegbaadaggagb
fdcecceecfddffgebgaadaggabb
fdcecceecfddffgeggaadabbagb
fdceddeedfccffbegbaacaggagb
fdceddeedfccffgebgaacaggabb
fdceddeedfccffgeggaacabbagb
fdcfddbbdffcggcgbeaacageaee
feefbebbdffeggcgddaacagcadc
feefbedggffebbgddgaacaccadc
feefbegbcffeggcgbcaadaddadc
feefcecccffebggbbgaadaddadg
feefcecccffeggdgbdaadagdabb
feefdebggffebdgbdgaacaccadc
feeffedggbbebfgddgaacaccadc
feefgebgcffeggcbbcaadaddadc
feefgedgbffeggbddbaacaccadc
feefgedgcffeggcddcaababbadc
feefgeggcffebbcgbcaadaddadc
feefgeggdffebbcgddaacabcadc
ffcbfebeefgcbgcddeaacaggadd
ffcdfebeefccddgbbeaacadgagg
ffgbfgbecfggbeceecaadaddadc
ffgefgbbcfggeecebcaadaddadc
ffgefgcccfggeebecbaadaddadb
ffgefgcccfggeedecdaadabdabb
ffgefgeecfggbbcebcaadaddadc
ffgefgeedfggbbceddaacabcadc
fgbebbeecfggffgeccaadaddadc
fgbebbeedfggffgeddaacaccadc
fgbeggeecfgbffbeccaadaddadc
fgbeggeedfgbffbeddaacaccadc
fgcecceecfggffgebbaadaddadb
fgceggeedfgcffceddaacabbadb
fggfgedeeffgbbcddeaacabcadc
gaabadbadggdbgdffecccfcefee
gaabafbafggdbgdeffcccecdeed
gaagadcadfbdggdccefbbffecee
gbbebfeefggdcgdeffcaacadcad
gbbggdffcgbdfedfccaadaeeaec
gbbggdffdgbdfedfeeaacaccaec
gbbggeceegbdffdccefaafadcad
gbbggefeegbdcfdffecaacadcad
gbbggeffcgbefeefccaadaddadc
gbbggeffdgbefeefddaacaccadc
gdbddedeeggbfgbffeaacaccafc
gdbggbffcgddfebfccaadaeeaec
gdcddedeeggcfgcffeaacabbafb
gdcggcffcgddfbcfbeaadabeaee
gdcggcffcgddfecfbbaadaeeaeb
gdcggcffcgddfecfeeaadabbaeb
gdcggebeegdcbdcbfeaacadfaff
gebggbffcgeefebfccaadaddadc
gebggbffdgeefebfddaacaccadc
gecggcffcgeefecfbbaadaddadb
geebfebfcggebgcffcaadaddadc
geeddebddggebgcbffaacafcafc
geefbebbcggefgcffcaadaddadc
geefcecccggefgbffbaadaddadb
geefcecccggefgdffdaadabdabb
geeffebfcggefgcbbcaadaddadc
geeffedfbggefgbddbaacaccadc
geeffedfcggefgcddcaababbadc
geeggecccgdeddfdcfaababbaff
geeggeffbgdefdcfbbaacadcadc
geeggeffcgbefbbfccaadaddadc
geeggeffcgdefdbfccaabadbadc
geeggeffdgbefbbfddaacaccadc
geeggeffdgbefbcfddaacabcadc
gffbbedeeggfbgfddeaacaccadc
gffggedeegbfbbfddeaacaccadc
ggbebbeedgffgfceddaacafcadc
ggbeffeecgfbgfbeccaadaddadc
ggbeffeedgfbgfbeddaacaccadc
ggcecceecgbbgfbeffaadaddadf
ggcecceecgffgfdebdaadafdabb
ggcedbeebgccgdbedfaacaffadf
ggcedceecgbbgdcedfaabaffadf
ggcedfeefgccgddeffaacabdabb
ggceebdebgccgebddfaacaffadf
ggceecdecgbbgecddfaabaffadf
ggceffeedgfcgfceddaacabbadb
ggcffbfdbgccgdbfdeaacadeaee
ggcffbfdbgccgebfddaacaeeaed
ggcffcfdcgbbgdcfdeaabadeaee
ggcffcfdcgbbgecfddaabaeeaed
ggcffdfbbgccgddfbeaacadeaee
ggcffdfbbgccgedfbdaacaeeaed
ggfebbeecgffgfbeccaadaddadc
ggfebbeedgffgfbeddaacaccadc
ggfeffeebgdfgdcebbaacadcadc
ggfeffeecgbfgbbeccaadaddadc
ggfeffeecgdfgdbeccaabadbadc
ggfeffeedgbfgbbeddaacaccadc
ggfeffeedgbfgbceddaacabcadc
abbabdaaceffgddgcceefedfggc
abbabdaacfgdfgdeccffdeggeec
abbabdaacgfdggdeccgfdeffeec
abbabdaadecdeedfggcccefgffg
abbabdaadfcdffdeggcccefgeeg
abbabdaadffdfgdggecccfcegee
abbabfaafgddddceffggcegceec
abbafdaadebdgfdgffeececcggc
abbagdaadgbdggdffecccfcefee
abbagfaafgbdggdeffcccecdeed
abbaggaacebgffgfcceededdfdc
abbaggaadebgffgfddeececcfdc
abbaggaagfbdfddedgffcecceec
abcabfaafgbcggceffgdceddeed
adbabbaaceddffcfgceedeggfgc
adbabbaaceddgfcgfceedeffggc
adbabbaafddegffggfdeegceccc
adbaddaadebbffgfggeececcfgc
adbaddaadecbeebfggcccefgffg
adbaddaadfbbfecgeeffcggcgec
adbaddaadfbbfgceggffcegceec
adbaddaadfcbffbeggcccefgeeg
adbaddaadffbfgbggecccfcegee
adcabbaabddcfgcggedfcffegee
adcabbaabddcggcffedgcfgefee
adcabbaabfdcfdceggffcedgeeg
adcabcaacddebbcffgdeefgefgg
adcabcaacddfbbceggdffefgeeg
adcabcaaceddbbcfggeedefgffg
adcabcaaceddgbcgbfeedeffggf
adcabcaacfddfbcgbeffdggegee
adcabcaacgddbbcffeggdfgefee
adcaccaacbddbffeggbfdefgeeg
adcaccaacbddbfgeffbgdeggeef
adcaccaacbdgbdgffebggfdefee
adcaccaacddbfgbggedfbffegee
adcaccaacddbggbffedgbfgefee
adcaccaacddebbfgbfdeeggegff
adcaccaacddebgfbgfdeeggebff
adcaccaacddebgfggfdeebbegff
adcaccaacddebggbfgdeeffebfg
adcaccaacddefggfbgdeeffebbg
adcaccaacddefggffgdeebbebfg
adcaccaacddgbbgebfdggeffeef
adcaccaacddgbbgffedggfbefee
adcaccaacddgbegeefdggbffbef
adcaccaacddgbfgbbedggffefee
adcaccaacddgbfgffedggbfebee
adcaccaacddgeegebfdggeffbbf
adcaccaaceddffbfgbeedeggfgb
adcaccaaceddffgfbgeedeggfbb
adcaccaaceddffgfggeedebbfgb
adcaccaaceddgbbgbfeedeffggf
adcaccaaceddgfbgfbeedeffggb
adcaccaaceddgfbgffeedebbggf
adcaccaacfdbfdbeggffbedgeeg
adcaccaacfddfbbeggffdebgeeg
adcaccaacfddfbbgbeffdggegee
adcaccaacfddfebgeeffdggbgeb
adcaccaacfddfeegbeffdggegbb
adcaccaacfddfgbebbffdeggeeg
adcaccaacfddfgbeggffdegbeeb
adcadbaabeccgdbgdfeeceffggf
adcadbaabfccfdbgdeffcggegee
adcadcaacebbgdcgdfeebeffggf
adcadcaaceffbdcbdgeefegfbgg
adcadcaacfbbfdcgdeffbggegee
adcadcaacggfbdcbdegffgfebee
adcaddaadbbcbfceggffcefgeeg
adcaddaadbbcfgcggebfcffegee
adcaddaadbbcggcffebgcfgefee
adcaddaadbccbffeggbfcefgeeg
adcaddaadbccbfgeffbgceggeef
adcaddaadebcbbcfggeecefgffg
adcaddaadebceecfggbbcefgffg
adcaddaadeccffbfgbeeceggfgb
adcaddaadeccffgfbgeeceggfbb
adcaddaadeccffgfggeecebbfgb
adcaddaadeccgbbgbfeeceffggf
adcaddaadeccgfbgfbeeceffggb
adcaddaadeccgfbgffeecebbggf
adcaddaadeecbecfggbecbfgffg
adcaddaadfbcfbceggffcebgeeg
adcaddaadfbcffceggbbcefgeeg
adcaddaadfccfbbeggffcebgeeg
adcaddaadfccfbbgbeffcggegee
adcaddaadfccfebgeeffcggbgeb
adcaddaadfccfeegbeffcggegbb
adcaddaadfccfgbebbffceggeeg
adcaddaadfccfgbeggffcegbeeb
adcaddaadffcbgcggebfcbfegee
adcaddaadffcfgcggebbcfbegee
adcaddaadfgcfgcebbffceggeeb
adcaddaadgbcbbcffeggcfgefee
adcaddaadgbcggcffegbcfbefee
adcaddaadgfcggcebbgfceffeeb
adcafcaaceddffcfggeedebgbbg
adcafcaaceddgfcgffeedebbggb
adcagcaacddfbgcggedffbfebee
adcagcaacfddfgcggeffdbbebee
adcagcaacgddggcffebbdfbefee
adcaggaagddcbecbfgdeceefbff
adcaggaagedcbdcbfgeecedfbff
addabbaabddefggffgceeccecfg
addabbaabddgcegeefcggcffcef
addabbaabddgcfgffecggcfecee
addaffaafddecfbggbceecgecgb
addaffaafddgbfgbbecggccecee
addagbaabddfcgbggecffcfecee
addaggaacddebgcfgcbeebfeffc
addaggaagddfcebeegcffcfbceb
adfaddaadeffbfgbggeececcbgc
adfaddaadeffgfbgbbeececcggc
adfaffaabddfgecgbbdeceecggc
adfaffaabddfggcebbdgcegceec
adfaffaabedfgdcgbbeecedcggc
adfaffaacddfgebgccdebeebggc
adfaffaacddfggbeccdgbegbeec
adfaffaacedfgdbgcceebedbggc
adgaddaadbbgbggffecccfcefee
adgaddaadffgfggbbecccfcebee
adgadgaabfggfdbedbffcecceec
adgadgaacfggfdcedcffbebbeec
adgaggaabddefgbfcbdeeffeccc
adgaggaacddebgcbfcdeeffebfc
adgaggaacddefgcfbcdeeffebbc
adgaggaacddefgcffcdeebbebfc
adgaggaaceddbgfbcceedeffbfc
adgaggaacfddfgbeccffdebbeec
aebabbaadfeefecgddffcggcgdc
aebaeeaadfbbfecgddffcggcgdc
aecaccaaceegdegdbfdggdffbbf
aecaccaacfeefedgbdffdggdgbb
aecaeeaadfccfebgddffcggbgdb
aecaeeaadfccfedgbdffcggdgbb
aedaeeaabfddgecgbbfdcffcggc
aedaeeaacfbdgedgccfbbffdggc
aedaeeaacfddgebgccfdbffbggc
aeeabeaadfbefbcgddffcggcgdc
aeeadeaabfdegdcgbbfdcffcggc
aeeadeaacfbegddgccfbbffdggc
aeeadeaacfdegdbgccfdbffbggc
aeeadeaacfgebdcbdcfggffgbdc
aeeafeaabddeffgfbbcddccgcgg
aeeafeaacffegfcbbcggdgddbdc
aeeafeaadggeffdfcdgbbgbdccc
aeeageaacgbeggcffcbbdfddfdc
aeeageaacgfeggcbbcffdfddbdc
aeeageaadgceggdffdcccfbdfbb
aefaffaaceefgecbbcggdgddbdc
afbabbaacffefgcggcdeeddegdc
afbabbaagffdfgdeggcccecdeed
afcaccaacffefgbggbdeeddegdb
afcaccaacffefggbbgdeeddebdg
afcafcaacbffbgcggebddddegee
afcafcaacgffggcbbegddddebee
afcaffaabgccggfebbgdceddeed
afcaffaadeccbgfbddeeceggbdg
afcaffaagbccbgfeggbdceddeed
afdaffaabgddggfebbgdcecceec
afdaffaacgddggfeccgdbebbeec
afdaffaagbddbgfeggbdcecceec
affabbaabdcfddfgdecccggegee
affadfaacbfebdcgdcbeeggegdc
affadfaacefgbdcbdceegeggbdc
affafdaadbbdbfdeggcccecgeeg
affafdaadgcdgfdbbecccggebee
affagfaabgfdggdebbcccecdeed
affagfaabgfeggbddbceeccecdd
affagfaacgfbggbeccddbeddeec
affagfaacgfeggcbbcdeeddebdc
affaggaagdbfddfedgbbcecceec
affaggaagdbfdefeegbbcdccdec
affaggaagdcfddfedgcccebbeeb
affaggaagdcfdefeegcccdbbdeb
affaggaagddfcefeegcddcbbceb
affaggaagedfddfdbgeececcbbc
affaggaagedfddfdcgeebebbccc
affaggaageefcefddgcebcbbcdd
affaggaageefdefdbgdecdccbbc
affaggaageefdefdcgdebdbbccc
afgafgaaceggffcbbceededdbdc
afgaggaabffdfgdebbcccecdeed
afgaggaabffefgbddbceeccecdd
afgaggaacffbfgbeccddbeddeec
afgaggaacffefgcbbcdeeddebdc
agbabbaaceggffgfcceededdfdc
agbabbaadeggffgfddeececcfdc
agbagbaacggeffbfccdeeddefdc
agbaggaacegbffbfcceededdfdc
agbaggaadegbffbfddeececcfdc
agcaccaaceggbfgbffeededdbdf
agcaccaaceggffgfbbeededdfdb
agcagcaacggebfcbffdeeddebdf
agcagcaacggedfcdffdeedbebbf
agcagcaacggeffcfbbdeeddefdb
agcagfaafbccbggeffbdceddeed
agcaggaadegcffcfddeecebbfdb
agdagfaafbddbggeffbdcecceec
agfaffaacegfggcbbceededdbdc
agfagfaabggedffdbbdeedceccc
agfagfaacggebffbccdeeddebdc
agfagfaacggedffdccdeedbebbc
aggadgaacbbeddgfccbeedfeffc
aggafgaabffedfgdbbdeedceccc
aggafgaacebbffgfcceebeddddc
aggafgaacffebfgbccdeeddebdc
aggafgaacffedfgdccdeedbebbc
aggagbaabdcgddbedfccceffeef
aggagbaabdcgdebeefcccdffdef
aggagbaabdcgdfbffecccdfedee
aggagbaabddgcebeefcddcffcef
aggagbaabddgcfbffecddcfecee
aggagfaafedgbdcbffeecedcbdc
aggagfaafedgddbdffeebecbccc
aggagfaafedgddcdffeecebcbbc
aggagfaafeegbecbffdecddcbdc
aggagfaafeegdebdffdebdcbccc
aggagfaafeegdecdffdecdbcbbc
badbadcaaggebfdccdgeegfecff
badbadfaaggebfdffdgeegceccc
badgadgaabbecfdggdceecfecff
badgadgaabbeffdggdfeefceccc
bagbagcaaeggbfdccdeedefdcff
bagbagfaaeggbfdffdeedecdccc
bbcdccdecdbgdegeefaggaffaaf
bbcecceecdbgddgedfaggaffaaf
bbcegfeefgbcggceffadcaddaad
bbcegfggfebceecgffadcaddaad
bbcgbefeeggcgfcffeadcaddaad
bbdgbegeefddffcggeadcafcaac
bbdgddgdcfbeffcggcaeeafeaac
bdcecceecbddbffeggafdafgaag
bdcecceecbddbfgeffagdaggaaf
bdceddeedbccbffeggafcafgaag
bdceddeedbccbfgeffagcaggaaf
bddddefeebggbfcffeagcagcaac
becbgfggfeecbecgffadcaddaad
beebbecccggeffdfcdgadgadfaa
beebbecffggecfdcfdgadgadcaa
beebgeggcddebfcgfcaddaffaac
beedgeggcbbeddfgccaffadfaac
beeffefdcbgebdcfdcaggadgaac
bfceffeegbccbgfeggadcaddaad
bfcgfegeebbcffcggeadcaddaad
bfdeffeegbddbgfeggadcaccaac
bffgdegeebdfbdfggeadcaccaac
bgcbgefeeggcbfcffeadcaddaad
bgcegfeefbccbggeffadcaddaad
bgcggefeebbcgfcffeadcaddaad
bgdegfeefbddbggeffadcaccaac
cadcadcaaeffcgdggdeefebfgbb
cadcadcaaffecfdgbdfeeggegbb
cadcadcaaggecfdbbdgeegfebff
cadfadfaacceffdgbdceeggegbb
cadgadgaaccebfdggdceebfebff
cafgafgaacbbcffggecdbddedee
cagcagcaaeggcfdbbdeedefdbff
cccdbbdebdcgdegeefaggaffaaf
cccdgedeedcfdgbggeaffafbaab
cccdggdegdcfdebeegaffafbaab
cccebbeebdcgddgedfaggaffaaf
cccecdeedfbdffdeggabbafgaag
cccecdeedfgdffdebbaggafgaab
cccecdeedggdgfdebbagfaffaab
cccecdeedggdgfdeffagbabbaaf
cccecfeefbbdbgdeffaggagdaad
cccegfeefgcbggbeffadbaddaad
cccegfeefgcdggdeffabbabdaad
cccegfggfecbeebgffadbaddaad
cccegfggfecdeedgffabbabdaad
ccceggeegdcfddbedgaffafbaab
cccffebeefcdfgdbbeaggagdaad
cccffefeedcgddgfdeaggabbaab
cccgbdgbbfceffdggdaeeafeaad
cccgcebeeggfgffbbeadfaddaad
cccgcefeeggbgfbffeadbaddaad
cccgcefeeggdgfdffeabbabdaad
cccgcegeebbfbffggeadfaddaad
cccgcegeefbdffdggeabbafdaad
cdbddedeecbbcggffecagfagfaa
cddcbbcebddgcegeefaggaffaaf
cddccfcffddeggfgbbaeeageaab
cddcgeceeddfcgbggeaffafbaab
cddcggcegddfcebeegaffafbaab
cebcbbcddeegcegddfaggaffaaf
ceebgebggccebgdffdcadfadfaa
ceeccecbbggeffdfbdgadgadfaa
ceeccecddfgeffbddbaggafgaab
ceeccecddggegfbddbagfaffaab
ceeccecffggebfdbfdgadgadbaa
ceeccecgfddegffggfaddabbaab
ceecfecfbddecgbffbaddaggaag
ceecgecggbbecgdffdbadfadfaa
ceeffefbbcceggdfbdcadgadgaa
cffcceceeddfbgfbbeaddaggaag
cffcgeceeddfcgfggeaddabbaab
cffcggcegddfcefeegaddabbaab
cggcgbcebddgcebeefaddaffaaf
cggcgeceeddgcfbffeaddafbaab
ddbeddeecfgbffbeccaggafgaac
ddbeddeecggbgfbeccagfaffaac
debdbbccceegdegdcfaggaffaaf
debdcbccceefdebdggaffafgaag
debeebffcddgfebfccadgaggaac
decdbcbbceefdecdggaffafgaag
decdccbbceegdegdbfaggaffaaf
decddcbdceefbecbggaffafgaag
deceecffcddgfecfbbadgaggaab
deceegbggddcbecbgfadcaffaaf
deebbebgcddegfcggcadfaffaac
deebbebgfddegffggfadcaccaac
deebbefggddebfgffgadcaccaac
deedbebbcffedggdccafgafgaac
deedbebbcggedgfdccaffagfaac
deedbebbgffedgcdggafcafcaac
deedcecccffedggdbbafgafgaab
deedcecccggedgfdbbaffagfaab
deeddebdcffebggbccafgafgaac
deeddebdcfgeffcbbcaggafgaac
deeddebdcggebgfbccaffagfaac
deeddebdcggegfcbbcagfaffaac
deeddebdfggegffbbfagcaccaac
deeddebdgffebgcbggafcafcaac
deeddefdbggegfbffbagcaccaac
deeddefdcggegfcffcagbabbaac
deeddegdbffeggcgbbafcafcaac
deeddegdcffeggbgccafbafbaac
deefcecccddefggffgadbabbaag
deeffebggddebfgbfgadcaccaac
deeffefggddebbgfbgadcaccaac
deegfegffddebbcggfadcabcaac
deeggebbcddegfcgbcadfaffaac
deeggebbfddegffgbfadcaccaac
deeggebgcddebfcbgcadfaffaac
deeggebgfddebffbgfadcaccaac
deeggecccddegfbgcbadfaffaab
dfbefbeecddgffbeccadgaggaac
dfbgfegeeddbffbggeadcaccaac
dfcefceecddgffcebbadgaggaab
dfcgfegeeddcffcggeadcabbaab
dffbgebeeddfbgfggeadcaccaac
dffbggbegddfbefeegadcaccaac
dffdggbbgeefdefdbgaecaccaac
dffeggbbgddfeefebgadcaccaac
dffeggeegddfbbfebgadcaccaac
dffgbegeeddfbbfggeadcaccaac
dffggegeeddfbgfbbeadcaccaac
dgbggefeeddbgfbffeadcaccaac
dgcggefeeddcgfcffeadcabbaab
dggbgebeeddgbfcffeadcafcaac
dggegfeefddgbbceffadcabcaac
eebebbcccedgddgdcfaggaffaaf
eebecbcccedfddbdggaffafgaag
eebedbffcedgfdbfccadgaggaac
eebeddddcebbggfgccaffagfaac
eebeggffgebbfdcfdgadcadcaac
eecebbffgeccfgbfggadcaddaad
eecebbgdbefcggcgddafcaffaad
eecebbgfbeccggfgffadcaddaad
eecebcbbcedfddcdggaffafgaag
eececcbbcedgddgdbfaggaffaaf
eececcbfceggbgfbffadgaddaad
eececcffcebdfgdfggabbagdaad
eececcffceggfgbfbbadgaddaad
eececcgdcebfggfgddabbaffaad
eececcgdcefbggbgddafbaffaad
eececcgdceffggfgddafbabbaad
eececcgfcebbggfgffadbaddaad
eecedcbdcedfbdcbggaffafgaag
eecedcffcedgfdcfbbadgaggaab
eecedgbggedcbdcbgfadcaffaaf
eeceffbdfeccbfgbddagcaggaad
eeceffgbbeccggfgbfadcaddaad
eeceffgfbeccggbgfbadcaddaad
eecegfggfebcbbcgffadcaddaad
eeceggffbeccfgbfgbadcaddaad
eeceggffgeccfbbfbgadcaddaad
eeceggffgeccfdbfdgadcadbaab
eedebbffbeddfgcfggadcagcaac
eedebbffgeddfgbfggadcaccaac
eedebbgfbeddggfgffadcaccaac
eedebfbbfeddggcgffadcagcaac
eedecdccceffbgdggdbafbafgaa
eededdbdceffggcbbcagfagfaac
eededdbdcefgffcbbcafgaggaac
eededdbdgeffbgfbggafcaccaac
eededdgdbeffggfgbbafcaccaac
eededdgdcebfggfgccabbaffaac
eededdgdcefbggbgccafbaffaac
eededdgdceffggfgccafbabbaac
eedeffgbbeddggfgbfadcaccaac
eedeffgfbeddggbgfbadcaccaac
eedeffgfceddggcgfcadbabbaac
eedegdbggeffcgdbbdcafcafcaa
eedegdcggeffbgdccdbafbafcaa
eedegfggfeddbbcgffadcabcaac
eedeggbgceddbfgbccadfaffaac
eedeggffbeddfgbfgbadcaccaac
eedeggffceddfgcfgcadbabbaac
eedeggffgeddfbbfbgadcaccaac
eedeggffgeddfbcfbgadcabcaac
eefeffbdcegfbdcbdcaggadgaac
eegebgcbbeggffdccdfadfadcaa
eegebgfbbeggcfdffdcadcadcaa
eegecgccceggffdbbdfadfadbaa
eegedgffceggfddfccabbabdaac
eegefgbffeggbdcbdfadcadcaac
fadfadbaaffebgdbcdgeeggeccc
fadfadbaaffebgdbgdceeccecgg
fadfadcaaffecgdcbdgeeggecbb
fadfadcaaffecgdcgdbeebbecgg
fadfadgaaffeggdgbdceeccecbb
fadfadgaaffeggdgcdbeebbeccc
fbbfbdcccffeggdgcdaeeageaad
fbcgbegeefbcffcggeadcaddaad
fdbebbeecfddffgeccagdaggaac
fdcecceecfddffgebbagdaggaab
fdceddeedfbcffceggabcabgaag
fdceddeedfccffgebbagcaggaab
fddddebeefggffcbbeagcagcaac
feefcecccffebgdggdbadbadgaa
feeffecbbggecfdcbdgadgadcaa
feeffecccggebfdbcdgadgadbaa
feefgebggffecgdbbdcadcadcaa
feefgecggffebgdccdbadbadcaa
ffcefceecfddddceggabbabgaag
ffcgfegeefbcbbcggeadcaddaad
ffdfddbdceegfecbbcaegaggaac
ffdfddbdcggefgcbbcaeeageaac
ffdgfegeefddbbcggeadcabcaac
fgceggeebfgcffcebbadcaddaad
fgdeggeecfgdffdeccabbabdaac
fggfgebeeffgbdcbdeadcadcaac
gadgadbaaeffggdbbdeefecfccc
gadgadcaaeffggdccdeefebfcbb
gbbggdffcgbdfedfccaedaeeaac
gbbggdffcgbefddfccaeeadeaac
gdbggbffcgddfebfccaedaeeaac
gdbggbffcgdefdbfccaeeadeaac
gdcggcffcgddfecfbbaedaeeaab
gdcggcffcgdefdcfbbaeeadeaab
geeffefbbggecgdfbdcadcadcaa
geegcecccbbeggdffdbadfadfaa
gffggfbdcgfebdcbdcaeeadeaac
ggbebbeecgffgdcedcadfadfaac
ggbedfeefgdbgdbeffadcaccaac
ggbffefeegbbgdcfdeadcadcaac
ggcebfeefgbcgbceffadcaddaad
ggcebfeefgccgbbeffadcaddaad
ggcecceecgbdgddedfabbaffaaf
ggcecceecgffgdbedbadfadfaab
ggcedfeefgdcgdceffadcabbaab
ggcefbeebgccgfbeffadcaddaad
ggcefceecgbbgfceffadbaddaad
ggceffeebgfcgfcebbadcaddaad
ggceffeefgccgfbebbadcaddaad
ggcegfeefbbcbgceffadcaddaad
ggcffbfdbgccgebfddaecaeeaad
ggcffbfebgccgebfeeadcaddaad
ggcffcfdcgbbgecfddaebaeeaad
ggcffcfdcgbegbcfddaeeabeaad
ggcffcfdcgeegecfddaebabbaad
ggcffcfecgbbgecfeeadbaddaad
ggcffdfbbgccgedfbdaecaeeaad
ggcffefbbgccgeefbeadcaddaad
ggcffefeegccgbbfbeadcaddaad
ggcffefeegccgdbfdeadcadbaab
ggdbbebeegddgfcffeadcafcaac
ggdebbeecgddgfbeccadfaffaac
ggdebfeefgddgbbeffadcaccaac
ggdefbeebgddgfbeffadcaccaac
ggdeffeecgfdgfdeccabbabdaac
ggdeffeefgddgfbebbadcaccaac
ggdffbfebgddgebfeeadcaccaac
ggdffdfbbgeegedfbdaecaccaac
ggdffefbbgddgeefbeadcaccaac
ggdffefeegddgbbfbeadcaccaac
ggdffefeegddgbcfbeadcabcaac
ggdgddbdcfgeffcbbcaeeafeaac
Anybody tell me if this is correct?!?
This is my sorted output for the two sample cases in the problem:
aababbadceffgdcgdceefedfggc
aababbadcffegfcddcfeeggedgc
aababbadcggeffcddcgeegfedfc
aababbaddeegcefddfcegcggcff
aababbaddggecgfddfceecgecff
aababbaddggfgffddecgfccecee
aababbaggfdeddgdcgfeeffeccc
aabadbadcfdegdbgccfeeffeggc
aabadbadcfdgfdbeccffgeggeec
aabadeaeefbbfdcgdeffcggcgdc
aabadfadfedbgdbgffeececcggc
aabaeeaedfbbfecgddffcggcgdc
aabafbaddffecfbddgceecgecgg
aabafbaffedgddbdcfeegeggccc
aabafbaffeegcebddfcegcggcdd
aabafbaffeegdebdcfdegdggccc
aabafbaffggecgbddfceecgecdd
aabafbaffggedgbdcfdeedgeccc
aabaffadfgcbgfbddecccggedee
aabaffagfddbgfbggecddccecee
aabaffagfebbgfdggdeedecdccc
aabafgafgdbbdggffecccdcedee
aabafgaggddbffbfgecddccecee
aabafgaggebbffdfgdeedecdccc
aabageaeegbbggfddecffccfcdd
aabagfaffdbbdgfggecccdcedee
aabaggadgebbffcddgeecefcdfc
aabaggadgfbbfdcedgffcedceec
aabaggadgfbbfecddgffceecdec
aabaggagcebbffgfcceededdfdc
aabaggagdebbffgfddeececcfdc
aacabbadbfgcfgceddffceggeed
aacabbadbgfcggceddgfceffeed
aacabbafbgccggfeffgdceddeed
aacabbagbffcgfcggefdcddedee
aacabcadceffbbcddgeefegfdgg
aacabcadcfbegbcgddfeeffeggd
aacabcadcfbgfbceddffgeggeed
aacabcadcgffbbceddggfegfeed
aacabcadcggebbcfddgeegfeffd
aacabcadcggfbbcddegffgfedee
aacabdabbeccffdfgdeeceggfgd
aacabdabbeccgfdgfdeeceffggd
aacabdabbfccfddeggffcedgeeg
aacaccadcbbebgfddfgeeggedff
aacaccadcbfgbfgddebggffedee
aacaccadcbgfbffddebgfggedee
aacaccadcebbgfbgddeefeffggd
aacaccadcebgbbfddfeegeggdff
aacaccadcebgeefddfbbgeggdff
aacaccadceegbefddfbegbggdff
aacaccadceffbggbddeefegfbgd
aacaccadceffgbbgddeefebfggd
aacaccadceffgdbgdbeefedfggb
aacaccadceffgfbgddeebefbggd
aacaccadceggbgfbddeegeffbfd
aacaccadcfbegbbgddfeeffeggd
aacaccadcfbegeegddfbbffeggd
aacaccadcfbgbbgddefggffedee
aacaccadcfbgfbbeddffgeggeed
aacaccadcfeegebgddfebffbggd
aacaccadcffegfbddbfeeggedgb
aacaccadcffgbfgddefggbbedee
aacaccadcfgbfgbeddffbeggeed
aacaccadcfggfgbeddffgebbeed
aacaccadcgbfgffddebbfggedee
aacaccadcgbfggfeddgbbeffeed
aacaccadcgfbggbeddgfbeffeed
aacaccadcgffggfeddgfbebbeed
aacaccadcggebbfddfgeegbedff
aacaccadcggebdfbdfgeegdebff
aacaccadcggebgfddfbeebgedff
aacaccadcggeffbddbgeegfedfb
aacaccadcggfgffddebgfbbedee
aacaccaecdbgdefeefbbgdggdff
aacaccaecfbdgedgeefbbffdggd
aacaccafcbggbgfeffbdgeddeed
aacaccafcgbbggfeffgdbeddeed
aacaccagcbbfgffggebdfddedee
aacaccagcffbgfbggefdbddedee
aacadcadcbdebdcffgbeefgefgg
aacadcadcbdfbdceggbffefgeeg
aacadcadcfdegdcgbbfeeffeggb
aacadcadcfdgfdcebbffgeggeeb
aacadeaeebdcbdcgfebdcggfgff
aacadeaeefccfdbgdeffcggbgdb
aacadeaeefccfddgbeffcggdgbb
aacadfadfedcgdcgffeecebbggb
aacadfaffgccddfbbeggcdgebee
aacadgaggbdcbdcegfbdceffeef
aacadgaggfdcbdcbgefdcffebee
aacaeeaedfccfebgddffcggbgdb
aacaeeaedfccfedgbdffcggdgbb
aacafbafbgccggbffegdcddedee
aacafcadcffebfcddgbeebgedgg
aacafcadcffegfcgddbeebbeggd
aacafcadcggeffcfddgeegbebbd
aacafcafcbggbgcffebdgddedee
aacafcafcdggdgcffebbgdbedee
aacafcafcgbbggcffegdbddedee
aacafeaeebbcffcfgebdcgddggd
aacafeaeeggcffcfbegdcgddbbd
aacaffabbgccggfebfgdceddeed
aacaffaddgfcbfcddeggcbgebee
aacaffadfbccbfgeddbgceggeed
aacaffadfbgcbfcddebgcggedee
aacaffadfeccgfbgddeecebbggd
aacaffadfgbcgfcddebbcggedee
aacaffadfggcgfcddebgcbbedee
aacaffafbgccggbefbgdceddeed
aacaffagfbbcgfcggebdcddedee
aacaffagfeccgfbggbeeceddddb
aacafgafgbccbggffebdcddedee
aacafgafgdccdggffebbcdbedee
aacafgaggbbcffcfgebdcddedee
aacafgaggeccffbfgbeeceddddb
aacagcadcfggfgceddffbebbeed
aacagcadcgffggceddbbfebfeed
aacagcagcbbeffcfggbeeddefdd
aacagcagcffebfcbggfeeddebdd
aacageaeebbcfgcggebdcfddffd
aacagfaffbccbgfggebdcddedee
aacagfaffdccdgfggebbcdbedee
aacagfaffgccggfebbddceddeeb
aacagfagfbbcggceffbdceddeed
aacaggadgeccffbddgeecefbdfb
aacaggadgfccfdbedgffcedbeeb
aacaggadgfccfebddgffceebdeb
aacaggaegbbcfeceegbdcfddffd
aacaggafgbbcffcefgbdceddeed
aacaggagdeccffgfddeecebbfdb
aadabbaebfddgecgeefdcffcggc
aadabbafbgddggfeffgdcecceec
aadabdabbeffggdgcdeefegfccc
aadabdabbffegfdggdfeegceccc
aadabdabbgffeedecdggfegfccc
aadabeaeefddgbcgbefdcffcggc
aadaddadbeffgfcgbbeecefcggc
aadaddadbeffggbgcbeefegfccc
aadaddadbfeegecgbbfecffcggc
aadaddadbffegfbggbfeegceccc
aadaddadbgffeebecbggfegfccc
aadaddadbgffggfebbgfcecceec
aadaddadcebbffcfgceebeggfgc
aadaddadcebbgfbgcceefeffggc
aadaddadcebbgfcgfceebeffggc
aadaddadceffbgcbbceefegfggc
aadaddadceffbggbcceefegfbgc
aadaddadceffgbbgcceefebfggc
aadaddadceffgbcgbceefebfggc
aadaddadceffgfbgcceebefbggc
aadaddadceffggcgbceefegfbbc
aadaddadceggbgfbcceegeffbfc
aadaddadcfbegbbgccfeeffeggc
aadaddadcfbegeegccfbbffeggc
aadaddadcfbgfbbeccffgeggeec
aadaddadcfeegebgccfebffbggc
aadaddadcffebfcggcfeebgebgc
aadaddadcffegfcbbcfeeggebgc
aadaddadcffegfcggcfeegbebbc
aadaddadcfgbfgbeccffbeggeec
aadaddadcfggfgbeccffgebbeec
aadaddadcgbfggfeccgbbeffeec
aadaddadcgfbggbeccgfbeffeec
aadaddadcgffbbcebcggfegfeec
aadaddadcgffbeceecggfbgfbec
aadaddadcgffeecebcggfegfbbc
aadaddadcgffggfeccgfbebbeec
aadaddadcggebbcfbcgeegfeffc
aadaddadcggeffcbbcgeegfebfc
aadaddadcggeffcfbcgeegbefbc
aadaddadfbbegffggfbeegceccc
aadaddadfggebffbbfgeegceccc
aadaddadgbffbgfeggbfcecceec
aadaddadgfbbfgbeggffcecceec
aadaeeaebfddgecgbbfdcffcggc
aadaeeaecfbdgedgccfbbffdggc
aadaeeaecfddgebgccfdbffbggc
aadafdabbggeffdfbdgeegceccc
aadafeaeeggdffdfcegbbgbdccc
aadaffabbgddggfebfgdcecceec
aadaffafbgddggbefbgdcecceec
aadaffafcgddggcefcgdbebbeec
aadagdabbfggfgdebdffcecceec
aadagdaggbbefgdfcdbeeffeccc
aadagdaggeffbgdbbdeefecfccc
aadageaeegcdggdffecccfbdfbb
aadaggagcbddbfgeccbdfeffeec
aafabbagbeffgfdggdeedecdccc
aafaffabbedfgddgbdeececcggc
aafaffadcbgfbdcedcbggedgeec
aafaffadcbgfbecddcbggeegdec
aafaffaddeefcebddgcebcgbcgg
aafaffaggdbfddgedgbbcecceec
aafaffaggdbfdegeegbbcdccdec
aafaffaggdcfddgedgcccebbeeb
aafaffaggdcfdegeegcccdbbdeb
aafaffaggddfcegeegcddcbbceb
aafaffaggedfddgdbgeececcbbc
aafaffaggedfddgdcgeebebbccc
aafaffaggeefcegddgcebcbbcdd
aafaffaggeefdegdbgdecdccbbc
aafaffaggeefdegdcgdebdbbccc
aafaggagceffbfgbcceededdbdc
aafaggagdeffbfgbddeececcbdc
aagabbadbffgfggddecccfcedee
aagabgabbeggddcfddeecefcffc
aagabgabceggffcfbceededdfdc
aagafgabbeggffdfbdeedecdccc
aagafgafceggbffbcceededdbdc
aagafgafdeggbffbddeececcbdc
aagafgaffbggbdcedfbdcedceec
aagafgaffbggbeceefbdcddcdec
aagafgaffdggddbedfcccecbeeb
aagafgaffdggddcedfbbcebceec
aagafgaffdggdebeefcccdcbdeb
aagafgaffdggdeceefbbcdbcdec
aagaggaddbbebgfddfceeccecff
aagaggaddffbcgbddecfbcfecee
baafadfadbbdffdeggcccecgeeg
baagadgadbcdbfdggecccffefee
baagadgadbfdbfdggecffccecee
bbcdbcdecdffdeceegaafagfagg
bbcdbedeedccdffggeaacagfagf
bbcdbedeedccdfgffeaacafgagg
bbcdccdecdbgdefeefaagaggaff
bbcebceecdffddcedgaafagfagg
bbcecceecdbgddfedfaagaggaff
bbcffedeefbcfgcddeaacaggadg
bbfdbedeedffdfcggeaacagcagc
bbfdffdggdbfdegeegaacaccaec
bbfeffdggebfeegddgaacaccadc
bbgebgeedfggffceddaacafcadc
bbgffedeefbgfggddeaacaccadc
bdcddcdecbffbeceegaafagfagg
bdcddedeebbcfgcffeaacaggafg
bdcddedeebbcggcgfeaacagfaff
bdcddedeebccbffggeaacagfagf
bdcddedeebccbfgffeaacafgagg
bdcedceecbffbdcedgaafagfagg
bdceddeedbbcffceggaacafgafg
bdceddeedbbcggcegfaacaffagf
bdceggeegbdcbdcefgaacadfaff
bdcfddffdbbcggcgfeaacageaee
bdcffgfggbdcbdcfgeaacadeaee
bdcgddggdbbcgeceefaacaffaef
bdcgddggdbbcgfcffeaacafeaee
bdfddedeebffbfcggeaacagcagc
bdfeddeedbffbfgeggaacaccagc
bdgddedeebbgfggffeaacaccafc
bdgeggeecbddbgfeccaadaffafc
beebbeffdggefgcfddaacagcadc
beebfedffggebgcddfaacagcadc
beebfedggffebfgddgaacaccadc
beeddegddbbeggcgffaacafcafc
beefcecccbbefggffgaadaddadg
beegfegffbdebdcggfaacadcadc
beeggecccbbegfdgcdaadafdaff
befbffdggeefbegddgaacaccadc
bfcbbedeeffcfgcddeaacaggadg
bfceffeedbccbgfeddaacaggadg
bfcffedeebfcbgcddeaacaggadg
bffbfeceeggdbfdccegaagadcad
bffedfeecbfgbdcedcaagaggadc
bffeefdecbfgbecddcaagaggadc
bffefdeedbbdcfdeggcaacagcag
bffgfegeebbdcfdggecaacadcad
bffggedeebgfbgfddeaacaccadc
bfgbbedeeffgfggddeaacaccadc
bfgffedeebfgbggddeaacaccadc
bgcecceecbggbfgeffaadaddadf
bggegfeefbdgbdceffaacadcadc
caabadbadccdbgdffecggfgefee
caabafbafccdbgdeffcggegdeed
caacadcadbbdcgdffebggfgefee
caacadcadfbdcgdggefbbffegee
caacadcadffdcfdeggfbbebgeeg
caacafcafbbdcgdeffbggegdeed
caafadfadccdffdeggcbbebgeeg
caagadgadcbdcfdggecbbffefee
caagadgadcfdcfdggecffbbebee
cbbcceceegbdggdffegaafadfad
cbbebfeefccdggdeffcaagadgad
cbbggegeecbdcgdffecaafadfad
cccbbebeegcdggdffegaafadfad
cccdbbdebdcgdefeefaagaggaff
cccdcbdebdffdebeegaafagfagg
cccdcedeedbbdffggeaabagfagf
cccdcedeedbbdfgffeaabafgagg
cccebbeebdcgddfedfaagaggaff
cccecbeebdffddbedgaafagfagg
cccecdeedffdbfdeggfaabagbag
cccecfeefbbdggdeffbaagadgad
cccfcefeeggdffdbbegaagadbad
cccffedeefcbfgbddeaabaggadg
cccgbdgbbfcdffdggeaadafeaee
cccgcedeeggfgffddeaafabbadb
cccgcegeeffdbfdggefaabadbad
cccggegeebcdbgdffebaafadfad
cddcbbcebddgcefeefaagaggaff
cddcceceeddbfgbffeaabaggafg
cddcceceeddbggbgfeaabagfaff
cebcbbcddeegcefddfaagaggaff
cebcfbcffeegcebddfaagaggadd
ceeccecggbbebfgddgaafaffadd
ceecfecddffecfbddgaabagbagg
ceecfecffggecgbddfaabagbadd
ceecfecggffecfgddgaababbadd
cefcffcddeefcebddgaabagbagg
cefcffcggeefcegddgaababbadd
cffcfeceeggdcfdbbegaagadbad
cffefdeedccdbfdeggcaabagbag
cffgfegeeccdbfdggecaabadbad
cfgcceceeffgfggddeaababbadd
cgbcgeceeggbcfbddeaafaffadd
cggbbebeecgdcgdffecaafadfad
cggcceceebgdbgdffebaafadfad
cggccgcddfbbffgddeaabafeaee
ddceddeebfccffgebbaacafgagg
debdbbccceegdefdcfaagaggaff
decdccbbceegdefdbfaagaggaff
deeddecdbggecffcbbgaagafcaf
deedfecccffedfbdcgaabagbagg
defdffccceefdebdcgaabagbagg
eebebbcccedgddfdcfaagaggaff
eebeffgfcebbggcgfcaadaddadc
eebegbffceggfgbfccaadaddadc
eebegbffdeggfgbfddaacaccadc
eebeggffcebbfgcfgcaadaddadc
eecebbffbedcfdcfggaacadgadg
eecebbffdeccfgbfddaacaggadg
eecebbgdbeccggfgddaacaffafd
eececcbbcedgddfdbfaagaggaff
eececcbdceffbggbddaafagfagd
eececcbdceggbgfbddaagaffafd
eececcffcedbfdbfggaabadgadg
eececcffcedgfddfbdaagaggabb
eececcgdcebbggfgddaabaffafd
eeceddddbeccfgbffbaacaggafg
eeceddddbeccggbgfbaacagfaff
eeceffgfdeccggdgfdaacabdabb
eecegbdgbeccggbddfaacaffadf
eecegcdgcebbggcddfaabaffadf
eecegcffceggfgcfbbaadaddadb
eecegcggceffddcgddaafabfabb
eeceggffdeccfgdfgdaacabdabb
eedecdcccebbfgdffdaabaggafg
eedecdcccebbggdgfdaabagfaff
eedecdccceffggdgbdaafagfabb
eedecdccceggfgdffdaagabbafb
eededdbdceffbggbccaafagfagc
eededdbdceggbgfbccaagaffafc
eededdgdcebbggfgccaabaffafc
eededdgdceffggcgbcaafabfabc
eefeffcccedfddbdcgaabagbagg
eefeffdggebfbbgddgaacaccadc
eefeggbgceffbfgbccaadaddadc
eefeggbgdeffbfgbddaacaccadc
eegebgffceggfbbfccaadaddadc
eegebgffceggfbcfbcaadaddadc
eegebgffdeggfbbfddaacaccadc
eegecgccceggbfdbbdaadafdaff
eegedgffbeggfdbfdbaacaccadc
eegedgffceggfdcfdcaababbadc
eegefgbbceggffcfbcaadaddadc
eegefgbfceggbffbccaadaddadc
eegefgbfdeggbffbddaacaccadc
eegefgccceggffbfcbaadaddadb
eegefgccceggffdfcdaadabdabb
eegefgdffeggbbcddfaacabcadc
eegefgffceggbfcbbcaadaddadc
eegeggffcebbfgbfccaadaddadc
eegeggffdebbfgbfddaacaccadc
faafadbadffdcgdbbecggcgecee
faafadbadffdggdbbecccgcegee
faafadcadffdbgdccebggbgecee
faafagcagffecggcbbdeeddecdb
faagadgadfbdffdggecbbccecee
faagadgadfcdffdggecccbbebee
fbbeggeecfbgffgeccaadaddadc
fbbeggeedfbgffgeddaacaccadc
fbbfbdcccffdggdgceaadageaee
fdbddedeefbbffcggeaacagcagc
fdbebbeecfddffcegcaadaggagc
fdbeddeedfbbffgeggaacaccagc
fdcddedeefccffbggeaacagbagb
fdcecceecfddffbegbaadaggagb
fdcecceecfddffgebgaadaggabb
fdcecceecfddffgeggaadabbagb
fdceddeedfccffbegbaacaggagb
fdceddeedfccffgebgaacaggabb
fdceddeedfccffgeggaacabbagb
fdcfddbbdffcggcgbeaacageaee
feefbebbdffeggcgddaacagcadc
feefbedggffebbgddgaacaccadc
feefbegbcffeggcgbcaadaddadc
feefcecccffebggbbgaadaddadg
feefcecccffeggdgbdaadagdabb
feefdebggffebdgbdgaacaccadc
feeffedggbbebfgddgaacaccadc
feefgebgcffeggcbbcaadaddadc
feefgedgbffeggbddbaacaccadc
feefgedgcffeggcddcaababbadc
feefgeggcffebbcgbcaadaddadc
feefgeggdffebbcgddaacabcadc
ffcbfebeefgcbgcddeaacaggadd
ffcdfebeefccddgbbeaacadgagg
ffgbfgbecfggbeceecaadaddadc
ffgefgbbcfggeecebcaadaddadc
ffgefgcccfggeebecbaadaddadb
ffgefgcccfggeedecdaadabdabb
ffgefgeecfggbbcebcaadaddadc
ffgefgeedfggbbceddaacabcadc
fgbebbeecfggffgeccaadaddadc
fgbebbeedfggffgeddaacaccadc
fgbeggeecfgbffbeccaadaddadc
fgbeggeedfgbffbeddaacaccadc
fgcecceecfggffgebbaadaddadb
fgceggeedfgcffceddaacabbadb
fggfgedeeffgbbcddeaacabcadc
gaabadbadggdbgdffecccfcefee
gaabafbafggdbgdeffcccecdeed
gaagadcadfbdggdccefbbffecee
gbbebfeefggdcgdeffcaacadcad
gbbggdffcgbdfedfccaadaeeaec
gbbggdffdgbdfedfeeaacaccaec
gbbggeceegbdffdccefaafadcad
gbbggefeegbdcfdffecaacadcad
gbbggeffcgbefeefccaadaddadc
gbbggeffdgbefeefddaacaccadc
gdbddedeeggbfgbffeaacaccafc
gdbggbffcgddfebfccaadaeeaec
gdcddedeeggcfgcffeaacabbafb
gdcggcffcgddfbcfbeaadabeaee
gdcggcffcgddfecfbbaadaeeaeb
gdcggcffcgddfecfeeaadabbaeb
gdcggebeegdcbdcbfeaacadfaff
gebggbffcgeefebfccaadaddadc
gebggbffdgeefebfddaacaccadc
gecggcffcgeefecfbbaadaddadb
geebfebfcggebgcffcaadaddadc
geeddebddggebgcbffaacafcafc
geefbebbcggefgcffcaadaddadc
geefcecccggefgbffbaadaddadb
geefcecccggefgdffdaadabdabb
geeffebfcggefgcbbcaadaddadc
geeffedfbggefgbddbaacaccadc
geeffedfcggefgcddcaababbadc
geeggecccgdeddfdcfaababbaff
geeggeffbgdefdcfbbaacadcadc
geeggeffcgbefbbfccaadaddadc
geeggeffcgdefdbfccaabadbadc
geeggeffdgbefbbfddaacaccadc
geeggeffdgbefbcfddaacabcadc
gffbbedeeggfbgfddeaacaccadc
gffggedeegbfbbfddeaacaccadc
ggbebbeedgffgfceddaacafcadc
ggbeffeecgfbgfbeccaadaddadc
ggbeffeedgfbgfbeddaacaccadc
ggcecceecgbbgfbeffaadaddadf
ggcecceecgffgfdebdaadafdabb
ggcedbeebgccgdbedfaacaffadf
ggcedceecgbbgdcedfaabaffadf
ggcedfeefgccgddeffaacabdabb
ggceebdebgccgebddfaacaffadf
ggceecdecgbbgecddfaabaffadf
ggceffeedgfcgfceddaacabbadb
ggcffbfdbgccgdbfdeaacadeaee
ggcffbfdbgccgebfddaacaeeaed
ggcffcfdcgbbgdcfdeaabadeaee
ggcffcfdcgbbgecfddaabaeeaed
ggcffdfbbgccgddfbeaacadeaee
ggcffdfbbgccgedfbdaacaeeaed
ggfebbeecgffgfbeccaadaddadc
ggfebbeedgffgfbeddaacaccadc
ggfeffeebgdfgdcebbaacadcadc
ggfeffeecgbfgbbeccaadaddadc
ggfeffeecgdfgdbeccaabadbadc
ggfeffeedgbfgbbeddaacaccadc
ggfeffeedgbfgbceddaacabcadc
abbabdaaceffgddgcceefedfggc
abbabdaacfgdfgdeccffdeggeec
abbabdaacgfdggdeccgfdeffeec
abbabdaadecdeedfggcccefgffg
abbabdaadfcdffdeggcccefgeeg
abbabdaadffdfgdggecccfcegee
abbabfaafgddddceffggcegceec
abbafdaadebdgfdgffeececcggc
abbagdaadgbdggdffecccfcefee
abbagfaafgbdggdeffcccecdeed
abbaggaacebgffgfcceededdfdc
abbaggaadebgffgfddeececcfdc
abbaggaagfbdfddedgffcecceec
abcabfaafgbcggceffgdceddeed
adbabbaaceddffcfgceedeggfgc
adbabbaaceddgfcgfceedeffggc
adbabbaafddegffggfdeegceccc
adbaddaadebbffgfggeececcfgc
adbaddaadecbeebfggcccefgffg
adbaddaadfbbfecgeeffcggcgec
adbaddaadfbbfgceggffcegceec
adbaddaadfcbffbeggcccefgeeg
adbaddaadffbfgbggecccfcegee
adcabbaabddcfgcggedfcffegee
adcabbaabddcggcffedgcfgefee
adcabbaabfdcfdceggffcedgeeg
adcabcaacddebbcffgdeefgefgg
adcabcaacddfbbceggdffefgeeg
adcabcaaceddbbcfggeedefgffg
adcabcaaceddgbcgbfeedeffggf
adcabcaacfddfbcgbeffdggegee
adcabcaacgddbbcffeggdfgefee
adcaccaacbddbffeggbfdefgeeg
adcaccaacbddbfgeffbgdeggeef
adcaccaacbdgbdgffebggfdefee
adcaccaacddbfgbggedfbffegee
adcaccaacddbggbffedgbfgefee
adcaccaacddebbfgbfdeeggegff
adcaccaacddebgfbgfdeeggebff
adcaccaacddebgfggfdeebbegff
adcaccaacddebggbfgdeeffebfg
adcaccaacddefggfbgdeeffebbg
adcaccaacddefggffgdeebbebfg
adcaccaacddgbbgebfdggeffeef
adcaccaacddgbbgffedggfbefee
adcaccaacddgbegeefdggbffbef
adcaccaacddgbfgbbedggffefee
adcaccaacddgbfgffedggbfebee
adcaccaacddgeegebfdggeffbbf
adcaccaaceddffbfgbeedeggfgb
adcaccaaceddffgfbgeedeggfbb
adcaccaaceddffgfggeedebbfgb
adcaccaaceddgbbgbfeedeffggf
adcaccaaceddgfbgfbeedeffggb
adcaccaaceddgfbgffeedebbggf
adcaccaacfdbfdbeggffbedgeeg
adcaccaacfddfbbeggffdebgeeg
adcaccaacfddfbbgbeffdggegee
adcaccaacfddfebgeeffdggbgeb
adcaccaacfddfeegbeffdggegbb
adcaccaacfddfgbebbffdeggeeg
adcaccaacfddfgbeggffdegbeeb
adcadbaabeccgdbgdfeeceffggf
adcadbaabfccfdbgdeffcggegee
adcadcaacebbgdcgdfeebeffggf
adcadcaaceffbdcbdgeefegfbgg
adcadcaacfbbfdcgdeffbggegee
adcadcaacggfbdcbdegffgfebee
adcaddaadbbcbfceggffcefgeeg
adcaddaadbbcfgcggebfcffegee
adcaddaadbbcggcffebgcfgefee
adcaddaadbccbffeggbfcefgeeg
adcaddaadbccbfgeffbgceggeef
adcaddaadebcbbcfggeecefgffg
adcaddaadebceecfggbbcefgffg
adcaddaadeccffbfgbeeceggfgb
adcaddaadeccffgfbgeeceggfbb
adcaddaadeccffgfggeecebbfgb
adcaddaadeccgbbgbfeeceffggf
adcaddaadeccgfbgfbeeceffggb
adcaddaadeccgfbgffeecebbggf
adcaddaadeecbecfggbecbfgffg
adcaddaadfbcfbceggffcebgeeg
adcaddaadfbcffceggbbcefgeeg
adcaddaadfccfbbeggffcebgeeg
adcaddaadfccfbbgbeffcggegee
adcaddaadfccfebgeeffcggbgeb
adcaddaadfccfeegbeffcggegbb
adcaddaadfccfgbebbffceggeeg
adcaddaadfccfgbeggffcegbeeb
adcaddaadffcbgcggebfcbfegee
adcaddaadffcfgcggebbcfbegee
adcaddaadfgcfgcebbffceggeeb
adcaddaadgbcbbcffeggcfgefee
adcaddaadgbcggcffegbcfbefee
adcaddaadgfcggcebbgfceffeeb
adcafcaaceddffcfggeedebgbbg
adcafcaaceddgfcgffeedebbggb
adcagcaacddfbgcggedffbfebee
adcagcaacfddfgcggeffdbbebee
adcagcaacgddggcffebbdfbefee
adcaggaagddcbecbfgdeceefbff
adcaggaagedcbdcbfgeecedfbff
addabbaabddefggffgceeccecfg
addabbaabddgcegeefcggcffcef
addabbaabddgcfgffecggcfecee
addaffaafddecfbggbceecgecgb
addaffaafddgbfgbbecggccecee
addagbaabddfcgbggecffcfecee
addaggaacddebgcfgcbeebfeffc
addaggaagddfcebeegcffcfbceb
adfaddaadeffbfgbggeececcbgc
adfaddaadeffgfbgbbeececcggc
adfaffaabddfgecgbbdeceecggc
adfaffaabddfggcebbdgcegceec
adfaffaabedfgdcgbbeecedcggc
adfaffaacddfgebgccdebeebggc
adfaffaacddfggbeccdgbegbeec
adfaffaacedfgdbgcceebedbggc
adgaddaadbbgbggffecccfcefee
adgaddaadffgfggbbecccfcebee
adgadgaabfggfdbedbffcecceec
adgadgaacfggfdcedcffbebbeec
adgaggaabddefgbfcbdeeffeccc
adgaggaacddebgcbfcdeeffebfc
adgaggaacddefgcfbcdeeffebbc
adgaggaacddefgcffcdeebbebfc
adgaggaaceddbgfbcceedeffbfc
adgaggaacfddfgbeccffdebbeec
aebabbaadfeefecgddffcggcgdc
aebaeeaadfbbfecgddffcggcgdc
aecaccaaceegdegdbfdggdffbbf
aecaccaacfeefedgbdffdggdgbb
aecaeeaadfccfebgddffcggbgdb
aecaeeaadfccfedgbdffcggdgbb
aedaeeaabfddgecgbbfdcffcggc
aedaeeaacfbdgedgccfbbffdggc
aedaeeaacfddgebgccfdbffbggc
aeeabeaadfbefbcgddffcggcgdc
aeeadeaabfdegdcgbbfdcffcggc
aeeadeaacfbegddgccfbbffdggc
aeeadeaacfdegdbgccfdbffbggc
aeeadeaacfgebdcbdcfggffgbdc
aeeafeaabddeffgfbbcddccgcgg
aeeafeaacffegfcbbcggdgddbdc
aeeafeaadggeffdfcdgbbgbdccc
aeeageaacgbeggcffcbbdfddfdc
aeeageaacgfeggcbbcffdfddbdc
aeeageaadgceggdffdcccfbdfbb
aefaffaaceefgecbbcggdgddbdc
afbabbaacffefgcggcdeeddegdc
afbabbaagffdfgdeggcccecdeed
afcaccaacffefgbggbdeeddegdb
afcaccaacffefggbbgdeeddebdg
afcafcaacbffbgcggebddddegee
afcafcaacgffggcbbegddddebee
afcaffaabgccggfebbgdceddeed
afcaffaadeccbgfbddeeceggbdg
afcaffaagbccbgfeggbdceddeed
afdaffaabgddggfebbgdcecceec
afdaffaacgddggfeccgdbebbeec
afdaffaagbddbgfeggbdcecceec
affabbaabdcfddfgdecccggegee
affadfaacbfebdcgdcbeeggegdc
affadfaacefgbdcbdceegeggbdc
affafdaadbbdbfdeggcccecgeeg
affafdaadgcdgfdbbecccggebee
affagfaabgfdggdebbcccecdeed
affagfaabgfeggbddbceeccecdd
affagfaacgfbggbeccddbeddeec
affagfaacgfeggcbbcdeeddebdc
affaggaagdbfddfedgbbcecceec
affaggaagdbfdefeegbbcdccdec
affaggaagdcfddfedgcccebbeeb
affaggaagdcfdefeegcccdbbdeb
affaggaagddfcefeegcddcbbceb
affaggaagedfddfdbgeececcbbc
affaggaagedfddfdcgeebebbccc
affaggaageefcefddgcebcbbcdd
affaggaageefdefdbgdecdccbbc
affaggaageefdefdcgdebdbbccc
afgafgaaceggffcbbceededdbdc
afgaggaabffdfgdebbcccecdeed
afgaggaabffefgbddbceeccecdd
afgaggaacffbfgbeccddbeddeec
afgaggaacffefgcbbcdeeddebdc
agbabbaaceggffgfcceededdfdc
agbabbaadeggffgfddeececcfdc
agbagbaacggeffbfccdeeddefdc
agbaggaacegbffbfcceededdfdc
agbaggaadegbffbfddeececcfdc
agcaccaaceggbfgbffeededdbdf
agcaccaaceggffgfbbeededdfdb
agcagcaacggebfcbffdeeddebdf
agcagcaacggedfcdffdeedbebbf
agcagcaacggeffcfbbdeeddefdb
agcagfaafbccbggeffbdceddeed
agcaggaadegcffcfddeecebbfdb
agdagfaafbddbggeffbdcecceec
agfaffaacegfggcbbceededdbdc
agfagfaabggedffdbbdeedceccc
agfagfaacggebffbccdeeddebdc
agfagfaacggedffdccdeedbebbc
aggadgaacbbeddgfccbeedfeffc
aggafgaabffedfgdbbdeedceccc
aggafgaacebbffgfcceebeddddc
aggafgaacffebfgbccdeeddebdc
aggafgaacffedfgdccdeedbebbc
aggagbaabdcgddbedfccceffeef
aggagbaabdcgdebeefcccdffdef
aggagbaabdcgdfbffecccdfedee
aggagbaabddgcebeefcddcffcef
aggagbaabddgcfbffecddcfecee
aggagfaafedgbdcbffeecedcbdc
aggagfaafedgddbdffeebecbccc
aggagfaafedgddcdffeecebcbbc
aggagfaafeegbecbffdecddcbdc
aggagfaafeegdebdffdebdcbccc
aggagfaafeegdecdffdecdbcbbc
badbadcaaggebfdccdgeegfecff
badbadfaaggebfdffdgeegceccc
badgadgaabbecfdggdceecfecff
badgadgaabbeffdggdfeefceccc
bagbagcaaeggbfdccdeedefdcff
bagbagfaaeggbfdffdeedecdccc
bbcdccdecdbgdegeefaggaffaaf
bbcecceecdbgddgedfaggaffaaf
bbcegfeefgbcggceffadcaddaad
bbcegfggfebceecgffadcaddaad
bbcgbefeeggcgfcffeadcaddaad
bbdgbegeefddffcggeadcafcaac
bbdgddgdcfbeffcggcaeeafeaac
bdcecceecbddbffeggafdafgaag
bdcecceecbddbfgeffagdaggaaf
bdceddeedbccbffeggafcafgaag
bdceddeedbccbfgeffagcaggaaf
bddddefeebggbfcffeagcagcaac
becbgfggfeecbecgffadcaddaad
beebbecccggeffdfcdgadgadfaa
beebbecffggecfdcfdgadgadcaa
beebgeggcddebfcgfcaddaffaac
beedgeggcbbeddfgccaffadfaac
beeffefdcbgebdcfdcaggadgaac
bfceffeegbccbgfeggadcaddaad
bfcgfegeebbcffcggeadcaddaad
bfdeffeegbddbgfeggadcaccaac
bffgdegeebdfbdfggeadcaccaac
bgcbgefeeggcbfcffeadcaddaad
bgcegfeefbccbggeffadcaddaad
bgcggefeebbcgfcffeadcaddaad
bgdegfeefbddbggeffadcaccaac
cadcadcaaeffcgdggdeefebfgbb
cadcadcaaffecfdgbdfeeggegbb
cadcadcaaggecfdbbdgeegfebff
cadfadfaacceffdgbdceeggegbb
cadgadgaaccebfdggdceebfebff
cafgafgaacbbcffggecdbddedee
cagcagcaaeggcfdbbdeedefdbff
cccdbbdebdcgdegeefaggaffaaf
cccdgedeedcfdgbggeaffafbaab
cccdggdegdcfdebeegaffafbaab
cccebbeebdcgddgedfaggaffaaf
cccecdeedfbdffdeggabbafgaag
cccecdeedfgdffdebbaggafgaab
cccecdeedggdgfdebbagfaffaab
cccecdeedggdgfdeffagbabbaaf
cccecfeefbbdbgdeffaggagdaad
cccegfeefgcbggbeffadbaddaad
cccegfeefgcdggdeffabbabdaad
cccegfggfecbeebgffadbaddaad
cccegfggfecdeedgffabbabdaad
ccceggeegdcfddbedgaffafbaab
cccffebeefcdfgdbbeaggagdaad
cccffefeedcgddgfdeaggabbaab
cccgbdgbbfceffdggdaeeafeaad
cccgcebeeggfgffbbeadfaddaad
cccgcefeeggbgfbffeadbaddaad
cccgcefeeggdgfdffeabbabdaad
cccgcegeebbfbffggeadfaddaad
cccgcegeefbdffdggeabbafdaad
cdbddedeecbbcggffecagfagfaa
cddcbbcebddgcegeefaggaffaaf
cddccfcffddeggfgbbaeeageaab
cddcgeceeddfcgbggeaffafbaab
cddcggcegddfcebeegaffafbaab
cebcbbcddeegcegddfaggaffaaf
ceebgebggccebgdffdcadfadfaa
ceeccecbbggeffdfbdgadgadfaa
ceeccecddfgeffbddbaggafgaab
ceeccecddggegfbddbagfaffaab
ceeccecffggebfdbfdgadgadbaa
ceeccecgfddegffggfaddabbaab
ceecfecfbddecgbffbaddaggaag
ceecgecggbbecgdffdbadfadfaa
ceeffefbbcceggdfbdcadgadgaa
cffcceceeddfbgfbbeaddaggaag
cffcgeceeddfcgfggeaddabbaab
cffcggcegddfcefeegaddabbaab
cggcgbcebddgcebeefaddaffaaf
cggcgeceeddgcfbffeaddafbaab
ddbeddeecfgbffbeccaggafgaac
ddbeddeecggbgfbeccagfaffaac
debdbbccceegdegdcfaggaffaaf
debdcbccceefdebdggaffafgaag
debeebffcddgfebfccadgaggaac
decdbcbbceefdecdggaffafgaag
decdccbbceegdegdbfaggaffaaf
decddcbdceefbecbggaffafgaag
deceecffcddgfecfbbadgaggaab
deceegbggddcbecbgfadcaffaaf
deebbebgcddegfcggcadfaffaac
deebbebgfddegffggfadcaccaac
deebbefggddebfgffgadcaccaac
deedbebbcffedggdccafgafgaac
deedbebbcggedgfdccaffagfaac
deedbebbgffedgcdggafcafcaac
deedcecccffedggdbbafgafgaab
deedcecccggedgfdbbaffagfaab
deeddebdcffebggbccafgafgaac
deeddebdcfgeffcbbcaggafgaac
deeddebdcggebgfbccaffagfaac
deeddebdcggegfcbbcagfaffaac
deeddebdfggegffbbfagcaccaac
deeddebdgffebgcbggafcafcaac
deeddefdbggegfbffbagcaccaac
deeddefdcggegfcffcagbabbaac
deeddegdbffeggcgbbafcafcaac
deeddegdcffeggbgccafbafbaac
deefcecccddefggffgadbabbaag
deeffebggddebfgbfgadcaccaac
deeffefggddebbgfbgadcaccaac
deegfegffddebbcggfadcabcaac
deeggebbcddegfcgbcadfaffaac
deeggebbfddegffgbfadcaccaac
deeggebgcddebfcbgcadfaffaac
deeggebgfddebffbgfadcaccaac
deeggecccddegfbgcbadfaffaab
dfbefbeecddgffbeccadgaggaac
dfbgfegeeddbffbggeadcaccaac
dfcefceecddgffcebbadgaggaab
dfcgfegeeddcffcggeadcabbaab
dffbgebeeddfbgfggeadcaccaac
dffbggbegddfbefeegadcaccaac
dffdggbbgeefdefdbgaecaccaac
dffeggbbgddfeefebgadcaccaac
dffeggeegddfbbfebgadcaccaac
dffgbegeeddfbbfggeadcaccaac
dffggegeeddfbgfbbeadcaccaac
dgbggefeeddbgfbffeadcaccaac
dgcggefeeddcgfcffeadcabbaab
dggbgebeeddgbfcffeadcafcaac
dggegfeefddgbbceffadcabcaac
eebebbcccedgddgdcfaggaffaaf
eebecbcccedfddbdggaffafgaag
eebedbffcedgfdbfccadgaggaac
eebeddddcebbggfgccaffagfaac
eebeggffgebbfdcfdgadcadcaac
eecebbffgeccfgbfggadcaddaad
eecebbgdbefcggcgddafcaffaad
eecebbgfbeccggfgffadcaddaad
eecebcbbcedfddcdggaffafgaag
eececcbbcedgddgdbfaggaffaaf
eececcbfceggbgfbffadgaddaad
eececcffcebdfgdfggabbagdaad
eececcffceggfgbfbbadgaddaad
eececcgdcebfggfgddabbaffaad
eececcgdcefbggbgddafbaffaad
eececcgdceffggfgddafbabbaad
eececcgfcebbggfgffadbaddaad
eecedcbdcedfbdcbggaffafgaag
eecedcffcedgfdcfbbadgaggaab
eecedgbggedcbdcbgfadcaffaaf
eeceffbdfeccbfgbddagcaggaad
eeceffgbbeccggfgbfadcaddaad
eeceffgfbeccggbgfbadcaddaad
eecegfggfebcbbcgffadcaddaad
eeceggffbeccfgbfgbadcaddaad
eeceggffgeccfbbfbgadcaddaad
eeceggffgeccfdbfdgadcadbaab
eedebbffbeddfgcfggadcagcaac
eedebbffgeddfgbfggadcaccaac
eedebbgfbeddggfgffadcaccaac
eedebfbbfeddggcgffadcagcaac
eedecdccceffbgdggdbafbafgaa
eededdbdceffggcbbcagfagfaac
eededdbdcefgffcbbcafgaggaac
eededdbdgeffbgfbggafcaccaac
eededdgdbeffggfgbbafcaccaac
eededdgdcebfggfgccabbaffaac
eededdgdcefbggbgccafbaffaac
eededdgdceffggfgccafbabbaac
eedeffgbbeddggfgbfadcaccaac
eedeffgfbeddggbgfbadcaccaac
eedeffgfceddggcgfcadbabbaac
eedegdbggeffcgdbbdcafcafcaa
eedegdcggeffbgdccdbafbafcaa
eedegfggfeddbbcgffadcabcaac
eedeggbgceddbfgbccadfaffaac
eedeggffbeddfgbfgbadcaccaac
eedeggffceddfgcfgcadbabbaac
eedeggffgeddfbbfbgadcaccaac
eedeggffgeddfbcfbgadcabcaac
eefeffbdcegfbdcbdcaggadgaac
eegebgcbbeggffdccdfadfadcaa
eegebgfbbeggcfdffdcadcadcaa
eegecgccceggffdbbdfadfadbaa
eegedgffceggfddfccabbabdaac
eegefgbffeggbdcbdfadcadcaac
fadfadbaaffebgdbcdgeeggeccc
fadfadbaaffebgdbgdceeccecgg
fadfadcaaffecgdcbdgeeggecbb
fadfadcaaffecgdcgdbeebbecgg
fadfadgaaffeggdgbdceeccecbb
fadfadgaaffeggdgcdbeebbeccc
fbbfbdcccffeggdgcdaeeageaad
fbcgbegeefbcffcggeadcaddaad
fdbebbeecfddffgeccagdaggaac
fdcecceecfddffgebbagdaggaab
fdceddeedfbcffceggabcabgaag
fdceddeedfccffgebbagcaggaab
fddddebeefggffcbbeagcagcaac
feefcecccffebgdggdbadbadgaa
feeffecbbggecfdcbdgadgadcaa
feeffecccggebfdbcdgadgadbaa
feefgebggffecgdbbdcadcadcaa
feefgecggffebgdccdbadbadcaa
ffcefceecfddddceggabbabgaag
ffcgfegeefbcbbcggeadcaddaad
ffdfddbdceegfecbbcaegaggaac
ffdfddbdcggefgcbbcaeeageaac
ffdgfegeefddbbcggeadcabcaac
fgceggeebfgcffcebbadcaddaad
fgdeggeecfgdffdeccabbabdaac
fggfgebeeffgbdcbdeadcadcaac
gadgadbaaeffggdbbdeefecfccc
gadgadcaaeffggdccdeefebfcbb
gbbggdffcgbdfedfccaedaeeaac
gbbggdffcgbefddfccaeeadeaac
gdbggbffcgddfebfccaedaeeaac
gdbggbffcgdefdbfccaeeadeaac
gdcggcffcgddfecfbbaedaeeaab
gdcggcffcgdefdcfbbaeeadeaab
geeffefbbggecgdfbdcadcadcaa
geegcecccbbeggdffdbadfadfaa
gffggfbdcgfebdcbdcaeeadeaac
ggbebbeecgffgdcedcadfadfaac
ggbedfeefgdbgdbeffadcaccaac
ggbffefeegbbgdcfdeadcadcaac
ggcebfeefgbcgbceffadcaddaad
ggcebfeefgccgbbeffadcaddaad
ggcecceecgbdgddedfabbaffaaf
ggcecceecgffgdbedbadfadfaab
ggcedfeefgdcgdceffadcabbaab
ggcefbeebgccgfbeffadcaddaad
ggcefceecgbbgfceffadbaddaad
ggceffeebgfcgfcebbadcaddaad
ggceffeefgccgfbebbadcaddaad
ggcegfeefbbcbgceffadcaddaad
ggcffbfdbgccgebfddaecaeeaad
ggcffbfebgccgebfeeadcaddaad
ggcffcfdcgbbgecfddaebaeeaad
ggcffcfdcgbegbcfddaeeabeaad
ggcffcfdcgeegecfddaebabbaad
ggcffcfecgbbgecfeeadbaddaad
ggcffdfbbgccgedfbdaecaeeaad
ggcffefbbgccgeefbeadcaddaad
ggcffefeegccgbbfbeadcaddaad
ggcffefeegccgdbfdeadcadbaab
ggdbbebeegddgfcffeadcafcaac
ggdebbeecgddgfbeccadfaffaac
ggdebfeefgddgbbeffadcaccaac
ggdefbeebgddgfbeffadcaccaac
ggdeffeecgfdgfdeccabbabdaac
ggdeffeefgddgfbebbadcaccaac
ggdffbfebgddgebfeeadcaccaac
ggdffdfbbgeegedfbdaecaccaac
ggdffefbbgddgeefbeadcaccaac
ggdffefeegddgbbfbeadcaccaac
ggdffefeegddgbcfbeadcabcaac
ggdgddbdcfgeffcbbcaeeafeaac
Anybody tell me if this is correct?!?
-
- Experienced poster
- Posts: 167
- Joined: Fri Oct 19, 2001 2:00 am
- Location: Saint Petersburg, Russia
Your output is OK. And I was wrong about sorting -- I'm just forget about correction program, so any good output must be accepted.
Sorting of 480 strings isn't a trick however. Standard C function 'qsort' is enough in most cases when you're need to sort something. Don't know is there any analogous function in Pascal.
Sorting of 480 strings isn't a trick however. Standard C function 'qsort' is enough in most cases when you're need to sort something. Don't know is there any analogous function in Pascal.
-
- Experienced poster
- Posts: 167
- Joined: Fri Oct 19, 2001 2:00 am
- Location: Saint Petersburg, Russia
Firstly, try to check your code one more time (I definitely don't like this board with tonns of source code -- difficult to read / hard to find something valuable).
Some corrector programs incorrectly (hmm, sounds weird) treated formatting errors as WA not PE. So check that your solution outputs blank lines after each test case.
Also, may be you compile your source when char by default is unsigned when OJ system uses signed char. If your solutions relies that char will be unsigned it'll fail.
If this isn't help, you can send your source code to me: ivan(at)golubev.com.
Some corrector programs incorrectly (hmm, sounds weird) treated formatting errors as WA not PE. So check that your solution outputs blank lines after each test case.
Also, may be you compile your source when char by default is unsigned when OJ system uses signed char. If your solutions relies that char will be unsigned it'll fail.
If this isn't help, you can send your source code to me: ivan(at)golubev.com.
It worked!!! Finally...
Oh, haha, it worked!!!!! Well, I still don't get the problem with the original program, but I made some completely new code today, using something I had seen online as a start, and it took like 110 seconds but the important thing is that it worked. Thanks, Ivan, for helping me! 

Giving up on gcj
I've tried to submit problem 197 (Cubes) 10 times just getting 'compile error'. I've tried to remove the HashSet, to remove the StringBuffer and modified the type casting from int to char. What could be wrong? It surely can't be the switch-statement, can it?
Here's the code:
[java]
import java.io.*;
import java.util.*;
class Main {
static HashSet done = new HashSet();
static int[][][] pieces = {{{0,0,0},{0,1,0},{1,1,0},{0,0,0}},
{{0,0,0},{1,0,0},{-1,0,0},{0,1,0}},
{{1,0,0},{1,1,0},{0,1,0},{0,2,0}},
{{0,0,0},{1,0,0},{0,1,0},{0,0,1}},
{{0,0,0},{0,0,1},{0,1,1},{-1,1,1}},
{{0,0,0},{0,0,1},{0,1,1},{1,1,1}}};
static int[][] dirrot = {{0,1,0}, {2,2,0}, {1,3,1}, {1,3,0}, {1,2,1}, {1,2,0}};
static int[] getCoordinates(int pos) {
int x = (pos - 1) % 3;
int y = (pos - 1) / 3 % 3;
int z = (pos - 1) / 9;
return new int[] {x, y, z};
}
static int getPos(int x, int y, int z) {
return x + y * 3 + z * 9;
}
static int[] rotate(int axis, int cw, int[] vec) {
int[] ret = new int[3];
int[] v = new int[3];
ret[0] = vec[0];
ret[1] = vec[1];
ret[2] = vec[2];
if (cw == 0) cw = 3;
for (int i = 0; i < cw; ++i) {
switch(axis) {
case 1:
v[0] = ret[0];
v[1] = -ret[2];
v[2] = ret[1];
break;
case 2:
v[0] = ret[2];
v[1] = ret[1];
v[2] = -ret[0];
break;
case 3:
v[0] = -ret[1];
v[1] = ret[0];
v[2] = ret[2];
break;
}
ret[0] = v[0];
ret[1] = v[1];
ret[2] = v[2];
}
return ret;
}
static void assemble(String s, int piece) {
//System.out.println(s);
if (done.contains(s)) return;
done.add(s);
if (piece == 6) {
System.out.println(s);
//System.out.println(s.substring(0,3)+ " " + s.substring(9,12) + " " + s.substring(18,21));
//System.out.println(s.substring(3,6)+ " " + s.substring(12,15) + " " + s.substring(21,24));
//System.out.println(s.substring(6,9)+ " " + s.substring(15,18) + " " + s.substring(24,27));
//System.out.println("");
return;
}
int i, j, k;
int pos, dir, rot, bit;
for (pos = 0; pos < 27; ++pos) {
for (dir = 0; dir < 6; ++dir) {
for (rot = 0; rot < 4; ++rot) {
StringBuffer ns = new StringBuffer(s);
for (bit = 0; bit < 4; ++bit) {
if (piece == 0 && bit == 3) {
bit = 4;
break;
}
int[] totvec = getCoordinates(pos);
int[] bitvec = pieces[piece][bit];
for (i = 0; i < dirrot[dir][0]; ++i)
bitvec = rotate(dirrot[dir][1], dirrot[dir][2], bitvec);
for (i = 0; i < rot; ++i)
bitvec = rotate(dir / 2 + 1, 1, bitvec);
int nx = totvec[0] + bitvec[0];
int ny = totvec[1] + bitvec[1];
int nz = totvec[2] + bitvec[2];
//System.out.println(piece + " " + pos + " " + dir + " " + rot + " " + bit + " " + nx + " " +ny + " " + nz);
if (nx < 0 || nx > 2 || ny < 0 || ny > 2 || nz < 0 || nz > 2) break;
int index = getPos(nx, ny, nz);
if (ns.charAt(index) != '.') break;
ns.setCharAt(index, (char) (piece + 98));
}
if (bit == 4)
assemble(ns.toString(), piece + 1);
}
}
}
}
static String read() {
int maxLg = 255;
byte lin[] = new byte[maxLg];
int lg = 0, car = -1;
String line = "";
try {
while (lg < maxLg) {
car = System.in.read();
if ((car < 0) || (car == '\n')) break;
if (car != 13)
lin [lg++] += car;
}
}
catch (IOException e) {
return (null);
}
if ((car < 0) && (lg == 0)) return (null);
return (new String (lin, 0, lg));
}
public static void main(String arg[]) throws Exception {
while (true) {
String input = read();
if (input == null) break;
assemble(input, 0);
}
}
}[/java]
Here's the code:
[java]
import java.io.*;
import java.util.*;
class Main {
static HashSet done = new HashSet();
static int[][][] pieces = {{{0,0,0},{0,1,0},{1,1,0},{0,0,0}},
{{0,0,0},{1,0,0},{-1,0,0},{0,1,0}},
{{1,0,0},{1,1,0},{0,1,0},{0,2,0}},
{{0,0,0},{1,0,0},{0,1,0},{0,0,1}},
{{0,0,0},{0,0,1},{0,1,1},{-1,1,1}},
{{0,0,0},{0,0,1},{0,1,1},{1,1,1}}};
static int[][] dirrot = {{0,1,0}, {2,2,0}, {1,3,1}, {1,3,0}, {1,2,1}, {1,2,0}};
static int[] getCoordinates(int pos) {
int x = (pos - 1) % 3;
int y = (pos - 1) / 3 % 3;
int z = (pos - 1) / 9;
return new int[] {x, y, z};
}
static int getPos(int x, int y, int z) {
return x + y * 3 + z * 9;
}
static int[] rotate(int axis, int cw, int[] vec) {
int[] ret = new int[3];
int[] v = new int[3];
ret[0] = vec[0];
ret[1] = vec[1];
ret[2] = vec[2];
if (cw == 0) cw = 3;
for (int i = 0; i < cw; ++i) {
switch(axis) {
case 1:
v[0] = ret[0];
v[1] = -ret[2];
v[2] = ret[1];
break;
case 2:
v[0] = ret[2];
v[1] = ret[1];
v[2] = -ret[0];
break;
case 3:
v[0] = -ret[1];
v[1] = ret[0];
v[2] = ret[2];
break;
}
ret[0] = v[0];
ret[1] = v[1];
ret[2] = v[2];
}
return ret;
}
static void assemble(String s, int piece) {
//System.out.println(s);
if (done.contains(s)) return;
done.add(s);
if (piece == 6) {
System.out.println(s);
//System.out.println(s.substring(0,3)+ " " + s.substring(9,12) + " " + s.substring(18,21));
//System.out.println(s.substring(3,6)+ " " + s.substring(12,15) + " " + s.substring(21,24));
//System.out.println(s.substring(6,9)+ " " + s.substring(15,18) + " " + s.substring(24,27));
//System.out.println("");
return;
}
int i, j, k;
int pos, dir, rot, bit;
for (pos = 0; pos < 27; ++pos) {
for (dir = 0; dir < 6; ++dir) {
for (rot = 0; rot < 4; ++rot) {
StringBuffer ns = new StringBuffer(s);
for (bit = 0; bit < 4; ++bit) {
if (piece == 0 && bit == 3) {
bit = 4;
break;
}
int[] totvec = getCoordinates(pos);
int[] bitvec = pieces[piece][bit];
for (i = 0; i < dirrot[dir][0]; ++i)
bitvec = rotate(dirrot[dir][1], dirrot[dir][2], bitvec);
for (i = 0; i < rot; ++i)
bitvec = rotate(dir / 2 + 1, 1, bitvec);
int nx = totvec[0] + bitvec[0];
int ny = totvec[1] + bitvec[1];
int nz = totvec[2] + bitvec[2];
//System.out.println(piece + " " + pos + " " + dir + " " + rot + " " + bit + " " + nx + " " +ny + " " + nz);
if (nx < 0 || nx > 2 || ny < 0 || ny > 2 || nz < 0 || nz > 2) break;
int index = getPos(nx, ny, nz);
if (ns.charAt(index) != '.') break;
ns.setCharAt(index, (char) (piece + 98));
}
if (bit == 4)
assemble(ns.toString(), piece + 1);
}
}
}
}
static String read() {
int maxLg = 255;
byte lin[] = new byte[maxLg];
int lg = 0, car = -1;
String line = "";
try {
while (lg < maxLg) {
car = System.in.read();
if ((car < 0) || (car == '\n')) break;
if (car != 13)
lin [lg++] += car;
}
}
catch (IOException e) {
return (null);
}
if ((car < 0) && (lg == 0)) return (null);
return (new String (lin, 0, lg));
}
public static void main(String arg[]) throws Exception {
while (true) {
String input = read();
if (input == null) break;
assemble(input, 0);
}
}
}[/java]
Some help
I also spent a few desperate days with that same problem. What I did, and haven't got an "Internal Compiler Error" since, was something like this:
import ....
class Main
{
static String ReadLn()
{
...
}
public static void main(String args[])
{
Main m = new Main();
m.start();
}
private void start()
{
//implement all functionality here
}
}
To my surprise, this works. But I haven't found out why yet.
BTW: This is very important. Get rid of the ReadLn() function. Basically, it sucks, big time. I've had problems that ran in more than 9.5 secs with that function and that now run in 2.3 secs. Nothing different other than that... Oh, and try to use the StringBuffer class if you have lots of output to produce. That can also take something like a whole second out of it. Of course, this means more memory, but you can't have everything...
import ....
class Main
{
static String ReadLn()
{
...
}
public static void main(String args[])
{
Main m = new Main();
m.start();
}
private void start()
{
//implement all functionality here
}
}
To my surprise, this works. But I haven't found out why yet.
BTW: This is very important. Get rid of the ReadLn() function. Basically, it sucks, big time. I've had problems that ran in more than 9.5 secs with that function and that now run in 2.3 secs. Nothing different other than that... Oh, and try to use the StringBuffer class if you have lots of output to produce. That can also take something like a whole second out of it. Of course, this means more memory, but you can't have everything...
Re: Some help
JDK 1.4 is on the top at my list for Christmas...