Problem Statement
You are given a
The tree must have the following properties:
For each i and j, if x[i][j] is one of 'E', 'O' (uppercase o), and '?'.
- If x[i][j]='E', the distance between i and j must be even.
- If x[i][j]='O', the distance between i and j must be odd.
- If x[i][j]='?', the distance between i and j may be arbitrary.
If there is no tree with these properties, return {-1}. Otherwise, return a
Definition
- Class:
- OddEvenTreeHard
- Method:
- getTree
- Parameters:
- String[]
- Returns:
- int[]
- Method signature:
- int[] getTree(String[] x)
- (be sure your method is public)
Notes
- If you use plugins to test your solution, be careful. Plugins cannot tell you whether your solution is correct -- they'll just tell you whether it matches the example output exactly.
Constraints
- n will be between 2 and 50, inclusive.
- x will contain exactly n elements.
- Each element in x will have exactly n characters.
- Each character in x will be 'O', 'E' or '?'.
Examples
{"EOE", "OEO", "EOE"}
Returns: {0, 1, 2, 1 }
The tree 0-1-2 is a valid solution.
{"????", "????", "????", "????"}
Returns: {0, 1, 0, 3, 2, 1 }
Any tree with 4 nodes is a valid solution.
{"????", "????", "??O?", "????"}
Returns: {-1 }
dist[2][2] should be zero, can't be an odd number.
{"??O?", "????", "E???", "????"}
Returns: {-1 }
dist[0][2] = dist[2][0], they should be both even or both odd.
{"?O??", "??O?", "???O", "????"}
Returns: {0, 1, 0, 3, 2, 1 }
{"?E??", "??E?", "???E", "????"}
Returns: {-1 }
{"?E???EE?OEEO???E??O??E??E??O?E?E??E","E?E????????O????O??E????EO???E??EO?","E?E??????E??????O??E???????O?E?????","???????OE????O???E?O?????E?????????","????E??????O?EE????????E?O????OE?OE","?EE?E??E???O?EE?????E?OEE??O??????E","E????????E???E??O?????O?EO????O???E","?E?????EO?E?EE??O??E??O??O????????E","???E?O???????OO?E??O????????O?E?O??","?E??????????E???O?????O??O??EE?E??E","?EE???EE?????????????E????EO??O????","OOO?O??O???E?O???EEO??????????E?O??","E???E??E??E?????O????EO?E?E????????","???????EO???????O????????OE????????","?????????EEO?????OO?E?????E??E??E??","E??????E???O????O????EO?EO?????E??E","??????????O??????E??O?EOO?OEO?EO?E?","?OO?????E?O?O?OO???OO?????OEO?E?O??","?OO????O????OOOOE?E??O?O??O??O?O???","EE?????E??????EEO??????EE??????E???","??EOE?E??E???E?????EE????O??E????O?","???O??E???E?E?????O?E??E???O?????OE","???EO?O?????O?????E??OE??E???O?????","EE?O?E????E?????????E?O???E?E??E?O?","E???E????E?O???EO????E?E?O??E?O???E","??OEOO???????O???E??O?E?O???????O??","??E??E?????OE???O?O??????????E????E","OO???????????????????O??OE????EOO?O","?E??E???O?????E????EE?????E?E?O????","E?E??EE?????EE??O?O????E?OE???O????","??O?O??????E????????OOEO??????EO???","?E?????????O??EEO???EEOE?????E??E??","EE?????????O???E????EEO?????E??????","?????????OO????O???O?O???????O?OOE?","E????E?????O????O?????OE??E?????EO?"}
Returns: {0, 3, 0, 8, 0, 11, 0, 16, 0, 17, 0, 18, 0, 22, 0, 25, 0, 27, 0, 30, 0, 33, 1, 3, 2, 3, 4, 3, 5, 3, 6, 3, 7, 3, 9, 3, 10, 3, 12, 3, 13, 3, 14, 3, 15, 3, 19, 3, 20, 3, 21, 3, 23, 3, 24, 3, 26, 3, 28, 3, 29, 3, 31, 3, 32, 3, 34, 3 }
{"?OOO???OEOE?EO?EE?O??EOEOOE","O?E?O?EEOEOE?EO?OEEE??EOE?O","OEEEOO???EOEO?OOOEEEEOEOEE?","OEEEOOEEOEO?OE??O?E?EOE?E?O","EOO?EE?O?OEOEO?EEO?OO?OEOOE","EOOOEEOOEOEOE?E?EOO?OEO?OOE","OEEEOOEEOE?E?EOOOEE?E??OE?O","O?EE?OE?OEOEOEOO?EEE?OEOEEO","??O?EEOOEOEOEOEEEOOOO?OEOOE","O?EE?O?E?E?EOEOOOEEEEOEOEEO","E??OEEOOEO?OEO?EEOO?OEOEOOE","OEEEOO?EOEOEOEO?OEEE???O?EO","EOO?EEOOEOE??O??EOOOOEOEOOE","OE?EO?EEOEOEOE?O?EEEEOE??EO","EO?OEE??EOEOEOEEE?OOO??EO??","?O?OEEOO?OE?EOEEEO?OOEOEOOE","E?O?E???EOEOEOEEEOOOOEO?OOE","??EEOOE??EOEOEOOOEEEEOEOEEO","?E?EOO?E?EOEOEOOOEEEE???EEO","O?EEOOEEOEOEOEOOOEEE?OEOE??","OE?EOO?E?EOEOE?OOE??EOEOEEO","EOOOEEOOEOEOE???EOOOOEOEOOE","OEEEOOEE?EOEOE?OOEEEEO?O??O","EO?OE?OOEOEOE?EEE?OOOE?EOOE","??EEOOE?O???OEOOO?EEEOEOEEO","?EEEOO?EOEOE?E?OO?EEEOEOE?O","EOOOEEOOEO?O?OE?EOOOO?OEO?E"}
Returns: {0, 1, 0, 2, 0, 3, 0, 6, 0, 7, 0, 9, 0, 11, 0, 13, 0, 17, 0, 18, 0, 19, 0, 20, 0, 22, 0, 24, 0, 25, 4, 1, 5, 1, 8, 1, 10, 1, 12, 1, 14, 1, 15, 1, 16, 1, 21, 1, 23, 1, 26, 1 }
{"???EO","??OOE","??EE?","EOE?O","O??O?"}
Returns: {0, 1, 0, 4, 2, 1, 3, 1 }
{"EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEE?EEEOOEOEO?EOOE?OOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","OOOOOOOEE?EOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEO?EOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEE?EOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEO?EOEEOOEEOOEEOEEOEOOE","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOOOOOOEEOEOEEOEEOOEEOOEEOEEOEOOE","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","EEEEEEEOOEOEOOEOOEEOOEEOOEOOEOEEO","OOO?OOOEEOEOEEOEEOOEEOOEEOEEOEOOE"}
Returns: {0, 7, 0, 8, 0, 10, 0, 12, 0, 13, 0, 15, 0, 16, 0, 19, 0, 20, 0, 23, 0, 24, 0, 26, 0, 27, 0, 29, 0, 32, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 9, 7, 11, 7, 14, 7, 17, 7, 18, 7, 21, 7, 22, 7, 25, 7, 28, 7, 30, 7, 31, 7 }
{"EOOEEEE","OEEOOOO","OEEOOOO","EOOEEEE","EOOEEEE","EOOEEEE","EOOEEEE"}
Returns: {0, 1, 0, 2, 3, 1, 4, 1, 5, 1, 6, 1 }
{"E??E??O?","??????E?","??????O?","E??E??OO","E??E????","E?????O?","??O?????","????O?E?"}
Returns: {0, 1, 0, 6, 0, 7, 2, 1, 3, 1, 4, 1, 5, 1 }
{"E?EO??O?????E?E???????EEE??O?EO?O??E","E?EOEE?????E????E???E?????????O?????","?EE????OO?EE?OE??EEO??E?EO?OE??O?O??","??O??OE?????????O?O?O???O???OO????E?","E???E????O???O????E????EE????E??OO??","EEE???O?OO??E??EE?EOEE????OO??OOO??E","?????????E?OOE?OOO???????E??OOEEE???","?O???O?EE???O?O???????O?????O?EE??EO","?O??????????O????OO?OOO????E???????O","????????EEO?OE?O?O?E?????EE????E?E??","EE?????O????E??????O?E?E?O???E???O?E","???????O?OE?EO??????EE?E???OEEOO?O??","EEE??????O?E?OEE??EOEE????O?????O???","????O???E??O?E?OOO???O????????E???E?","?????EO?O??????E?EEOE????????E??O???","?E?O?E??O?E??O??????EEE?EO??E?O?O?O?","?EE????O??EE?????E?OE?EE???O??O?O?OE","??E?E?O??O?????EEE???????O??E?O?O?O?","E?E???OOO?E?????EEE????????????O??O?","?????OEE??????OO?OO????OO?EE???????O","???O?E??OO?EE??EEE??????????E???OO??","????????O??E??????????????O??E??????","E??O??OOO???E??E??EO?E?E?O??EEO????E","E?E?EE?OO??E??E???EO?EE??O??E?O?????","???O??O??O???OE????OEE???O?O??O?????","??OE??E???O???OO??OEO???OE???O??????","????O?E?EE??O?O????????O?????OE?E???","?????O????????O??O???????EE??O??????","?E???E??OO?EEOE?EE??E?????O?E?OO??OE","??E?E???????E?E???EOEE?????O?????O?E","OO???OE?E??O??O??OO?O?OO?E?????E?E??","O????O??EE??O?OOOOO???O?????????E??O","???EOO??EE?OO???O???O????EE?????E???","??O????E???O?EOOOO?E?OO??E?E?O?EE??O","??O??O??EE?OO???????O?O??E????????E?","E???EEOO??E?EOE????OEEE???O?EEO?OOO?"}
Returns: {0, 3, 0, 6, 0, 7, 0, 8, 0, 9, 0, 13, 0, 19, 0, 25, 0, 26, 0, 27, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 1, 3, 2, 3, 4, 3, 5, 3, 10, 3, 11, 3, 12, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 28, 3, 29, 3, 35, 3 }
{"????O?O?????E??E??O????????OE?","???O???????E?E???OO???O?????EE","???EEEE??E??O???OEEE?????????O","?OE?EE????E??OE????????E??????","????EE?????????O???E??E????E??","?????E???EE???????????????????","O????E????EO????????????E??E??","??E????E??E?O??OO?EEO??E?O???O","?O?EE????E??????O??????E??????","O??????E???O????????????????OO","????E???E????O??O??E?EE?E?OE??","EE??OO??O???E?OEE????O??O?E?E?","???????O?????EO??O???OO??E?OE?","?E????????O??????O?????O?E??E?","O???E????????O????E????E???E??","??????O???O????EE??OE???O?E???","?????OOO??O???????O?E?O?????E?","?OEEE???E???OO????E?O?????O?OO","?O??EE???E??O?E???E?????E?????","??E???????EO?????????E?????E??","??O?????????????E???????O?????","???E????????O??O??????????O???","??????E?E?E?O???O??E????E?OEOO","O??E???E?E???O????E??E?????E?O","?????E?E?????O??OEE???EE??O???","????????OO???E???????O???EE???","?????????O?EEEO????O??????????","O?EEEE?E??E??O???E????EE??????","?E??O?????O????????O??O????O??","E????????????E??????????O?E?E?"}
Returns: {0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 14, 0, 17, 0, 18, 0, 19, 0, 21, 0, 22, 0, 23, 0, 24, 0, 27, 1, 2, 11, 2, 12, 2, 13, 2, 15, 2, 16, 2, 20, 2, 25, 2, 26, 2, 28, 2, 29, 2 }
{"E??????????????????????O??????E?????????????E???","??????O?????????E????????EO?????E??O????O???????","?????????????????????????????????????O??????????","???????????????????O??????????O?????????????O???","??????????????O?????????????EO??????????????????","??????????O?????????????????O???????O?????E?????","O?????E?????????OE???????O??O??????????E????????","??????????????????O???O?????????????????????????","??????????????O??????????????????????????E??????","??E???OO?????????O?????O?????????E???O????O??O??","????????????????E??????O?E??????E????O???????O??","?????????????????????????????????????O????????E?","???????????E????????????????E???E????????E??????","???????????????E????????????????????????????O???","?????EE???O?????????E?????????????E??????????E??","?O????????O????????????????????????E??????????O?","????E???E?E????????????OO?O?????????????????????","O????????O?O??E????O???????????????????????O????","?????O????????????????????????E?????????????????","????????????????????????O????????????????E??E???","??????????????E???????????????O?????????????????","??????????????????????????????????????????O?????","?????O??????????????O??????????????????O????????","?O????E??????????????O????E????O???????E???????O","??????????????????????????????O??O??????????????","???O???????????O?????????E???????????????E??????","????????????O???????????????????????????????????","???O??????????????????????????????????????O??O??","????????E????????O??????????E?????????O?????????","????O??????????E??????O??????E?O???????E????????","????E???????????????O?E?????????????????????????","?E??????E??????????????O????????????????????????","?????O??????E?????????E???O?????????E?O??E?????E","??????????????O????????????????E??????????O?????","?????E?????????????????????????????????E???????O","??????E???O??E????????????????????????????EO???O","E?????O????E????????????O?????????????O????E????","???E??????????????????????E??????O??????????????","???????????????????????????O???????E???????????O","?????????????????E??????????????????????????????","????????????????????????????????????????????????","???????????E????EO???E???????????????????E??????","???E????O??????????????????????O??????????????O?","??E??????E????O?????????????????????????????E???","???????O????????????????????????????????????????","??????????????????????O??O???????O??????????????","?????????????????????????????O???????O???E??????","E?E???????E????????????????????????????????E????"}
Returns: {0, 3, 0, 5, 0, 6, 0, 7, 0, 13, 0, 14, 0, 15, 0, 17, 0, 20, 0, 23, 0, 24, 0, 26, 0, 29, 0, 34, 0, 35, 0, 37, 0, 38, 0, 39, 0, 40, 0, 42, 0, 45, 1, 3, 2, 3, 4, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 16, 3, 18, 3, 19, 3, 21, 3, 22, 3, 25, 3, 27, 3, 28, 3, 30, 3, 31, 3, 32, 3, 33, 3, 36, 3, 41, 3, 43, 3, 44, 3, 46, 3, 47, 3 }
{"EOE?EEOEOEE???O?E?EOO?EEOEEO??OEEOO?EEE?O","O?O??O??EOO?E?E?OEOEE?OOEO?EO??OOEEEOO??E","EO?OEEO?OE??OOOEEO??OOEEOEEO??OEE???E??E?","OEOEO?EOE??EEEEOOEOEEEOOE?OE?EE????EOOOO?","EO?O?E???E?O?O?E???OOOEE?E?OE???E??OEEEE?","E?EOEE?E??EOOOO????OOOEEOE?O?OO???O??EE?O","??OEO?EOE?O?????OEO?EEOO?O?EOE?OOE?E?O?O?","E??OEEOEOEEO?OOEE????O?EOEE?EOOEE?OOEE?E?","??OEOOEOEO?EEEE?O??EEEO??OOEOE?O?EE?OOOOE","EO?OEE?E?EE???OEEOE?OOE??E?O?OO?EOO?E??EO","E??OEE???EE?O??E?OE?O?EEOEE??O?E?OO??E??O","O??EOOE?EOO?EEEO??OEEEOOEO?EOEE??E??OOOOE","O?O??OE????EEE?OO?OEE????OO?OEE?O?EEO?OOE","O??EOO?OE?OEE??OO?O?EEOOEO???E?OOEE???OOE","OE?E?OE?E?OEEE?OO???E?OOEO??O?E?OEEE?OOOE","EO?O?EOE?EEOO?OEEO?O?OEE?EEOE??EEO??EEE?O","EOE?E?OEOEEOOOOEE??OOO?E??EOEOO?EOO??EE?O","?EOEOOEOEOO??????EO?EEOO?OOE?EEO?EEEO?O?E","EO?O??OEOEEOOOO?EOE?OOE???EOEOO??OOO??EEO","???EOO???OOEE?EO?EOEE??OEO?EOE??OE?EO???E","O???OOE??OOE?E??O?OEEEOOEO?EOE??OEEEOOOO?","O????OEOEOOEEEEO?EOE??O??OOEOEE??EEEOO??E","E?E??E??O?E?O?OEEO??OOEEOE?O?O??EOO?EEE?O","EOE?E?OEOE??O?OE????O?E?OEE?EOO?EOOOEE??O","OEOEOOE??OO?EEEOOEOEEEOO?OO?????O?E?OO?OE","EOEO??O?OE?OOOO??O?OO?E?OEEO??OEEO???EEEO","EOEOE?OEOEEO?OOEEOEO?O??OEEO?OOEEO?OEEEEO","??OE?OEOE?OEEE?O??OEE?OOE?OEOE?OOEEEOOO?E","?OE?EE???E?OO?OE?O??OO?EOE?OEOO??OOO??E?O","O??EOOEOEOO?EEEOOE??EEOOEOOEOE?OOEEEOO?OE","O?OEO?EOE???E?E?OEO?EEO?EOOEO??O?E??OOOO?","?OE?EEO?O??O?O?EE?EOOOE??EEOEOOEEOO?EEEEO","??EOEEOEOE???OOEEO??O?EEOE?OEOOE?OOO?EE??","O????O?O???EEEEO?E?EEEO?EOOEO?E?O?EEOOO?E","OEOEO??OE???EEEO?EOEEEOO?O?EO??O?E?E?OO?E","OE??OOEOEO?EEEEOOE?EEEO?EO??OEEO?E?EOOO??","EOEOEEOEOEE?O???EO?O?OEE?E??E???EOO?EE??O","EO?O?EOE???OOO????EOOOEE?EE??OOEEOOOEEEEO","E??OEE?E?EEOO?O?EOEOO????EEO??OEEO?OEEEE?","??E?E????E?OOOO?EO?O???E??E?EOO?E?OOE?E?O","OE??OOEOEOOEE?E?OE?EEE???OOE??EOOE??OOOOE"}
Returns: {0, 1, 0, 3, 0, 6, 0, 8, 0, 11, 0, 12, 0, 13, 0, 14, 0, 17, 0, 19, 0, 20, 0, 21, 0, 24, 0, 27, 0, 29, 0, 30, 0, 33, 0, 34, 0, 35, 0, 40, 2, 1, 4, 1, 5, 1, 7, 1, 9, 1, 10, 1, 15, 1, 16, 1, 18, 1, 22, 1, 23, 1, 25, 1, 26, 1, 28, 1, 31, 1, 32, 1, 36, 1, 37, 1, 38, 1, 39, 1 }
{"EOOEO","OEE?E","???O?","?OOE?","OEEO?"}
Returns: {0, 1, 0, 2, 0, 4, 3, 1 }
{"E?EE??E?OE????E?O?OO???O?EO?O?????E?E??O????","?E?E?E??O?????????OO??????OE??O?E?E??E???EEE","????E????E??O?EO?O?????O??O?O???EO???E??E??E","?E?E??E?O??OO?E??O?O?????EOEOE???O???E??EEE?","E??E?E??O???O???OO?O?O??E???O????O??E??OEE?E","?EEEE???O??O???O?O???OO?E??E??O?EOE??????EE?","E??????O?EOO??E?O??OO???EE?????E?O??EEOO?E?E","???O?O?E??E?E????????????O?O???????O?OE?????","????????E???E??E???EE?E??O?O?O??OE???????OO?","?E?E??????O??EEOO???OOO???O??E??????E??O?E??","???????????EEOOE?E????EE?OEO?O??OE?O?O???OOO","OO?????????EEOO????E??E???EO????O??????EO?O?","O??????????E?O???EE???????EO??E??E?OO???O?O?","E?E??EE??E??O??O???O?OO??EOE?????O?E?E??E???","????E???O?O?O?E????O??O?????OE?E?OEE????????","?OOO??OEE??????E???EEE?E?O??????O?OO????O??O","?O?O???????E?O?EE?E??E?????O????OEO?????????","??OO???EE?E?EO??EEEE??????EO?????E?O?????O?O","O?OO????E????OO?EE???E?EO??O?O?OO?????E???O?","?O??OOO????????????E?EE?O?E????OO?????E??O??","???O???E???????E???E??EEO?????????????????O?","???????EE?????OE?E?E?E?EO??OE?E?????????OOO?","????OO??E?E?EO?E?EEEEEE?O????OE??????O??O??O","O????O???OEEEO????E?????O???E?????????E?OO?O","?E?EE??O?????EEO??O????O??O??E????????O?EE??","EEE???EO????OE??OOOO??O???????????E?E???E???","O?OO??OE????E?????E??E??OO?OE????????O??O???","E??E????O???OEE?O?????O??EO?OE???O?E?EO????E","??O?O????????O????E?????O?????EOOEO??OEE??O?","????EE?O??OOOEE?O??O???O?E????????EE?????E??","????O???EO??EO??EE????E???EO?????E?O????O???","E????????E????E?????????E?OE??O??O?E?E?O???E","E?E??E?O?EO??????O??O?????????OEE???E??O????","?OOO?O????EE???E????E?????????EO???????E???O","E?E???E???O?OE???OOOO?O???O??E????EE????E?EE","E??E??E???OO????????O????EO?O??E?O??EEOO?E??","E????EE???O?O?????OO??????OE??O?EO?E??OOEEE?","EE?EE????E?OO??O??O?O????EO??EOE?OE?EE??E???","O???OO?????????E?????E???O??EOEO???O?OE??O??","O?OO??????E??O??EEE??EEEOOE?E?E?O??????E????","?E?E???????????????O?????E??O??E??????O?????","E?EEE?E????OOE??O?????O?E????E???O????OO???E","??E?E?E??EO????OOOO?????E??????????????O??EE","EEEE??????O?O????????OOOEE?????????EE??O?E??"}
Returns: {0, 7, 0, 8, 0, 10, 0, 11, 0, 12, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 26, 0, 28, 0, 30, 0, 33, 0, 38, 0, 39, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 9, 7, 13, 7, 14, 7, 24, 7, 25, 7, 27, 7, 29, 7, 31, 7, 32, 7, 34, 7, 35, 7, 36, 7, 37, 7, 40, 7, 41, 7, 42, 7, 43, 7 }
{"?O?????????OE????E?OE???????O??E??E???","???EO???EO?E?O???????O?????E??O???????","?EE?????E????O??????O??E???E?O?O??????","????O??O??????????E?O????????O????????","?O???OE???E?????????????????????????E?","???E???????????????????????????O??OE??","????EO???E???E????O???O??E??O?????????","??????E?????E?????O???O?E??O?????????O","??EE?????????OO?O??????E??????????????","??O?E???????????E????EO?????O???E?EO??","E???E?E???E?E?????????O??????E?????O??","????????E????O??O??E??EE??OE????O????E","??O????E???????????O?E????EOO?E??O????","??O??O???E???????????????????EE??O????","????????O??????????O?????EEO??????????","???????OEO????O?O?E???E??O??????????OE","??O?????????E??O???????????????E???O??","?????????????????E??E??????????E??????","?E??OE?????????????????????????O???E??","??????OO??????????????????O?????????O?","?O??E???O???E?????????????E??????????O","???O?OE??EE??????EO?EE????????????E???","??E???????OE??O?O??????????????O????OE","?E?????O???????????????E???E???O?????E","?????????????E????O?E???????O????O???O","?O???????E?????????O??????E???????????","??O?EO??O??O???????OE?O???E?O?????E???","??E?????????OO????????????????????O??E","?E?????OE?????????E?O????OO??O??O?O???","E?OO???????????O?????????????E????EOE?","???????????????O?E????O????O?????OE?EO","????????O??????????O??O??????EEEE????O","?????O?EOE?????OE???????E??????????O??","???E?E??E?????????????E???????O??E????","??????E??E???????????????E??O?????E???","??E??E?O???E??OEOO???????O???OO?O?O???","?O???????????E???????????E?????EE?????","O??????????????E??????EE??????????????"}
Returns: {0, 1, 0, 2, 0, 3, 0, 5, 0, 8, 0, 11, 0, 15, 0, 18, 0, 19, 0, 22, 0, 23, 0, 27, 0, 28, 0, 33, 0, 35, 0, 37, 4, 1, 6, 1, 7, 1, 9, 1, 10, 1, 12, 1, 13, 1, 14, 1, 16, 1, 17, 1, 20, 1, 21, 1, 24, 1, 25, 1, 26, 1, 29, 1, 30, 1, 31, 1, 32, 1, 34, 1, 36, 1 }
{"E?EEE?E???EO???E?OOEO?EE?","?EOOOO?OO???O?O?O?E?E???O","?????EEE???OEO???O????E?E","E??EEEE?EE?O?OE?EOOEO?EEE","EOE?E?EEEEE?EO?EE?OEOOE?E","?O??EEE?EE?OE??E?OO?OO?E?","E???EEEEE?EOE?E?E?OEO???E","E?EEEEEE?EEO?O??E???O?EE?","?OEE?????E?O??EE?OO?O????","?O???EE?EEE?????EOO?OOEE?","??EEE???EE???O?E?OOE?O?EE","OEOOOOOOOOO?OEOOO??OE?O?O","EOEEEEEEEE?O?OE?EO?EO?EEE","?EO?OOOOO??E?EOOO???????O","??EE?EEE??E??OEE??OEOOEEE","E?E?E???E?EOEOEE?OO?OOE?E","?OEE?EEEEEE?E??EEOO?OOEE?","O?OO??O?O?O?O?O??E??E??O?","?E??OO?OO????EOOO?EO?E??O","E?EEE??EE?E???EEEO??O??EE","O?O??OOOOOO??EOOOEEO?EOO?","OEOO?OO?O?OEOE?OOEE??EOOO","EOEE??E??EEO??EE?OOEO??E?","?O???E??EEE?E??EEO???OEEE","?OEEEE??EEE?EO???OOEO??EE"}
Returns: {0, 1, 0, 11, 0, 13, 0, 17, 0, 18, 0, 20, 0, 21, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 12, 1, 14, 1, 15, 1, 16, 1, 19, 1, 22, 1, 23, 1, 24, 1 }
{"E?OEO??O??????","???E??E?OOEE??","???O?O?????O??","E???O????O?E??","O??????????O??","E?O?O??OO??E??","EEO????O????E?","????EO?E?EO?OE","O???E?O???OO?E","??EOE?O????O??","????O???O????O","EEO?OEEOO?E??O","EEO??EE??OE?EO","?O?????E???OOE"}
Returns: {0, 2, 0, 4, 0, 7, 0, 8, 0, 9, 0, 13, 1, 2, 3, 2, 5, 2, 6, 2, 10, 2, 11, 2, 12, 2 }
{"EEOEOE?O?OOO?OEEO?OO??E??EEEOEEEEO","E?OEO?EOOO?OO?EEOEOOOOEOEEE?OEEE?O","?OEOE?OEEEEEEEO?EOEE??O??OOO?OOO?E","EEOEOEEO?OOOOOEEOEOOOOEOEEEEO?EEEO","OOEOEOOEE?EEEE?OEO?EE??EOOO?EOOOOE","E?OEOEEOOOOOO?EEOEOOO?EOEEEE?EEEEO","EEO?O???OOOOOO?EOEO?O?E?EEEE?EEEEO","OOEO?OOE?EEEEEOOEOEEE?OEOOO?EOOO?E","OOEOEOOEEEEEEEOOEO?EEEOEOOOOEO?OOE","OOE?EO?EEEEEEE?OEOEEEEOEOOOOE??OOE","OOE?EOOEEE?E??O?EOEEEEOEOOO?EOOO?E","?OE?EOOEEEEEEEOOEOEEEE?E?OOOEOO?OE","OOEOEOOEEEEEEEOOEOEEEEO??OOOE?OO?E","??EOE??EEEEEEEOOEOEEE?OEOOO?EOOOOE","E??EOEEO?OOOO?EEO?OOOOEOEEEEOEEE?O","EEO?OEEO?OO?O??EO?OOO?EO?EEEOEEEEO","??EOEOOEEEEEEE?OEOE?EEOEOO?OEOOO?E","EEOEOEEOO?OOO?EE?EOOOOE?EEE?OE?EEO","?OEOE?OE?EEE??OOEOEEEEOE?OOOEOOOO?","OOE?EOOE?EEEEEOOEOEE?EO???OOEO?O?E","O?EOEOOEEE?EE?O?EOEEEEOEO?OOEOOOOE","OOE?EOO?EEEEEE?OE?EE?EOEOOOOEOOOOE","EEOEOEEOOOOO?O?EOEOOOOEOE?EEOEEEEO","OO?OEO?EEEEE?EOOE?EEEEOEOO?OEOO???","E?O?OEEOOOOO?OEEOEOOOOEOEEEE?EEEE?","E?OEOEEOOOOO?OEEO?OOOOEOEEEEOE??EO","EEOE?EE?OO?OO?EE?EOOOOEOE?EE?E?EEO","EEOEOE?O?OOOOOEEOEOOO?EOEE?EOE?EEO","?OEOEOOE???EE?OOEOEE?EOEOO?OEOOOOE","EEOE??EOOOOOOOEEOEO?O?EOEEE?OEEEEO","?EOEOE?O?O?OOOEEOE??OOEOEE?EOEEEEO","EEOEOE?OOOOOOOEEOEOO?OEOE?EEOEEE?O","EEOEOEEOOOOOOOEEOEOOO?EOEEEEO???EO","OOEOEOOEEEE?EEOOEOEEEEO?OOOOEOOOOE"}
Returns: {0, 2, 0, 4, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 23, 0, 28, 0, 33, 1, 2, 3, 2, 5, 2, 6, 2, 14, 2, 15, 2, 17, 2, 22, 2, 24, 2, 25, 2, 26, 2, 27, 2, 29, 2, 30, 2, 31, 2, 32, 2 }
{"??E?E??????O?EE??O?","??????OE????????O?O","E????????EEOE??????","OO???OE??O??????E??","??????O?OEE??E??O?O","E?E??????E??????O??","O???O???E??E???E??E","?EE?????O??O???O???","O??E?OE?EO??O??E???","???????E????E?E????","?????E?????????????","?O?????????????EE??","?????E???E?O?E?????","E?????O?O??????O??O","???????E?E???E??O??","????O???E????O??E??","??OE??E?????O??????","??????E?E?OEOO???EE","OO?????O??O??O?E?EE"}
Returns: {0, 3, 0, 6, 0, 8, 0, 11, 0, 15, 0, 16, 0, 17, 0, 18, 1, 3, 2, 3, 4, 3, 5, 3, 7, 3, 9, 3, 10, 3, 12, 3, 13, 3, 14, 3 }
{"???E?E?O?O?E?O?O?E?OEOOE?E??OE??EO??O???OEEO","O??O?O???E?OEE??EO??O???EO?OE?E?O?O?E??EE?OE","E??EE?E?O?EE?OEOOEOO?O??OE???EO?EO?E?EE???E?","E??E?E?OO??E?????E?OEOOE?EE??E??E??EOEE?O?EO","E??E?EEOO???O?E?OEO?E????EEEOEOE??E???EO?EE?","?OEEEEE??O?EO?E?OE?O??O?O??E?EO?EOE?OE???E?O","EOEEE??O?O??OO???E?OEO?E??E????E??E??EEOOE??","OEO??OOE?EOOE?OEEOE?OEE??O?OEO?O?E?OE??E?O?E","?E??OOOEEE??EEO?????O???E??O?OEOOE?O?OOEEOO?","?E?OOO??E???EE?????EO?E??O?OEOE?O??O????EOOE","E?E??E???OE?OO??OE??EOO??EE??E???O????EOO??O","EOEE?E????????E???OO??OE?E?E?EO?EOEE??EO??E?","OE??O??EEE?OEEOE??EEOE???OO?EO???E?O??O?????","OE??OO???????EO??O?EOEE??O?OEO?OOE?O??OEE?OE","?OEE???O??E?O?E?O?O?E?OEOEE?OE??E?EEOE?O???O","OE??O?OEEE??EE????EEO??OE??OE???O???EO?EEO??","?EO??O??E?OOE??EEO??O??OE?OO?OE?O?O??O???O?E","EOEEE??O?OE??OEOO???EO??OE?EO??????EO?EOOE??","OEOO?OO????OEEOE??EE?E?OEOO??OEOOEOOE???E?OE","O???OO?????OEE???O??O???EO??E??O?EOO??????O?","??EEEEEOO?EEOOEO??O??O?????????EEO?EOEE?OE?O","OEO?O??EEEO?E???E?EEO?E??O????EOOE?OE?O?EO?E","??OOOOO???O???O??O?EOEEO?O??E??OO?OOE???EO??","????E?E?OOEE???O???OE?O??EE??E?????E??E?OEEO","O????O?E?????????OE???EO??O??O???E???O??EOOE","?O??????O?E??OE??EOO?OOE?EE?????EOE?OE??OEEO","E??E??E?OO??O??OOE?OEO???EEEOEOE?????EE???EO","????E???OO??O??OOEOO?OO?O?EE?????OEEO????EEO","O????OOE???OE??EE??E?EEOE?O?E?EO???O????E?O?","EOEE?E?O?????O?O??O?????OE?E??OEEOE?O?EO??EO","O???OOOEEEOOEEO?EO?E?EE?E?O????????OE?OE???E","E?E??EE??OEE???O?E?O???EOEE?O???EO???EE?O???","????E?EOO???O??OO??O??OE??E?OE???O???EEO????","O???O??E??O??E???OEEO????O??EO???E?????EE?OE","??E?EEEO???E?OE?O??OEO?E?E???EOEEO?E????O?E?","E??EE????OEEOOE??E?OEOO?OE?EOE?EE?E?O?EO?EE?","O?????O?EE??EEOEEO??OEE??O????E?OE??EO??EO?E","E??????OO????O?OO?O?E????E?E????E?E???????E?","??????EO??E?O???O?O?E??EOEEEOE?EE??EO?EO?EE?","OE?O?O??E?O???OEEOE?O?EO?OOOEOE??EOOEOO?EOOE","O???O?OEE????E?EE??EO??????O?O?????O????EOO?","EO???EE?OO?E?O?O?EOOE?O?OEEE????????O?E?O?EO","EO?E?E??O?E?OO?OO?O??O?EOE??OE??E??E??E?OE??","O?O?OO????OOE?OE?OE?OE?O?OO?E?EO?EOO????EO?E"}
Returns: {0, 1, 0, 7, 0, 8, 0, 9, 0, 12, 0, 13, 0, 15, 0, 16, 0, 18, 0, 19, 0, 21, 0, 22, 0, 24, 0, 28, 0, 30, 0, 33, 0, 36, 0, 39, 0, 40, 0, 43, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 10, 1, 11, 1, 14, 1, 17, 1, 20, 1, 23, 1, 25, 1, 26, 1, 27, 1, 29, 1, 31, 1, 32, 1, 34, 1, 35, 1, 37, 1, 38, 1, 41, 1, 42, 1 }
{"E?E?OO??E?E?EEE?O??E????OEEE?E?E?EE?OO","O?O?E??OO?OEO?O?E?O?EO?????O?O??????E?","?O????????E?EEEOO?EEO?EE?E??OE???EE???","O?O??EO?????OO?EEO???O??E??OEO??O?OO??","O???E?OO?O??OOO???O?E?OOEOO?E???OO??E?","OE?EE?OOO??EO?O?E?O?EOOO?OOOEOE??O??E?","EO?OO?E?EEEOEEE?O???OEE??????EOEEEE???","????O??EEEEOEE???EE?OE?E?EE?????EEEEO?","E??O??EEE??O?E?O???EO?E?????O?OEEE?EOO","E??OOOEEEE??E??OOE??O?E??EEEO???EE?E??","EO?O?OE?E?E?EEEOO?E??E?EOEEEOEOE?EEE?O","?????EO?O??EO?OE?O???OO?E?OO?O?O??O?E?","???O?OE?E???E????E?EOEE??EEE?E????E?O?","?O?OO??EEE???EE??E?E??E??????E???E?EO?","E??OO?E????O??E?O?EE?EEEO?EE???E?E?E?O","OEO?EEOOOO?EOOOE?OOOEO?O?OOOE?E??O??EE","OE??EEO?OO?EOO?EEO?OE???EOOO?OE?OO??EE","???O??EEEEEO?EE?OEEEO?E?O???OEO??EE??O","?OE???E?E?E??EE???E?OE??OEEE?EO?EEE?O?","EO?OOOE?EEEO?????EEE??E??E???E?E??E??O","OE????O?OO?E?OOEEO??E?O?EOO?E?E?O?O??E","??EOOOEEEEEOEEEO?E?EOE?E?E?EOEOE?EE???","EO???OEEE??O??EO??E?OEEEO?EE?EO?????O?","?????????E?O?EEOOEE??EEEO?????O?E?EE?O","O?OEEEO?OOOEO?O???OO?OOOE?OO?OEO??OO??","E?E?????EE????EO?EEE?E?E???E???E??E?O?","EO?O?OE?EE??EEE????EOE?EO??E??O?EEEEO?","?O??OO?EE?E?E???OE?EOEEEOEEEOEO??E?E?O","O??E?E??OO?E?O?EE?OOEO??EO??E??O?O?OE?","????O???EE??EEEOOEEE???E???E?E?E?E?E?O","OEOE???O??O?O???E?OO???O??OO?OEO??OO?E","????????E?E??EE?O???O?EEO????E??E?EEOO","??EOO?EE?E?O?E??OE??OEE?OE???EO???EEOO","????O???E?E??E??OE?EO?E?O??EO?OEEE?EO?","EO???OEE??E?E?????E??EEEO???O?OE?E?E??","??EO??EEE?E??E????EEOE?EO???O???E?EE?O","?E???E??OOOE??OE?O?O??????O???EO??OOEE","?E?E?E????OE?O???OOO?OO?E????O?O?O?O?E"}
Returns: {0, 1, 0, 3, 0, 4, 0, 5, 0, 11, 0, 15, 0, 16, 0, 20, 0, 24, 0, 28, 0, 30, 0, 36, 0, 37, 2, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 12, 1, 13, 1, 14, 1, 17, 1, 18, 1, 19, 1, 21, 1, 22, 1, 23, 1, 25, 1, 26, 1, 27, 1, 29, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 1 }
{"?????????????","??????????OE?","?????????????","?????????????","?????????????","?????????????","?????????????","???????E?????","???????E?????", "?????????????","???????????O?","???????????E?","????????????E"}
Returns: {0, 1, 0, 3, 0, 5, 0, 7, 0, 8, 0, 11, 0, 12, 2, 1, 4, 1, 6, 1, 9, 1, 10, 1 }
{"??O?????OOOOO?????O???E?O????E??","O?E???OE?EE?EO???E?E?O?????????E","??E?????E??EE????E??O?O?E????O??","??E???OE?E?????OOEE???O?E????OO?","?E?????E???????OOEE?O???E???O???","?O?O?E?O??????O??OO?E?E???O??E??","??????E??O?????E?????E???OOE????","???????E??EE???O???E?O???EEO??O?","?E?E????E?EE??E????E?OOOEE??O???","??E?????EEE???E?????OO?O????OO?E","O?EE??????EE?O??O?EEO?OOE????O??","????E?O???????EO?E??O??O???O??O?","??EEEOO????EEOE???????O??EE?O??E","????OEE?O???O???EO??EE??O??E?EE?","?E??????E?????EO?????O??E????O?E","?O?????????????E??O?E??EO????E??","E??O????O??OO????O?????EOOO?E???","?E??E?O?EE????????EE??O?EEE?????","????E???E??E??????E?O?O????????E","????????EEEEEO?????????O????????","??????E?O???????E?OO?E?E????????","??O??E?????OO?O???OO?E??O?O??EEO","?????????????E???O???E??OO??E???","?????E??O?OO?EOE????EE???????EEO","?E??E?O?E???????????OOO????OOOO?","????E?O?????EO???EE?????E?E?OO??","?E??E?O??E??E?EO?E???OO?????O?OE","??OO??E?????????????EE???O????E?","?O??OE?OO?O?????E????EE?????????","?????E???O??O??EE??????E??????E?","EO????E?OO???EO???OO?E?????E???O","OE?E???E????E??O?E??OO????EO????"}
Returns: {0, 1, 0, 2, 0, 3, 0, 4, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 14, 0, 17, 0, 18, 0, 19, 0, 24, 0, 25, 0, 26, 0, 31, 5, 1, 6, 1, 13, 1, 15, 1, 16, 1, 20, 1, 21, 1, 22, 1, 23, 1, 27, 1, 28, 1, 29, 1, 30, 1 }
{"?EO?EO??????EE?E??","E???????E?E????EO?","?OE???E?O?????O???","O????E?EOEO?OO???O","E??OE?OO??E?E?E??E","OOE?OE??O??EO?O???","???EO?EEOE?????O??","?O???E??O??E?OO??O","????EOO?E?E???EE??","???E???E?EOEOO???O","E??O?O????????EE?E","??????E??EO???O???","??OOE??O?OEOEE?E?E","E??O??O???E??E?EOE","EE?OE??OEOE????EO?","EE?OEO??E?E??E?EOE","?O?E????OEO??O?OE?","EE?O?OO?EOEOEEE?OE"}
Returns: {0, 2, 0, 3, 0, 5, 0, 6, 0, 7, 0, 9, 0, 11, 0, 16, 1, 2, 4, 2, 8, 2, 10, 2, 12, 2, 13, 2, 14, 2, 15, 2, 17, 2 }
{"?????????????O???????????E?????","??????????E??O????O????????????","?????E???????????O??????OO?????","??OE?????O?????????????E????EO?","????????????????????O??????????","??EO???????O???E??????????????O","?????O??E???????????????E??????","????????????????O??????????????","???E??E?E??E???????????????????","?????????????????O?O???????????","?E??????E?????????O??E??E??????","???????O????????E?????????E????","?????????????O???E?????????????","?OE?O??????O?E???????????OO????","???????????????????????????????","???O???????O?????O????????????O","????E??O???E?OE????E???????????","???EEOE??????O?????E???????O?O?","???????????????????O???????????","?????????????????????????E?O???","????????OE????????E?????O????E?","??????E???????????O????????????","??????????O???OE??E????????????","????????????E?????OE???????????","?E???O????E??????EO??????????OE","E?????E???E???E???O????????????","?????????????????????E?????????","?????????E??????????????????OE?","??O??????????????????????E??E??","????O??????????????????????????","?????????????????????E????????E"}
Returns: {0, 2, 0, 5, 0, 7, 0, 9, 0, 13, 0, 15, 0, 18, 0, 20, 0, 22, 0, 27, 0, 29, 1, 2, 3, 2, 4, 2, 6, 2, 8, 2, 10, 2, 11, 2, 12, 2, 14, 2, 16, 2, 17, 2, 19, 2, 21, 2, 23, 2, 24, 2, 25, 2, 26, 2, 28, 2, 30, 2 }
{"EE????????????O?OO????O???O???","????EE??O?EO?O??O?O??OO?????O?","??EO???????????EO?????OE??????","??O????O??????E???E?EEEO??????","E?E???????????O?OO?OO??????O??","???????????O?O????O?O???E???OE","E??O????O???E?O?????O????E?O??","??????E???EOEO?????O??OE?E???E","?O?E???????E???O??E?????OO??E?","???????E???OE???O?????O?E?????","E?E??????E????????O?O??E?E????","OO?E?????O??????E?E??E?O??????","?EE?????O???????O?????????????","?O????????OE?E??E???E????O????","?O??????????O??O????????OO??E?","???O?EE?????????O????????E????","OO??O???E?OEO???E?EE??E???EE??","??O??OO???O???E??????EE???EE??","??O??O????O?O?????E??E???O????","O??????O?O??????E?EE????O????O","?O?E???OE?O??E????????E???EE?O","?OO?????E?O?????????????????E?","?O??O??O?????EE?EE?E??E??O??E?","E???????O??OE??E??O?????EE????","?E???E??O??O?OOE?????OO??E??O?","?E??????????E?????????O???????","??OE???O?????E??????????O?????","?O????????O?O?E?E?????E????E?O","?O?????????????OE???EE?OO??E?O","????????????E??????O?O??EE??OE"}
Returns: {0, 3, 0, 8, 0, 11, 0, 13, 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 26, 0, 27, 0, 28, 1, 3, 2, 3, 4, 3, 5, 3, 6, 3, 7, 3, 9, 3, 10, 3, 12, 3, 15, 3, 23, 3, 24, 3, 25, 3, 29, 3 }
{"?O","OE"}
Returns: {0, 1 }
{"EEE","??E","EEE"}
Returns: {-1 }
{"EEO?EOEO?EEOE?OOOO?E?O?","EEO???E?OEEOEEO?OOOE?OO","?OE?O??EEO????EEEEEOEEE","?O?E?EOE?OOEO?E?EEEOEEE","??O?EOEOO?EO?EO??OOEOOO","OOE??EOE??OEOO?E?EE?EEE","EEOOEOEOO??OE?O?OOOEOOO","OOEEOEO?EOO?OOE?EEEOEE?","OOE?O?OEEOO?OO?EEEEOEEE","EEOOEOE??EEOEE?OOOOEOOO","EEOO???OOEE?EEOO?OOEOOO","OOEE??OEEOOE?OEE?EE?EEE","E?OOEOEOOEEO???O?O?EOOO","EEO???EO??EOEEOOOO?EOOO","OO?EO?OE?OOE?OEE?E?OE?E","OOEEOEOEEO?E?OEEEEEO?EE","OOEEOEO?EOOE?OEEEEEOEE?","?OEEOE?EE??EO?EEEEE?EEE","?OEE?EOEEO?E?OEEE?EOE??","EEOO?OEOO?EOE???OOOEO??","OO?E?EOE???EOOEE??E?E?E","OO?EOEOEEOOE?O?EE??OEEE","OOEEOE?EE?OEOO?E??EOEEE"}
Returns: {0, 2, 0, 3, 0, 5, 0, 7, 0, 8, 0, 11, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 20, 0, 21, 0, 22, 1, 2, 4, 2, 6, 2, 9, 2, 10, 2, 12, 2, 13, 2, 19, 2 }
{"?????EO??O??EE??????EO?E??O???","O??E??EE??EE?OO?O????????????O","????EEOO??O?E???E??EE??EO???EE","????O??E??????????E???O???????","E??OE???????????EO????E?O???E?","?O??EEO?????E??O?????O????O?EE","?????O???EEEO????????E??E?EE?O","??????????E?????O?E??E????????","????????E??O?????????????OO??E","O??EO?E?O?EE?????EE???????E?O?","O???O?E?O?E?OO???E????OO??????","??O??OE????E??????????????????","?????????O????E?EOOE?????O????","?OE??E?O???O???????E???E??????","??????OO?????????O?E?O????????","O?O????E?E?E???EOEE??E??E?E?O?","??E???O?E?????EOE??E??E??OO???","?E??O??EO????O?E?E???E?????EO?","??????EE???EO?????E????OE?EE??","????EE??E??????OE?O?E??????O??","E????????O?????????????EO?O???","?E??OO?E??EE????O?????O??E????","??????O?????EEE???????????????","E????E??E??O???O??????E?O?????","??O?O??????????E?E?O???O???E??","?E????E????E????????OEOO?E????","O?OE?O??O??E?O?????????O?E???O","?EO?????OE?E????OE???E????EE??","???OE?OOE???EE?O??OE?????O??EE","EO???????O?O?EEO?OO??O????OOE?"}
Returns: {0, 1, 0, 3, 0, 6, 0, 7, 0, 9, 0, 10, 0, 11, 0, 15, 0, 17, 0, 18, 0, 21, 0, 24, 0, 25, 0, 26, 0, 27, 2, 1, 4, 1, 5, 1, 8, 1, 12, 1, 13, 1, 14, 1, 16, 1, 19, 1, 20, 1, 22, 1, 23, 1, 28, 1, 29, 1 }
{"???????","???E???","EO???E?","??O????","?O?O??O","E?E????","?EOE???"}
Returns: {0, 1, 0, 3, 0, 6, 2, 1, 4, 1, 5, 1 }
{"?????E?E?????O??","O???????O???????","E?????E?????????","??O?????????????","???????????????O","EO??????????????","???????E???????E","?O?????E????????","???O??E?????????","???E??????????O?","????????????????","??????????E???E?","O?????????????OO","???????O????????","?????????O??????","???????????E????"}
Returns: {0, 1, 0, 3, 0, 4, 0, 9, 0, 12, 0, 13, 2, 1, 5, 1, 6, 1, 7, 1, 8, 1, 10, 1, 11, 1, 14, 1, 15, 1 }
{"E?E??????EE??OEEEEEE???E?EOEE?O?E??E?","??E?O?????EOOOE???E??EEEOEO?EE????O?O","?E??O???O?EOOO?EE??E??EE?EO?E??OE?OE?","OO?E????E?O?EE??O?O??O???OE???E???EOE","O?OE??E??O?E?EO????O?O???O??OO?E??EOE","O?O???E?EOO?E?OO?OOOEO??E?E?O?E?O?EOE","O??EE?EOE?O?E????O?OE???EO????EEOE??E","?E?OO?O?O???OOE???EE?EE????EE?O????E?","OO??EEE??OO?E?OO?OO?EOO????OO??E?????","?E??O??E???????E??EEOEEE?E?E?E?????E?","?EE?OOOE???OOO??E?E?OEE???????????OE?","OOOE??E??????????OOO??OO?O?OO?E?????E","??O??????O?EE?O?O?OO??O??O???O?E???O?","O?O?E?E??O???E?O???OEOOOE?E????E?E?OE","EE??OO??O???O?E?EE????E?OEOEE?O??O?EO","?E??OO??OE?O?OEEE?EE????O????EO??OO?O","EE??OO?E?E?O??EE???E???EOE???EO??????","E????OOE????OOEE?EE???EEO?OE??O???OE?","??E?OO?EOEE?O???E?E??EE?O?OEEE?OEO??O","E??OO?OE?EEO??E?E??EOE?EO??E????EOO??","????EE?O?OOE???O?OO??OOO?O??O?EEO?EO?","E?EOO????EE???E????E?EEE??O??E??EO??O","???OOOOE???O?OEE?EE?OE?E?E????O?E?O??","E?EO?????EEOO?????E?OE?E?????E????OEO","OOO???E?E???EE?O??O?EO??E?E????E????E","?EEO???E?EEOOOEE??E?????OE?EEEOOE????","OOO??E??E???E???O??OE?OO?O?O?OEEOEE?E","E?EO????O??O?O?E??EEOEEEO??EE?OO?O?E?","EEE???O?OEE??O??EE?EOEE?OE???E????O??","?EE?O?O?O??O?O????????E?OE??E?O???OEO","???E????E?O??????OOO????EOE????EO?E??","OO??????EOOE?EO??OOOE?O??OEO?OE??EEOE","?E?OOO????E???E???E??E???E???EOO?O?E?","O??EE?E?EO?EE?OO?OO?E?O?E?EO?O?EOE??E","O?O?EE??E??????O?OO???OOE?E??OE??E???","EEEOOOO?O?EO?O????E?????O?OEEEO?EO??O","?O??EE?O???EEE???????O?O????OOEE?EEOE"}
Returns: {0, 3, 0, 4, 0, 5, 0, 6, 0, 8, 0, 11, 0, 12, 0, 13, 0, 20, 0, 24, 0, 26, 0, 30, 0, 31, 0, 33, 0, 34, 0, 36, 1, 3, 2, 3, 7, 3, 9, 3, 10, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 21, 3, 22, 3, 23, 3, 25, 3, 27, 3, 28, 3, 29, 3, 32, 3, 35, 3 }
{"??????E?????????????","????????????????????","????????????????????","??????E?E?????????E?","?O????????????O?????","??????E???????O?????","???????O????????E???","??O?????O??????EO???","????????????????E???","?E???O????????E?????","O??O?????????????E??","??OO????O???????????","???EE???????????????","???????????OE???????","??????????????E????E","?????O?EO?E?????????","?O???E?????????O????","??????????????EE????","E??????????????O?O??","?????O???E????????O?"}
Returns: {0, 1, 0, 7, 0, 9, 0, 10, 0, 11, 0, 14, 0, 15, 0, 17, 0, 19, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 8, 1, 12, 1, 13, 1, 16, 1, 18, 1 }
{"?????E???????????E????E????????E??E??","E????????E???E???E???????E????O???E??","?????????????????????O????E????????E?","????????E?O??????EO??EE??????????????","E??E?????E??????????E?E????O?????E???","???E??????????????O?E?E??????????????","???O??E??????????OE??????????????O???","????????EEO?????O?OO??E???????O??????","E????E??????O????E?O??????????O??E???","?????E????O??E????????????O?????O?E??","???O??EO????E??????E??O??O??E?E??????","???????EE???OE???????E????OOO?O?O?E??","???OOO?????????O??????????????E??????","?E????????????????????????OO?O???????","????OO??O??????O???????O???????O??OE?","?E?E?????E?????E???OE?E??????O???E?O?","O?????E????????????E???????????????E?","?????E?E???????E??O???E?????????O????","OO?O?O?????O????EO???OO??????E?O?????","????????O??O?O????????O??????????????","E???E?O????E?E??O???E???????O?O????O?","E????E?????EO?O???O??EE??????????E???","????E??????E????????????OE??????????E","E???EE????O?O???O?O???EE???????????O?","???O???O???O???O????O????????????O???","??OE????EE?????????????E??O???O?O???E","???????????????O??E??O??????E????????","O??O???????O?????????????????????????","?O????????????E????E???????????O?????","??EO??????????????????O??????????????","?O???O???????O???????O??EO???????????","E?O????E?????EO???OO??EE????O????????","???O??E????????O??????????E??????????","????????????????O?????E?O?????O?O??OE","???E????E???????????????O????O???????","????????????E??????E????????E?E??????","???E??????O?????????????O????????????"}
Returns: {0, 2, 0, 6, 0, 10, 0, 12, 0, 14, 0, 16, 0, 18, 0, 19, 0, 24, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 32, 0, 35, 1, 2, 3, 2, 4, 2, 5, 2, 7, 2, 8, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 20, 2, 21, 2, 22, 2, 23, 2, 25, 2, 31, 2, 33, 2, 34, 2, 36, 2 }
{"?????","?????","?????","?????","??E??"}
Returns: {0, 1, 0, 3, 2, 1, 4, 1 }
{"?O??O????","O?OE????O","E?E???O??","??????E?O","??OEE?E??","??EO?E?O?","?E???O?E?","O???E?EE?","E???O????"}
Returns: {0, 1, 0, 3, 0, 4, 0, 6, 0, 7, 2, 1, 5, 1, 8, 1 }
{"?EOOO????O?EOO?????EEEO?OEO??OE?","E?OO?OO?O?EEOOO?EE?EEEO?O?OE?O?E","OOE??E?EE?OO???O???O?O?OEOEOO??O","O?E?E??EE??O?EEOO?O????????OO??O","????EEEE?E?O???O?OOO?OEO?O??OE??","?O??EE????OOE??????O?OEOEOEOOE?O","?OEE?EEEE?O???EOOOO???E?E???O?O?","?OEEEEEE?EO?E?EOO?O?OOE?EO?OO?O?","OO??EEEEE?O?EE????O?OOE???EO???O","?O?E?EEEEEO?E??OOOO?OOE????O?EO?","E???OO?O?OE?OO?EE?E?E??E????EOEE","EE???O?OO????O?EE??E?EOEOEO?E??E","OOEEE?E?E??O?EEOOO?OOOEOEO????O?","?OE?EEEEEEOO?E?O?O?O?OE?EOEOOE??","OOEEEE?EE??OEEEO???O??EOEOEO?E?O","?E??OO?O?OE?O??E?EEE?E?EOEO?EOEE","EEO?O??OO???O?O??E?EEE?E?EOEEO??","E???OOOOOOEE?O???E?E?E????O??O??","??OO??OOOO?E?OOE?E?EE?O?O???EOEE","E?O?O????OE?O??EE???EE??O?OE???E","EE?OO??O??EE?O??E?E??EOEOE??EO?E","E?OOO???OOE???O??EE?????O?OE?O?E","?OEEEE??E?OO??E??O?OO?E?E?EOOEO?","???O??OOOOEE???E?EEEE???OEOEEOE?","OOE?EEE?E?O??E?OO?O??OEO??E??EOO","E?OO?OO?OOEEOO?EEE?EEE???EOEE?E?","???EEEEEEEO?EEE??OOOOO?OE?EOOEO?","EEOOOOOO?OEEOO??E?E?EEOEO?OEE?EE","?EOOO?OOOOEE???EEE?E?E?EO?OEE?EE","??EE?EE?EE?OEEEOOOOOO?EOEO?OOEO?","???O?OOO?OE?OOO?E??????EOEOEE?EE","EEO?O????OEEOOOEE?EEEE??OE?EEOE?"}
Returns: {0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 12, 0, 13, 0, 14, 0, 22, 0, 24, 0, 26, 0, 29, 1, 2, 10, 2, 11, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 23, 2, 25, 2, 27, 2, 28, 2, 30, 2, 31, 2 }
{"????????????????","????????????????","?O??????O???????","??O?O???????????","?O????????O?E???","?E??????????????","??????E?????????","??????E?????????","????????????????","????O???????????","????O???????????","??E????O????????","????E???O???????","????????????????","??O?????????????","?????O?O???E????"}
Returns: {0, 1, 0, 3, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 14, 2, 1, 4, 1, 11, 1, 12, 1, 13, 1, 15, 1 }
{"??O???E???","O?????????","??????????","E?O????O??","???O??O???","???E???OO?","?????E??O?","???O???E??","O?????????","?E??E?O??E"}
Returns: {0, 1, 0, 2, 0, 4, 0, 7, 0, 8, 0, 9, 3, 1, 5, 1, 6, 1 }
{"EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","EOOOOEOEOEEOEEOOOOOEEOOOO","EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","EOOOOEOEOEEOEEOOOOOEEOOOO","EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","EOOOOEOEOEEOEEOOOOOEEOOOO","EOOOOEOEOEEOEEOOOOOEEOOOO","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE","OEEEEOEOEOOEOOEEEEEOOEEEE"}
Returns: {0, 1, 0, 2, 0, 3, 0, 4, 0, 6, 0, 8, 0, 11, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 21, 0, 22, 0, 23, 0, 24, 5, 1, 7, 1, 9, 1, 10, 1, 12, 1, 13, 1, 19, 1, 20, 1 }
{"EOE?EOOEO??OOOEE?OO?OEEEO?EOEEEO?EEEOOO?O?O?OE","OEOOOEE?EEEEEEOOOEEEEOOOEOOEO?OEOOOOEE?OEOEOEO","EOEEEOOEOOOOOO??EOOOOE?EOEEOEEE???EEOOOEOEO?OE","??EEEOOEO??OOOEEEOOOOEEEOEEO??EOEEEEOOO?OEOEOE","EO?EEOOEOOOOOOEEEOOOOEE?OEEOEEEOEEEEOOOEO?OEOE","O?OOO?EOEEE?EEOOOEEEEOOOEOOEOOOEOOOOEEEOEOEOEO","OEOOOEEOEEEEEEOO?EEE?OOOEO?EOOOEOOOOEEEOEOEOE?","?O?E?OOEOOOOOOEE?OOOOEEE?E?O??EOEEEEOOO?OEOEO?","OEOOO?E??EEEEEOOOEE?EO?OEOOEOOOEOOOOEE?OEOEOEO","OEOOOEEOEEEEEEOOOEE??O?OE?OEOOO?OOOOEEEOEOEOEO","OEOOOEEOEEEEEEOOOEEEE?O?EOOEOOOE?OOOEEE?E?EOEO","OEOO?EEOEEEEEE??OEEEEOOOEOOEOO?EOOOOEEE?EOEOEO","?EOOOEEOEEEEEEOOOEEEEOOOEOOEOOOEOOOOEEEOEOEO?O","OEOO?EEOEEEEEEOOOEEEEOO?E?OEOOOEOOOOEEEOEOEOEO","EOE?EOO?OO?OOOEEEOOOO?EEOEEOEEEOEEE?OOO?O?OEOE","EOEEEO??OOOOOOEEEOO?O?EEOEEOEEEOEEEEOO?EOEOEOE","EOEEEOOEO?OOOOEEEOOOOEEEOEEOEEE?EEEEOOOEOEOEOE","OEOOOE?OEEEEEEOOOEEEEO?OEOOE?OOEOOOOEEEOEO?OEO","OEOOOEEOEEEEEEOOOE??EOOOEOOEOOOEOOOOEEEOEOEOEO","OEO?OEEOEEEEE?O?OEE?EO??EOOEOOOEOOOOEEEOEOE?EO","O?OOOEEOEEEEEE?O??E?E?OOEOOEOO?E?OO?EEE?EOE?E?","?OEEEOO?OOOOOOEEEOO?OEEEOEEOEE?OEEEEOOOEOEOEOE","EOEE?OOEOOOO?OEEEOOO?EEEOEE?EE?OEE???OOEOE?EOE","EOEEEOOEOOOOOOEE?OOOOEEEOE?OEE?OEEEEOOOEO?OEOE","OEOOOE?O?EEEEEOOOEEEE?O?EOOEO?OEOOOOEEEOEOEO?O","EOEEEOO?OOOOOOE?EO?OOEEEOE?OEEEOEEEEOOOEOEOEOE","EOEEE?OEOOOOOOE?EOOOOEE?OEEOEE?OEEEEOOOE?EOEOE","OE?O?EE?EEEEEEOOO?EEEOOO???EOOO??OOOEEEOEOEOEO","EOEEEOOEOOOOOOEEEO?OOEEEOEEOEEEOEEEEO?OEOEOE?E","EOEEEOOEOOOOO??EEOOOOEEEOEE?E?EOEEEEOOOEOEOEOE","E?EEEOOEOO?OO?EEEOOOOEEEOEEOE?EOEEEEOO?EOEOEOE","??OOOEE?EEEEEEOOOEEE?OOOEO???OOEOOO?EEE?EOEOEO","EOE?EOOEOOOO?OE?EOOOOEEEO?EOEE?OEEEEOOOEOEOEOE","EOEEEOOEOO??OOEEEOO?O??EOEEOEE?O?EEEOOOEOEOEOE","EOEEEO?EOOOOOOEEEOOO?EEEOEEOEEEO???EOOOEOE?EOE","EOEE?OOEOOO?OOEEEOOOOEE?OEE?EEEOEEEEOOOEOE?E?E","OEOOOEE?EEEEEEOOO?E??OOOEOOE?OOEOOOOEEE?EOEOEO","OEOOOE?OEE?E?EOOOEEE?OOOEOOEOOOEOOO?EE?OEOEOEO","OEOOO?EOEEEEEEOOOE?E?OOOEO??O?OEOOOOEEE?EOE?EO","EOEEE?OEOOOOO?EE?OOOOEEEOEEOEEEOEEEEOOOEOEOEOE","OEOOOEEOEEEE??OOO??EE?OOEOOEO?OEOOOOEEEOEOEOEO","EOEE??OEOOOOOOEEEOOOOEEEOEEOEEEOE??EOOO?OEO?OE","OEO?OEEOEEEEEEOO?E?EEOOO?OOEOOOEOOOOEEEOEOEOEO","EOEEEOO?OOO?OOEE?OOOO?E?OE??EEEOEEEEO?OEO?OEOE","OE?OOEEOEE?EEEOOOEEEEOOOEOOEOOOEOO?OEEEOEOEO??","EO?EEOOEOOOOOOEEEOOO?EEEOEE??EEOEEE?OOOEOEOEOE"}
Returns: {0, 1, 0, 5, 0, 6, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 17, 0, 18, 0, 19, 0, 20, 0, 24, 0, 27, 0, 31, 0, 36, 0, 37, 0, 38, 0, 40, 0, 42, 0, 44, 2, 1, 3, 1, 4, 1, 7, 1, 14, 1, 15, 1, 16, 1, 21, 1, 22, 1, 23, 1, 25, 1, 26, 1, 28, 1, 29, 1, 30, 1, 32, 1, 33, 1, 34, 1, 35, 1, 39, 1, 41, 1, 43, 1, 45, 1 }
{"E?EE??EEO?E??????E","??E????EO?????E?OE","???E???EOEE?E?????","EE?????EO????E???E","E????O??O???E?E?OE","OOOOOE???OOE??????","????EOEE??E??EEO??","??EEE?E?OE?O?E?O?E","?O??O?OO??OEO?O???","???E?????EEOE?EO??","?E??E????E????EO??","O?O???OO??OE????EO","?EEEE???OE?OE?EO??","EE????EE?E????E?O?","EE?????E?EE?EEEO?E","O?O??????OOEO????O","?OOO???O????OOOEE?","EEEE?OE?OE?OEEE?O?"}
Returns: {0, 5, 0, 8, 0, 11, 0, 15, 0, 16, 1, 5, 2, 5, 3, 5, 4, 5, 6, 5, 7, 5, 9, 5, 10, 5, 12, 5, 13, 5, 14, 5, 17, 5 }
{"??","??"}
Returns: {0, 1 }
{"E???E?EOOO?O???O??EOE???O???EO","?EEEE??OO??OE????E???E?OOEOE?O","??EEE?E?OO???OE?E???E?OO?EO?EO","?E??EEE?O??O?O???E??EE?O?E?EE?","???????OO?O?E???E?????O???OE??","???????O??OO???O?EEO?E????????","EE???EEO?OOO?????EEO?EOO????E?","???OO??EEE????O?O???????EO?OO?","??O???OEE???OE?EO?O?O?E??OE??E","O??OOOOE?EE?OEOE?OOE?OE???E?OE","O?O???OE?E???EO?????OO???O????","O????OOEE???O???????OOE??O????","EEEE??E?O??OEOE?EEE?????OE?EEO","?O????O?EE???EO??O????EE???O??","EEEE?E?O??O?E?EO?????E?OOE?EE?","???O????EEEEOE??O?OEO???E?????","?EEEE????OO?E?EOEEEOE???????E?","??EEEE??O??O?OE?E???EE?OOE?E??","EEEE???OO??O??????EOE???OEOEE?","?OO?O?O?EE?E???????EOO??E?EO??","?E?E?E?OOO??E??O????E?OOO???EO","??EE?E?O??OO?OE?????E?O???O?EO","??O??O??EEEE?E?E?O?????E??E?O?","??O??OO?EEE?O?O??????????O???E","O?????OE?EE???O?O??E?OEE???O??","??EEE????O?OEO?O?EEO?EOOO?OEE?","??OOO???EE?EOE???O??O??E?O?O??","E?E?EE???OOO???O?EE??EOO??O???","EEE?E?EOO?O?EO??E?EOE???OE????","O??????E?EE?????O???O?E?????O?"}
Returns: {0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 13, 0, 15, 0, 19, 0, 22, 0, 23, 0, 24, 0, 26, 0, 29, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 12, 7, 14, 7, 16, 7, 17, 7, 18, 7, 20, 7, 21, 7, 25, 7, 27, 7, 28, 7 }
{"EOOEEOOOOEEEOOEOO","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE","EOOEEOOOOEEEOOEOO","EOOEEOOOOEEEOOEOO","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE","EOOEEOOOOEEEOOEOO","EOOEEOOOOEEEOOEOO","EOOEEOOOOEEE?OEOO","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE","EOOEEOOOOEEEOOEOO","OEEOOEEEEOOOEEOEE","OEEOOEEEEOOOEEOEE"}
Returns: {0, 1, 0, 2, 0, 5, 0, 6, 0, 7, 0, 8, 0, 12, 0, 13, 0, 15, 0, 16, 3, 1, 4, 1, 9, 1, 10, 1, 11, 1, 14, 1 }
{"E?O?OOOEO?EEOEOE?OOOEOOEO?OEOE?EO?EEEE?EE","OE??EEEOEEOOEOEOEEE??EE?EEEO??EOEEOOO?E?O","OEEOEEEOEEO?EOEOEEEEOE?OEEEOEOEO???OOOEOO","E?OEOOOEO?EE?EO?OOO?EOOEOOOEOEO?OOEEEE?EE","OEEOEE?OE?OOE?EO?EEEOEEOEEEOEO?OEEOOOOEOO","OEEOEEEOEEOO?OEO?EEEOEEOEEEOEOEOEE??O?EOO","OE?OEEEO?EOOEOEO?EEEOE?OEEEOE??OE?OOOOE??","EOO?OOOEOOE??E??OOOOEOOEOO?EO?OEOOE?EE?EE","OEEOEEE?E?OOEOEOEEE?OEEOEEEOEOE?EEO??OEOO","??EOE?EOEEOOEOEOEEEEOEE?E??OEOEOEE?OOOEOO","EO?EOOOEO?EEOE?EOOO??OOEOOOEOEOEO??EEEO?E","EOO?OOOEO?EEOE?EOOOO?OO?O?OEOE?E?OEEE?OEE","O?EOEE?OEEOOEOEOEEEEOEEOEEEOEOEOEE?OO?EOO","EOO?OOOE??EEO?OEOO??EOOEOOO?OEO??OE?EEOEE","?E?OEEEOEEO??OEOE?EEOEEOEEEOEOEOEEOO??EOO","EOO?OOOEOO?EOE?EO?O?EOOEOOOEOEOEOOEE?EO?E","OE?OEEEOEEOOEOEOEEEE?EE?EEEOEOEOEEOOOOEOO","?EEOE?EO?EOOEOE?EEE?OEEOEEEOEOEOEEOOOOEO?","OEEO?EEOEEOOEOEO?E??OE?OEEEOEOEOEEOOOOEO?","O?EOE?E?E???EOEOEEEEOEEOEEEOEOEOEEO?OO?OO","E??EOO?E??EE???EOOO?EOO??OOE??OEOOE?EEOEE","OEEOEEE?EEO??O?OEEEEOEEO?EEOEOEO??OOOO?OO","OEEOEE?OEEOOEOEOEEEEOEE?EEEOEOEOEEO??OEOO","EOOE?OO?O?EEOEOEOOOO?OOEOOOE?EOEOOEEEE?EE","???OE?EOEEO??O?OE??EOEE?E?EOEOEOE?OO?O?OO","OEEOEEEOE??OE?EOEEEEO?E?EEEOEOEOE?O???EOO","OEE?E??O?EOOEO??EEE?OEEOEEEOEO?OE?OOOOE??","EOOEO?OEOOEEOEOEOO?OEOOEOOO??E?EOOE?EEO?E","O?EOEEE?EEOO?OEOE??E?E?O?EEO??EOE??OOOEOO","EO?EOO?EOOEEOEOEO??OEOO???OEO??EOOE?EEO?E","OEEOEEEOEEOOEOEOEE?EOEEOEEEOEO?OE?OOOOE?O","?OOEOOO?OOEEO?OEOO?OEOOEOOO?O?OEOOEEE?OEE","OEEOE?EOEEOOEOEO??EE?EE?EEEOEO?O?EO?OOE?O","OEEOEEEOEEOOEOEO?EEE?EEOEEEOEO?OE?OO?O?O?","EOOEOOOEOO?EO?OEOOOOE?O?OOOEOEOEOOEEEEOEE","EO??OOOEOOE?OEOEOOOOEOOEO?O?OEOEOOEEE?OEE","EOOE?OOEOOE?OEO?OOOOEOOE?O?E??OEOOEEEEO??","EOOEO?OEOOE?O?OEOOOOEOOEOOOEOEOEOOE?EEOEE","OEE?EEEOEEOO?OEOEEEEOEEO?EEOEOEO?EOO?OEOO","EOOEOOOEOOEE?EOEOOOOEOOE?O?EOEOE?OEEEEOE?","EOOEOOOEOO?E?EOEOOOOEOO??OOE?EO?OOEEEEOE?"}
Returns: {0, 1, 0, 2, 0, 4, 0, 5, 0, 6, 0, 8, 0, 9, 0, 12, 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, 0, 21, 0, 22, 0, 24, 0, 25, 0, 26, 0, 28, 0, 30, 0, 32, 0, 33, 0, 38, 3, 1, 7, 1, 10, 1, 11, 1, 13, 1, 15, 1, 20, 1, 23, 1, 27, 1, 29, 1, 31, 1, 34, 1, 35, 1, 36, 1, 37, 1, 39, 1, 40, 1 }
{"EE????OOO","???EE???O","?O??OE???","?E?E??O?O","??OE?????","O??O????E","OO??O?E??","??EO??E??","???????E?"}
Returns: {0, 2, 0, 5, 0, 6, 0, 7, 0, 8, 1, 2, 3, 2, 4, 2 }
{"??","E?"}
Returns: {-1 }
{"??E??","O???O","?????","?O???","E????"}
Returns: {0, 1, 2, 1, 3, 1, 4, 1 }
{"?????????????","?????????????","?????????????","?????????????","????????E????","????O???O??O?","?????????????","?????????????","?????????????","???O?????????","??????????EO?","?E???????????","????????O????"}
Returns: {0, 1, 0, 3, 0, 4, 0, 7, 0, 8, 0, 11, 2, 1, 5, 1, 6, 1, 9, 1, 10, 1, 12, 1 }
{"??????????????","??????????????","???E??????????","???????E??????","?????????O????","??????E???????","???O??????????","??????????????","??????????????","??????????????","??????????????","??????????????","????O?????????","?????O????????"}
Returns: {0, 1, 0, 4, 0, 5, 0, 6, 0, 10, 2, 1, 3, 1, 7, 1, 8, 1, 9, 1, 11, 1, 12, 1, 13, 1 }
{"E?OO??EEOO?O?EOEOE?OEEEOEEEEEE??OOEOO?EO?OOEEE","???OOOEEO?E?OEOE?EEOEEE?EE?EE?E?EEE?OO?OE?OEEE","OOE?EEOOEEO??O?OE?OEOOOE?OO?O?OEEE?EEEO?OE?OOO","OOEEEEOOEEO?EOEOEOOEOO?EOOOOOOOE?EOEEEOEOEEO?O","OOEE?E??E?OE?OEO?OOE?OOEOO?OO?OE?EOEEEOEO?EO?O","?O??EEOOE??EE???EOOEOO?EOO??O?OEE?OEE?OEOEEOOO","E?OOOOE?OOE?O??EOEEO?EEOEEEEEEEO??EOOOE?E?OEEE","EEOOO?EEOO?OOEOE?EEOE????EEEEE?OOOEOO??O?OO?EE","O??E??O?????EO?OE?OEOOO?OOOOO?OEE?OEEEO?OEE?OO","OOEE?E???E?E?O?O?OOEOO?E??OOOOO?EEOE?EOEOEE?OO","EEOOOO?EOOEOOEO?O?EOEE?O??EEEEEOOO????EOEO?E??","???E?EOOEEOEEOEO???EOOOEOOOOOOOE?EOE?EO?OE??OO","OOE?EEOOEEOEEOEOEOOE?OOE?O?OOOOEEE?E?EOEOE?O?O","EEOO??EEOOEO?EO?OEEOEEEOEEEEE??OOOEOOOEOE?OE??","OOEE??OOEEOEE?EOE?OEO?O?OOOO?O?EEEO??EOE?EEOOO","EE?OO?EEOOEOOEOEOE?OEEE?EEE??EEOO?EOOOE?EOOEEE","?OEEEEO?EEOE?O????OEO?O?OOOOOOO?EEOE??OEOE?OOO","?E?O??EEOOEO?EOE?EEOEEE?E?EE?E?OOO?OO???EOOEEE","EEOOOOEE?OEOOEO??E?OEEE???EEE?EO?OEOOO?OE?OEEE","OOEEEEOOE?O?EOEOEOOEOOOEOO?OOOOEEE?EEEOEOEEOOO","?EOOOOEEO??O?EOEO?EOEE??E??EE?EOOOE?OOEOEO??EE","??OOO?E?OOEOOE?EOE???EEOEEEE?EE?OOEOOO??E???EE","?EOOOOEEO?E??E??OEEOEEE??EEEEEEO?OEOOOEOEO?E??","OOEEE?O??EOEE???EOO?OOOEOO?OOOOEEEOEEEOEOEEOOO","EEOO?O?EOOEOOEO??EEO?EEO?E?E?EEOO??O?OE?EOOEEE","EEOO?OEE?OEO?EOEO???E?E?E???EEEO??E?O?EOEOOE??","EEO??O?EOO?O??OEOEEOEEEOEEEEEEEOOOEOOOE?EO?EEE","EEO?OOEEO?E?OEOEO?E??EEOEE??EEEO??E?O?EOEOOEEE","EEOOOOE?O?E??EOEOEEOEEEOEEEEE?EOEO?O??EOE?OEEE","?E?O??EE?OEOOE???EEO??EOE?E?E??O?OEOOOEOEO?EE?","?EO??OEEOOEOOE?E???OEEE?EEE?EEEOOO???OE?EOOEE?","?OEE??O?EEOEEO?OEOOE??O?OOOO?OOEEEOE???EOEEO?O","??EEEEO?EE?E?OEOEOO?OO?EO??OOOOEE?OE?E?EOEEOO?","OOEE?E??EEOE?OE?EOOE?OOEOOOO???EEEOEE?OEOEEO?O","???OOOEEOO?OOEO??EEOEE?O?E?E??EOOO?OOO?OEOOE?E","?O??EE?OEEOEEO?OEOOE?O?EO?OO?OOEEEOEEE?EOE?OOO","O?EEEE???EOEEOEOEOO?O??EOOOOOOEEEEO?EE?EOEEOO?","?OEE??OOE?OEEOEO??OEOO?EOO?OOO??E?EE?EOE??EOOO","EEOOO?E?OOE?OEO?OEEOE?E?E?E?EE?OO?EOOO?OEOOE??","OOEEEE?OEEOEEOE??OOEOOOEOO?OOOO??EOE?EOEOEEOOO","EEOOOOE??OEOO?OEOEE?EEEOE?EEEEE?OOEOOO?O?OOEEE","OO?EEEOOEEOEE??OEOOE?OO?OOOOOO????OEEEO??EE???","??EEEE?OEEO?????????OOOEOO?OOOOE?E????OEO??O??","EEOO?O??OOEOOEOEO?EO???OEEEEEEEOOOEOOO??EOOEEE","EEOOOOEEOOEOO?OE??EOEEE?EEEE?EEOOOE?O???EOOEEE","?E?O??EEO?EOOEO?O?EO?EEOEEE??EEOOO??OOEOE???E?"}
Returns: {-1 }
{"???OE???????","????E???O???","?O???E????O?","????O???????","??O??O???OE?","?O??????????","???????O??E?","???????E???O","????????????","??????O?E???","??????E???E?","??????????EE"}
Returns: {0, 2, 0, 3, 0, 5, 0, 7, 0, 8, 0, 9, 1, 2, 4, 2, 6, 2, 10, 2, 11, 2 }
{"??E?E?O?????O?EE??OEE?","EE??EOOOE??OO?E?EO????","E?EO?O????OOO??EEOOE??","???????E?O????OOO?EO?O","?EEOE?O?E??O??????????","??O?O?EEOOEE?EO???EOOO","?O??OE??????EE??O??O??","????O??EO???E?O??E??OO","EEE?EOOO?EO?OO?E??????","EEEOE??OE??OOOE????E??","?OOE????OO???EO?O??OO?","?O??O?E??OEEEEOOO????O","OOOE?E????E?E?OO?EEO??","O???O?E??O?E?EOO??E??O","????E?O?E?OO?OEE?OO?E?","E??OE?OO?E??OOEEEOO?E?","?E?OEOO?EEO?O??EEO?E?E","O???OE?EO???EE???EE?OO","??OEOEEE????E??O??????","?E?O???????OO????OOE?E","?EE??O?O?EOO???E??E???","?????O????OO???E?O??E?"}
Returns: {-1 }
{"?O?E??EOOOEOE????EEO?EEEO?OE","OEE?EOOEEEOEOEO?EOO?OO??EE?O","OEEOEOOE?EOEOEO???OEOOOOE??O","E?OEO?EO???OEOEOOEEOEE??O?O?","??EOEOO?EE?E?E?EEOO???O?EE?O","EOOEOE??OOE?E??OO?EO?E?E??O?","EO?EOE?OO?EO??EOOEEOEE?E?OOE","??EOEOOEE?OEOEOEEOOE?OOO?EEO","?EEE?EO???OE??OE?O?EO?O?E??O","O?EOEOO?EE?EOEO??O?EOOOOEEEO","E????EEOOOEO??EOO?E?EEEEOOO?","OE??EOOEEEOE?EOEE?O?OOO?EE?O","E?OE?EEOOOEO?O?O??E?EE??OOOE","?EEOE?OEEEOEOEOEEOOEOOO??EEO","EOOEOE?OOOEOEOEOO?????E?OOOE","O?EOEOOEE??EOE?EE?OEOOO?EE?O","?E?O??OEE??EOEO?EO?E?OOO?E?O","EOOEOEEOO?EO?OEOOEEOE??EOOO?","E?OEO??OO?EOEOEOOEEOE??EOOOE","OEEOE?OEE?O?OEOE?OO?OO???EE?","EOOE?EE?OO????EO?E?OEEEEOOOE","EOO?OE?OOO?OE?EOOEEOE?E??OOE","EOO?OE??OO?OEO?OOEEOEEEE?OOE","EOOE?EE?O?EO?EE?OEEOEEEE???E","OE??EOO?EEOE?EOEEOOEOO?OEEEO","OEEOE?OEEEO?OEO?EO?EOO?O?E?O","OEEOE??E?EOEOE?EE????OO???E?","?OOEOEEOOO?OE?E?OEEOEE?E?OOE"}
Returns: {-1 }
{"E?OOEOE?","O????E??","?EE?OEOE","O??E??O?","EOO?????","?E?E????","?O?O?OE?","O?EE?EO?"}
Returns: {0, 1, 0, 2, 0, 3, 0, 5, 0, 7, 4, 1, 6, 1 }
{"???????????????????????E??????????????E?????","????E???E??????????????E?????????O?????E????","???E???????OE??E????E??????????E?????????O??","????????????????EO??E????????????????O??????","??O???????E????????????E???E?O???????EE????E","??????????E???????????????????O??O??E?EEE???","???????????O??O??????????????????????????O??","??????????????O?????????O?????????E????????O","??OEE????OE?????????????????????E???????????","?????????E????O??????????O??????????????????","?E???????O??????????O???E?????????????E???O?","????????????OE????O????????????????????EE???","O??E?O????O?????????????????OE?????????????O","????????????O????E??????????E????????E?E????","????????E???????????O????E???????O?E????????","???E???????O???????????????O???????????????O","???????????O??????????O???OO?????EEOO???O???","????????????????O??O????E????O???O??????????","?O?????????????E????????????OE?E?E??????????","?????????????????????O????O??????E??????????","O???????????????E???????????O??????????O????","?E??????????O?E?????O?????????????????????O?","????E?O?????????O?????????EE??????????????O?","??O??E?????????O?E?????????E????????????????","E?????O??O???????????????????O???OO?E???????","?????E????????E???????????????O?EO?????E?E??","?????E????????????????E?????E???E???EEE?????","E???????E??????O????????E???E???????????????","?????????????????E?O??????????O??????????E??","???????????????E????????????????????????????","O???????????????????????????????????????????","?O?E?????????????OE?E???O???O??E?????????O??","??????????E??E??O???O?????????????????????O?","?????????????????O???O??O????E???E?O???O????","???????E????E?????E???O???????????????O?O???","????????????????????????????E?????OE?E??EE??","????????????O?E???????E??E??????????????????","??????????E???E?O???O??E????????????????????","?E???????O?????O???????EE?????O????????E????","?????????????EE????????????????O???E????????","??????????????????O???????E???O????E????????","????????????????O???O??E??????O???O?????????","O???????????????E???E????????E???????O?????O","??O???????????????OO?????????????????E??????"}
Returns: {-1 }
{"EOOEOE?OEOEEOEOEE?EEE?EEEEOOEOEEEEEE","OE?OEOEEOE?OEOEOOEO?OEOOOOEE??O?OOOO","OEEO?OEEOEOOEOEOOEOOOEOO?OEEOEOOOOOO","EOOE?EOOE??EOEOEEOEEE?EE?EOOEOEEEE?E","OEEOEO?EOEOOEOEO?E?OOEOOOOEEOEOOOOOO","?OOEOEOO?OEEOEOEEO?EEOEEEEOOEOEEE??E","O??OEOEEOEOO??EOOEOOOEOOOOEEOEO?OOOO","OEEOEOEE?EOOEOEOOEOOOEOO?OEEOEOOOOOO","E?OEOEOOEOE?OEOEE?EEEOE?EE?OEO?EEEEE","OEE??OEEOEO?EOEO?E?O?EOOOOE?OE?OOOO?","EO??OE?OEOEEEEOEEOEEEOEEEEO?E?EEEEEE","E?OEOEOOEOEEOEOEEOEEEOE?EEOO?OEEEE?E","OEEOEOEEOEOOEOEOO?O??E?OOOEEOEOOOOOO","EOOEOEOO?OEEOEOEE?EEEOEEEEOOEOEEEEEE","EEEOEO?EOEOOEOEOO?OOOE?OOOEEOEOOOOOO","EOOEOEOO?OEEOEOEEOEEEOEEE?OOE?E?EEEE","EO?E?EO?EOEEO??EEOEEEOEEEEOOEOEEEEEE","OEEOEOEE?E?OEOEOO?O?OEO?O?EEOEO?O?OO","?OO?OE?OEOEEOE?EEOEEEOEEEEOOEOEEEEEE","EOO?OEOO?OEEO?O?EOEEEOEEEEOOEOEEEEEE","EOOEOEOEEOE?OEOE?OEE?OEEEEOO?OEEEEEE","OEEOEOEEOEO?EO?OOEOO??OOOOEEOE?OOO?O","EO?EOEOOEOE?OEOEEOEEEOEEEEO?EOEEEEEE","EOOEOEOOEOEEOEOEEOEEEOE??EOOEOEEEE?E","EOOEOEOOEOEEOEOEEOEEE??E?EOOEO?EEEEE","EOOEOEOOEO?EOEOEEOE?EOEEEEOOEOEEEEEE","OEEO??EEOEOOEOEOO?OO??O?OOEEOEOOOO??","OEEOEOEEOEOO?O?OOEOOOEOOOOE?OEOOOOOO","EOOEOEO?EO?EOEOEEOEEEOE?EEOOEOE?EEEE","OEEOEOEE?EOOEOE?OEOOOEOOOOEE??O?OOO?","EOO?OE?OEOEEOEOEEOEEE?EE?EOOEOEEEE?E","EOO?OEO?EOEEOEOEEO?EEOEEEEOOEOEEEE?E","EOOEOEO?EOEEOEOEEOEEEO?EEEOOEOEE?EEE","EOOEOE?OEOEEOEOEEOEEEOEEEEOOEOEEEEEE","?OOEOEOOEO?EOEOEEOEEEOEEEEOOEOEEEEEE","EOOEOEOOEOEEOEOEEOEEEOEEEEOOEOEEEEEE"}
Returns: {-1 }
{"EOO?E?EEEO?EE?O?OEOE","OEE??O?O?E??OOEOEO?O","OEEOOO?OO?EOOOE?EEE?","E??EE???E?OEE??EOEOE","EOOEEE?E??OE???EOEOE","E?O??E????OEEEOE?EOE","EOOEEEE?EOOEEEOEOEOE","??O?EEE?EO?EEE??OEOE","EO?EEEEEEOO?E?O?O?OE","OEEOO?OOOEEO?OE?EOE?","O?EOOOOOO?EO?OE?EOE?","E?OEE?E?EOO?EEO?OEOE","EOOEEEE?EOOEE??EOE?E","?OOEEEEEE??E?EOE??OE","OEEOOO?O?EEOO???EOEO","EOO?EEEE?OOEEEOEOEO?","OEEOOOOOOEEOO?E?EOEO","EOOE?EEE?OOE??OEOEOE","OEE?OOO?OE?OOO?OEOEO","??OE?E??EOOEEE?EOEO?"}
Returns: {-1 }
{"E???OOE???EO??E?????E??","?EE?O?EOO????O???E????O","E?EO??EOOO?O???????OEO?","O????EOE????E?OO??E???E","?OO????E????E???????OEE","??O?????EEOE?E?O??E?OEE","?E??????OO??O??????O??O","??OE????E??EE?O?E?EEO?E","O???E??EEE???E?O???????","?O???E???EO?EE??E?E?O??","?E?O?O??O?E??OEEO?O??O?","?OO?EE???EO??EO??O??OE?","?????EO??EO????OEO?EO??","O?OE??OE???EE?O?E???O??","EEE??OE?O??????E?E??EOO","EE????????E??O???E??EO?","?O?E?EO?E?OEEE?OE?E??E?","E?????E???EO???E??O?E?O","?O??E?OE?????E???O???E?","?OOEE?O??E??EEOOE?E?OE?","E??O?OE?O????OEEOE????O","??O?????E????EOO?O????E","OOO?E??E??O?????E?EEO?E"}
Returns: {0, 3, 0, 4, 0, 5, 0, 7, 0, 8, 0, 9, 0, 11, 0, 12, 0, 13, 0, 16, 0, 18, 0, 19, 0, 21, 0, 22, 1, 3, 2, 3, 6, 3, 10, 3, 14, 3, 15, 3, 17, 3, 20, 3 }
{"?E??OEE????EEEO????E?OOE??OE?OO?EO??EE?EO????E??","?E??O??O????EE?EEE??OOOE?EOEOOOE?OE?EEE?O?OO??OE","???EEO???E???OE?O????????OE?EE?O???O????EO??E?E?","?OE???O??EO?OO???OOO????EO??E???O??O???OEO??E?EO","O?????O??EOOO????OO?????E??O??EOO??OOO?O???E???O","????O????O?EE?OEE???OOOEO?????OE?O?EEEEEOEO??E??","E????EEOO??E??O?E??EO?O??EOEOO??E???????????O???","?O???O?E?E??O?EO??OOE?EO?O?OEE?O??OO???O??????E?","??E?????E???O??O??O??EEOE?E???E?OEO??OO?EO?EEO??","O??E????E?O??O?O?OOOE??OE?E??E?O??OO??OO?OEE??EO","EE???EE?O?E??E???E??OO?EOEO?OO??EOEE?E?EOEO?OEO?","E?O?OE??????E?OEE?EEOOOE?EO??O?E????E?EEOEOOO???","?E?OOEEOO??EE?O???E?OO???EOEO???EO??E??EO?OOOEO?","?EO?O???O???EE?E?????O?E???E?OOE???????E???O?E?E","O???E?O??E????EOO??O?E??E??OE?EO??OEOOO?E??E?O??","??OO???O???E???EE?EE??OEOEOEOO?E???EEEEE??O?O??E","?E??O?EO??EEEE?E??EEO??????E?OOEEOEEEEE???O?O?O?","??OOEEEOO??EE??E???EO?OE????O?O?EOEEEEE?O?O??EO?","EEOOOE?O????E????E??O?O?OEO??O??E?E?EE??OE?O????","??OO??E??O?EE????E?EOOO??EO????EEO?EE?EEO??O????","OO????O????O??E???OO??????EO?E??O????O??EO??????","OO??EOO?EE????EO????EEE??????EE?????O?O??????O??","O???E?OE??OO?O??OO?E?E??EOE??EEO?EE?O???E?E?E??O","E??O??E??O??EEOE??EE?OOEO?O?OO?EE?EEE??E??OOOE??","?????OO?E????OEOO??OE?EOE?E??EE???OO???OE?????E?","EEOOOE?O???E????E??EO??E??O????EE?????E???E?O???","???E?OO?EE?OOO?O??O?E???E?E?E?E?OEOO????E???????","EE???EE?OO????O?E??EO???OEO?OO??EOE??E???EOOO?OE","OO?E?OO????O?OEO??O?EEE?EO?O?EE???O?O??O?O?E?OE?","?O???OO?EEO???EO???OE??OEOEOE?E?O?O???O???EEEOE?","OO???OOEE??O???????O??E???EOE??O??O?????????E?EO","?EOOOE???OE??E??E??E?OOE?EOE?E???OE??E?E???OOE??","?E?OO???O?EEE??EE?E????E???????E??E?E?E?OEO???OE","OO???OO??EO?O??????O??E?E??OEE?OO?O??O?????E???O","?EO???E?OOE?E?O?E??EO??EO??EOO?E???EEEEEO?O??EO?","EE???EEOOO???EO??EE??OO?O?OE?O??E?EEEEEE????O?O?","E???O???O??E??O??E?E???EO??EO???E?????EE???O?EOE","EE?OOE??O?EEEEO?E?E??O???EOEOO??EO?EEEEEO?O???O?","??OOO????OE???OE?E????OE???EOO?E?O??E?E??E?OOE?E","?E??O??OO???E??E??????OE???E??O?EO?EE?EEO????E??","OO?E?O?E????O??O?????EE????O???????OOO???O??E??O","??O???E???E?EE?E???EO???O?OE??OE?O??EEE?O??O?EOE","?OEEE?OE???O??EOO?O?E???E?????E?O??OO??O????E???","OO?E?OOEE?O?OO?O?????E?O?O??E?E?OEOOO?O?E?????EO","EO???O?E?EOOOOE????EEE??EOEO??E????O?OOOE?EE??EO","?EOO???OOOE??EO?E?EEOOO?????O?OEE??EEEE??EOO??O?","?O??E?OEE??O?????O??????E??OEE??OE???????O????E?","E?????????E?E???EEE???O??E????O??O?EE???OE??OE??"}
Returns: {-1 }
{"?EEEOEEOEOOEOOOOOEO","EEEEOEEO?O??OO?OOEO","E?EEOEEOEOOE?OOOOEO","??EEOEEOE?OEOOOOOEO","OOOOEOOEOEEOEEEEEOE","?EEEOEEEEO?EOOOOOEO","EEEEOEEOEOOEOO?OOEO","OOOOE?OE?EEOEEEEEOE","E?EEOEEOEOOEOOOOOEO","OOOOEO?EOEE?EEEEEOE","OOOOEOOEOEEOEEEE?OE","E?EEOEEOEOOEOOOOOEO","OOOOEOOEO?EOEEEEEOE","OOOOEOOEOEEOEEE?EOE","OOOOEOOEOEEOEEEEEOE","OOOOEOOE?EEOEEEEEOE","OOOO?OOEOEE?EEEE?OE","EE?EOEEOEOOEOOOOOE?","OOOOEOOEO?EOEEEEEOE"}
Returns: {-1 }
{"??OEOEEOOE???E????E?E?E???????O?E??E?OE","OEE??O?E?OO?EOEE?O?OO?O??O??EE??OEEO?EO","?E???????OOEEOEE???OO??EE??O?EEEOE???EO","??O?O?E???E???OO??O?E??????EO???E??EEOE","?E????O?E?????E?E?E?O??????O???E?EE??EO","?O???E???EE?OEOOOEO??OE????E?OOOEO????E","E??EOEE????O??O???O??OE?OE?EOOOOE?O??O?","??EO??OE???EE????OEO?EOE??O?E??E??E?O?O","O?????OE??OE???E??E?O?O?????E????E?O???","??O??E??O?EO?EO??EO?E?E?OE?E??OO?????OE","?O?EOEE??E?O?????E?EE??OO???O????O?E??E","O???E?OE???EEO?E??E??EO?EOO???E?O??O?EO","??EO?OOEE??E?O?EE???????EOOOE?E??EEOO??","EOO?OEEO???OO??OO?????E?O?E??O???OO?EOE","O???E??EE?OEE???EOE?O?OE?OO????EO?EOOEO","?EE??OO????EE?EE???OOEOEE?OOE??E?????E?","O?EOE??E??????E??O?OOEO????OEE?E???OO?O","E??EOEEO??E???O?O?O?E?EOO??EO??O?O??E?E","?EEOEO??E???EOE?E???O???EOO?EE??OE??OEO","EO??O?E?OE??OE??OE??E???O?EEO?O??OOE???","E??EO?E??E?O?E?OO?O???EOO????OOOEOOEE??","?E?O??O?E?OE?OE?E??EO??E??????E?????O?O","?O?E???OOEE?OEO????E???O?E?EO?OO???E??E","O??O?OO?EO???O?EEO?O?EOE?OO?EEEEOE?O?EO","?E?OE?OEE???E?E??OE?OE??????EEE?O??????","EO??????O?E?O??O??OE????EE?E?O??E?OEE??","E?OE???O???OOEO???OEE??OO?EEO???EO??EOE","????O?E??EE??E?OO?OEEO?OO???OO???O?EE??","OE??E?O??OO?EO?EEOE?OE?EEOO???EE?E???EO","O??????EE????OE??????EOE??OO??E?O??O?E?","?EEOE??EEO?EE?EEEO?OO?O????OE?E??EE???O","OE?OE??????????EE???O??EEO?OE??EO?EOOE?","??O??EE?O????E???E???O??O???OOO????EE??","????????????E???EO?O?E?EEOO???????E?O??","O?EO???E?????????O?OO?OE?O?O??EE?E?O??O","?OOE??EOOE?OOEOO???E??????E?O?OOEO?E?OE","?O????E?O?EO??????O??O??O?EEO?O??OO??OE","?EEOE?OE?E?EEO??E????EOE???OE????EE?OEO","?O???????EE?OE?????E?????E?E?O??E?OE?O?"}
Returns: {-1 }
{"E?E?EEO??E??O??E?EEOOE?","E?EEE??OOEE??OE??EE?OE?","????E?O????E?OEE?EE?O??","???E?O??E?OO??OOEO?E??O","??EO???OOEEE???EO?EO?E?","E?EO??O?OEEEOO???EE?O?E","O???????EOOOE?OO?OO?E??","????O??????O?EOO?OOEE?O","?OOE??EE???O???OEO?E??O","?E?O???O??EEO?E??E??OEE","???O???OOE?E???E?EEOOEE","?E??EE???EE?OOEE??E????","O??EO?????O??EO??O?????","OOO?OOE????OEE??EO????O","???OEE??OEE?OO??O????E?","EEE???OOO?E?OO?EO??OO?E","????O?????OO???????EE??","?????EOO?E?EO?EEOEE?OE?","?EEOEEO???EEO??EOE?O??E","OOO??OE?E?OO?????O?EE?O","O?OE?OEEE?O??E??EO?EEO?","EE?O?E??OEEE?OE?OE?O??E","EE?O?E?OOEE??OEEO?E????"}
Returns: {-1 }
{"?EE?EEEOOEEEE?OEE?OO","?E?O?EEO?EEEE?O?EE?O","EEEOE?E?OEEE??OEEEOO","O?OEO?OEEOOO?EE?OO??","E?EOEEE?OEEE?OOE?E??","EEE?EE?OOEE?E?OEEEOO","EE??EEEOOEEEE?O?EEOO","O?O?O???E?OOOEEOO??E","OOO?OEOEEOOO??EOO???","?EEOE?EOO?E?EO?E??O?","EEEO???OO??EE?EEEEOO","EEEO?EEOOEEEE?O??EO?","EEE??EE?O??EE??EEEOO","OOOEOOOEEO?OO?EOOOE?","O??E?OO??OOOO??OO?EE","E?EOEEE?O???EOOEEE?O","?E?OEEE?OEEEE???EEO?","EEEOEEEO?EEEEOOEEEO?","?OOE?OOEEO?O?EEOOOEE","OOOEOOOE?O?OOEE??O?E"}
Returns: {-1 }
{"????O?O?EO?O?O??O?OOEE????O?EE??E","E?O?O?OO?O?O??O?O?OO?E????OOE????","OO?OEEE?OEO??E??????OO??O????OEO?","???E?????OEOOOO?OEOOEEE?E??O?E?E?","O?E?EEEE?EO??E????EEOO?OOE??O????","OOE??E?EOE??E?E??O?????OO?EE?????","OOE?EE?E?EO???E??O?E?O????EEOOEOO","O??OE?EE?????EEEE?E??OO??EE?OO???","EEO???OOEO?O??O?O?O?EEE??OOOE??E?","OOE?E??EOEO?EEE?EO???O???E??O????","E?O??OO????O?OO?OE?OEE??EOOOEE?EE","?O?OEEE?OEO????E??EE??O?OEEE?OE?O","OO??E????E?E????E?EEOOOO?E???O?OO","OOEOEE???EOE?EE??OE??????E??O?E??","O?E?E?E??E?EEE?EEO?E?O??O?EEO??OO","OO???E?EO?O??E??E???O??????EO?EOO","??E?E?E??E??EE?????EOOO??EE?OO???","???E??OO?OEOO???OEO?E?EEEOOOEEOE?","OOEOE?EE?EO????E????O?OO?EEEO?E?O","O?E??E?E?E?EE???EO???OO?O??E??E?O","??OE?OO??OE????OOEO?EEEEE??OEEOE?","??O??OOO????O?OOOEO?????EO?O?E??E","EEOEOO?O???????O?EOO??E??O??E??E?","?E?????OE?E?O??O?EO?EE?EE?OO?EOE?","?EO?????EOEOOOO??EO??E??EOO?E?OE?","?OE??????????E??EOE?O?OO??E???E?O","?OE?EEEEO?OE?EE?E??EO?O??????OEOO","???O?E?????E?E??EO??O??OOE?EOOEO?","E????OO?????OO?O??O?E????OO?????E","E???OO?O????OO?OOEO?E?E?E??O????E","O?EO?EE??EOEEE?EE??EOO?OO?EE??E??","????O??OEOE?OO????OOE??EEOOO??OE?","E???O?O??OE?OOO?O???EEEEE????EO??"}
Returns: {0, 2, 0, 4, 0, 5, 0, 6, 0, 7, 0, 9, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 18, 0, 19, 0, 25, 0, 26, 0, 27, 0, 30, 1, 2, 3, 2, 8, 2, 10, 2, 17, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 28, 2, 29, 2, 31, 2, 32, 2 }
{"E?O???????","??OE??O???","?O?OOE?EO?","??O??OOO?E","EEO??????E","O?EOOE??OO","????O?????","OOE???E???","???E?O????","EE????O?E?"}
Returns: {0, 2, 0, 5, 0, 6, 0, 7, 1, 2, 3, 2, 4, 2, 8, 2, 9, 2 }
{"EEE?OEEEOOE?EOOOOEO??E","E??EO??EO?EO?OOOO?OOOE","??EOO?EEOOEOEOO?OEOOOE","??OE?O??EE???EEEE?EE?O","OOOEEOOO?E?EOEEEEOE?EO","EE?OOEEE??EOEOO?OEOOOE","EEEOO?EE?OEOE?OOOEO?OE","E?EOOEEE??EOEO?O?E???E","O??EEO??EE?E??EEEOEE??","OOO?EO?OEE?EOEEE?OEEE?","EEEO??EEO?EO?OOOOEEOOE","OO?E?O?OE?O??EE?E?EEEO","EE?OOE??O?EO?OOO?EOOOE","OOOEEOOO??OEOE?EE?EEE?","OOOE?OE??EOE?EEEE??EEO","OOO?E??OEE?E?EEEEOEE?O","O?OEEOO?E?O?OEEE?OE?EO","?E?OO?EEO???????O??OOE","OO?EEOOO??O??EEEEOE??O","O???EOE?EEOE?EE?EOE?EO","OOOEE?OOE??EOEEEEOEE?O","EE?OOEE??OEOEOOOOEOO??"}
Returns: {-1 }
{"EE?O????","?E???OE?","??EO?O?E","?O??OE?O","???O???E","OO?EO???","EEEO???E","E?EO????"}
Returns: {0, 3, 0, 5, 1, 3, 2, 3, 4, 3, 6, 3, 7, 3 }
{"E??OEOE?E??????EE?EEEE?OOE???EOE","E??O?OEO??OEOE??EO?E???O?E???E?E","E?EOE??O??O?OEE?E?E???EOO?OOEE??","???EOE??OE?OE?O?O????OOEE?EE?O?O","?EE?EO????O?O????O?EEE?OO??O???E","OEO???O????OE?O??E??EOO?E???O?EO","?EE?EO?O?O??OE?E?O??EE??O?O?EE??","????O?OE???OEO?O?E??O?O?EOEE?OE?","EEEO?OEOE?O?OE??????EE?O??OOEE?E","?OO???OE?E????O?OEO?O????OE?O???","OO??OEO????O?O?OOE?O???EEOEE??E?","??E??O?OEOO???E??O???????E??EE?E","OO?E???EO??OE??O?EO???OEEO?E????","EE?O???O?????EEE?OEEEE?O?E?O?EOE","EE?OEOEE??O???EEEOE?EEEOO??O?E??","EEE?E??O?OOEO?EEEOEE????O?OO????","E?EO?OEO?O??OEE?EOE?E?E?O?O?EEO?","?OOE?EO???????????OOEOOE???EO??O","?E?OE?E??OOE???E???E??E?O???EE?E","E???E?EOE??E?E?EE??E?EE????OE?O?","?E?EE??OEO??????E???????OE?OE?O?","?????OEOEOOEOE??EOEE??????OOE???","??E??OEOE?OEOE??EOEEE????E?OE?OE","OOOE??OEOEEO??OOOEO?O?O?E??E?OE?","O?????OEOEEO?OOO??OOOO?EEOEEOOEO","??E???EOEOOE?EE??????E?O???OEEO?","?OOEOE??OE?OE??E?E?O??OE?O?E?OEO","OOOE?E???EEOEO?OOE?OOO?EE?EE?O?O","?E??EO?O??OE?EE?E?EEE???OEOOEE?E","?EE?E??O??OE?EE?EOEE??EOO??OEEO?","??O?OE?????OE?OOO??????EE??E??E?","EE?OEOE?E?O?OE?EEO?EE?E??E?EEE??"}
Returns: {-1 }
{"????E?E??O??????OE?????????O?O?OO????O????O???OO?","E????O?OEO?E??EE?EE??EO??OO?E?OOO?O????E????????O","??EE?EO???O?OO?O??????????E???EEE??EE???OE???????","?????E?E???????????O?OEO????OE?E??EE???O??????EE?","?EO???E???E?????O???????E????O?OO??O?????OO????O?","O?E??????????OO??OO???E?????O??EEOE??????????????","?????????O?EE????E?E??O??O???OOO?????????O????O??","???????????O????E??O??E??E?E??????E??E???EE??O??E","E?O?EO?E????EE???E?????EEO??EOO?????OO?E????O?OO?","?O???E?EO???O?????O?EO??????O?EE??E???????E??????","??????E????E????O??E?EO??O??EOOO?E????E???????O?O","E??????????EE?EE????O????OO???O??????????????E?O?","????EO?O????????O???OE?E?O????O???O?OO??E??OOE???","?E???O?O?O????E????????E?OOO???????O??E?E??OO???O","????E??????E???????E????EOO??O???E??O???EO??OE??O","?EOO??E?????????OE?E???EEO?OE????E??O??E????O????","???????????OOOO?E???EO????E??E?????EE???O????O?E?","EE??E?????E?E?EE?EE?OE?????????????O??????OO?E??O","?E???O??????E?????E???O????????O??????????O?OE??O","??O?EO??????E??EO????????O??E?O?OE???O???????????","??EEO??????O?O??EO?????O?E??OE?E?O????E?O?EE????E","?E?O?O??????E?????E?????E?????O?O???????E???O??O?","???????EOE????O???????EO??E?O??EEO???EO???E????E?","E?????E???E?E???????O?O??O?OE??????O???EEO?O???O?","??????EO?O?EE?E??E????O??O??????O?????EE???O?E???","O???????OEO?????EOO???E????E??E?EO??EE???????????","?OEE????O??????OE?OO?OE?OE?E??E???E??E???E??????E","??EE??O??E??OOO?EO???O?????E??E??O?????O?????????","????E?E????E??EEOE???????OOO?O????????E???O??????","O?EEO??????OO?O??O?O???O?EE??E??EO????????????EE?","???????E????O???E???????O?E????E????E??O????E?E?E","???EO?O????OOO???O??????????OEE??O?E???O?EE??OE??","????O?O????OO??????O?OE??E???E??EO????OOO????????","EEO??OE??OE??E??????????????E??????OOO???O??O?O?O","???E??O??E????O?E????????????E????????O?O?E????E?","???E?E??OE?OOOO????O??EO??????E?E????E???EE??O???","?????????????OO???O??O??O???????E??????O?E??EO?E?","??EE?EOE???????????????????E?E??E?????O?O??E???EE","??OO???O??????????EE???????OE??????????E??????O?O","??O?E??OE??E????OE?E??O??O?O?????E???OE????O??O??","???OE???E??E?E??????????E???????OE??????E??O?E?O?","?OE??E????O?????E????O????EEO??????E?????????O?E?","???E???EOE??????E????O?O?E????EEE?EE???O?EEEEO?EE","OOE?O???O?O?O?O???O????OOE??????EO?E??O?OEE????E?","?O?E?????EO????????O?????E??????E????E?????E???E?","????E??O???????????E?E?E?O?OE?O??E???O????????OOO","?OE?????????O???????E??O?????EEEEO??E???O????????","??E???????O??O???O???????????????O??????O??????E?","O?EE?E????O?O?O??O????E?O??E?????OE??E??????EO???"}
Returns: {-1 }
{"EOE", "OEO", "EOE" }
Returns: {0, 1, 2, 1 }
{"?OE", "O?O", "EO?" }
Returns: {0, 1, 2, 1 }