Problem Statement
We are given a maze which is a cube of NxNxN cells. We start at (1,1,1) and we move to (N,N,N), in each move visiting one of the three adjacents cells in the positive x, y or z directions. Each cell of the maze contains either a '(', ')' or '.'. A path is the sequence of cells visited during the journey. We intend to find the number of such paths that produce a valid parenthesized expression.
Periods can occur freely in an expression, and must be ignored while checking if an expression is properly paranthesized or not. A paranthesized expression is said to be valid only if it adheres to the following grammar (quotes for clarity):
<expr> ::= empty-string | "("<expr>")" | <expr>"." | <expr><expr>
e.g., "(())", "....", ".()." and "().(.)" are valid parathesized expressions.
The maze is given in a
(1,1,1), (1,1,2), ..., (1,1,N), (1,2,1), (1,2,2), ..., (1,N,N), (2,1,1), ..., (N,N,N)
Given the
Definition
- Class:
- BracketMaze
- Method:
- properPaths
- Parameters:
- String[], int
- Returns:
- int
- Method signature:
- int properPaths(String[] maze, int N)
- (be sure your method is public)
Constraints
- maze will contain between 1 and 50 elements, inclusive.
- Each element of maze will contain between 1 and 50 characters, inclusive.
- The maze when concatenated will contain exactly N^3 characters.
- Each character in maze will be '(', ')', or '.'.
- N will be between 1 and 13, inclusive.
Examples
{"()()()()"}
2
Returns: 2
There are two paths in this 2x2x2 cube. From the 3 possible moves in the beginning, you cannot go right directly which completes a "()" but all it's neighbours are ')', hence lead to an invalid expression. The other two possible moves lead to unique valid paths.
{")()()()("}
2
Returns: 0
{ "..........................." }
3
Returns: 90
{"..(....)"}
2
Returns: 2
{ "(.........................)"}
3
Returns: 90
{"()(..(()(()())()()(().)))()"}
3
Returns: 10
{"(.))(()().)().))(()).()))()()))..).())....())).).(","(.((.).(..)..((.(().).(()..(.)().((.)))())..))()))","(.)())))))..)((().)).)(.))).(()(()..(().)(()))))..",").)).()()..(.).(.)...).).)..).).(.)()..))....)...)",").(().((()..)(()"}
6
Returns: 30737
{".((.()(..).))(.)(().).)(()(..))((()...))()()...()(",".)...(..((.((..)().)(..()...)())).(.).)(...)().).)",").((.(((..(((.)((...().)."}
5
Returns: 1485
{".).(.)(.)(().()....))..((...))()(().)).().(((.()(.","(.(()(.))((())).)(...((.((().((()((..(((.).().)(..","))(.)...().))).())..).)).()()(..(.(.....)(.()())()",".)())(...(.()..(.)...))(()).)(())))(().(())(..()()",".)(.)()(((()(.))"}
6
Returns: 21034
{"..)((.()(.((.))(()(()))(.((..())()())()((()(((...)",".)))().)).(()().)))).....)(..)()))(..).)).()()(...","(..))))())(...)).....)(.()..)()).(((((((((()(.))()","()..(..(......(().()))()...())..)().)(.))....(.(((","())).)).().(((.)()..)(...))(.(...()((().())(((.).)",").((.))(.))(((((..)))....(.(..(((().)(..)))()))())","))))(.))(..(.).(()(....(.(.(.)(.)()().((..)(()(().","(.(())).()(().)(()((.(.((.())))))())(().(..)).))(.","(..((.)()..)..(()...(.))..().((.().())).)..()..))(",".).())..).).)...)(((.)).))).).))))).(..)(.(()..())",".(..())).))))(.()..)()()..(..(.))((().()...)))(..(",".))(.((.)()((.()(..))(.(().(.)))((..)...)(.).((..(","(()((...()).)..(..))(...((().).))(((.)))).(()()(()","(.)..))))()..)().()..))((...((.()(((.))()..)...).)",".(.((....)((())))).())(()())))..().)..)(..())(..)(","()).(.((())).(.)).)).(()..)())()().(.)(())(((..(.(",")(()((.)).))((())).))))).()((.)().()(.)()((().(()(","(..)()()(())..))..((()).().))().)).)(.(..).(((((()",")()..()(...(.(...)...(...(...)))())(.))(.)...((())",")..().)).)).(.(.).((.))).(.(((.))().(())()...).).."}
10
Returns: -1
{"(()).)))))(.(..)(..).))((.(..))...()))..(.)).(....",".()((.((..).)(...((.()))).().((())((())...(()())(.","..(...).(.(())))))).))...(((..).((...()())((()(...",").(.()).()(.).).()).)()(((..(.).().((.()).).)....(",".))()(......).()..))).)))..)().(.....)()()(.()((..",")(()).().)(..).()(.))).))().)()).((.)(.)(())))).((","(()))((.(().).)))((().()((().)....()..((.(.())).(.","))(..).)..(())..))).(.)..).((.((.(.((.)(..)()((((.",")()(.)(.)()(().)))).()()..(()(()()...()))..)))()))",").....)())).(()(...)((.)())..(..(.(.)).).).))(()((","(())))..)..))((()((((.).).).)))()(()(((..()(.(()..",".)(.)().)()))()(...)....(...))))(.()(().().((.))))",").(.))))(()..()((.()(.).)()(.()...()((((...)..((()",".()()...().()((()))()())().).)).)(.((.((...)())..(",")))(.()....))).((.(..()(.(.(."}
9
Returns: 21839706
{"(...)((((..).())..(.().).(...()))(.)).(.())...())(","))(.(..)).()))"}
4
Returns: 356
{".(..)())((()((()).())).))))).(((((.)..().((()(.)..",".)..(()..)).)."}
4
Returns: 78
{"((.).()((().)..))()(..)).)(((.))..)(.)()))..)).)((","(()(((((..(()(.).(()))(())(..((((.....)).)..().().",".)..())(..)((()((.((.((.)(..((.()())(.((((((..(..(",")..)(.).)(...)()).(...(()(.())).(.(()(.)()).((..((","(())..))).(..)(..((.).)(.((())).)).)..))..(.))(.(.",".)..).()().)...)......))).()))())..(.)..).().))).(",".).()).)....).((.(.())..)(().(.)()(()()(....()()))",")..().).(.)))()).)(()((.()(...((((()..(..(((.).((.","()((().((((.)).(.(.().....)().)(..(.()((()())()()(","))(.()).).().)))()))((...)()(.())()(..)()(..)))...","(())(.(()(()..(.).))).)(.((((.(...)(.)).(..((.(())","(()).()()())))(()).).).(.)((..(....).))..()(.(((.(",")((...((()(.....)(((((((().)))..())())(..).)..((()",".)(.).(.))..()()))((()())(..)(()).)(((((()..(())).","())((())((.)(.)))(().))...))."}
9
Returns: 290347808
{"..)()))).(.(()(((.(.((.)().)(())(().)(.)(.(..()()(","(..(..))()..))"}
4
Returns: 152
{"..(.)()...())().).(((..)))((()(...)(.(..).().).(..","((..).(.)())..()(.(.))((.))(.(())..(((...().()(.).",".))()(.)).))((..(.).()))(.).)().))).()(.....)....(",").(.(.()(.).())(.).).().((())())).).).))(((.(..(()",").))(.)()()()).).((.)(..(((.)..())(.()()(...(.(.).","(...)((.)().(()(..)).).(((.).))()....(.(.((.(....)","().())().)((().).(.)).((((.(..).()(..).)..().().(.",".)..))))..))()))).()((())..()..))))().((((.)().((.","(.)(((().)..()((.).(...)((.)..(.(.()(..(....)..)))",".().(..)((()((()..)..)....))(()))(()(.(()..)((().(",").(.).)()))()).()()..(.()(..)((...(()(()()(..)()).",".()))(..(.).)(.)(().)().))..)(.())()(.).)(((.)())(",".((.(.)(().(((.().((.))).)).()(()).((((.((.)).((((","(..))(.)).(.().(.()).((().().)((...(.)..)()))()((.",")())).)))().)(..)((..()))(.)(()(.)..)(().())).))..",".)()().))).()..)).)()))...).)((.)))(.()(....(.(.)(","(().(.).)).(...)))().)))(..())(((...))..(..)()().(",".)).)())((...(..()))).))().((().()()())).)(.(..(((",".)().()((()((.))).)(..()((..(.().().).)..))))(()..",")(.()()())(()(.).((.))))..)).)..)(()()()(.)((()))."}
10
Returns: -1
{"())).(())..((.)().(.)..())()(..)....)())(())(....(","())).....((()."}
4
Returns: 162
{"...(.).)())..)))..(.)((.)))"}
3
Returns: 5
{"()((...()()()).().(....(((."}
3
Returns: 8
{"..)(.(.(..)).(...)().))().((((.).)()).(.(((..)))(.",")))..()(..(())(((.).))(.(())()().(()()()))(.)((.).","(().).((..).(())()((((..(......).))).(((.((.(((.(.","((())()())....(..).()().(...)).).(...()()()(.)).).","))((()).).(()())(.).)(...(()()())((.(((.(.)))((.).","..().(..)(.).(.((.)).).((.(.(.(..(.(...)(...(.).)(","..))()((.)))))))((((..)(()((((()().)(..)....()..((",")()...(.(..))..(...)().))...())((.())..(.)((.).)).","(.)(((.)).(..)()(().((.).))).))....)(()))(..(((..)","))((.(.)))(()..(.)))().())(((((()((()).((())))((.)",").)((.)))(.))()(.)).().)..)((((.(())(((()..)(.....",".(())()()(.())))...()()((.(..))...()))((.(((..(()(",")()(((.()))).)(((.()..(.)(.(.)((())()().).)((.....",".....)(((()).)...((..)(()()(.)(...)())(()).().....","().(.).).(.())).)()().))()(()"}
9
Returns: 61586518
{"(((....().......)..(.(..)(.(...()(...)(.()).().().",".))((((.())).))(..).(()()(.)..())().))).((()(.(.((",".).(().)(.)(().(.((..)((((.()(.(.))..()..))((.(.)(","))(()).())()(())).(..())()(..((..).)).).)(.()))(()",".).)).(((.).((()"}
6
Returns: 49657
{".(...).).))).))))).)(.).).)()(()..)(.(.(((.()..(.(",".()..)).()())."}
4
Returns: 74
{"()(.().(())...()..)...()...(..((.)...((...)((())((",".)((.)))))...)"}
4
Returns: 317
{"..().()()(.)().))((.).(...)(().(..)))()..(.)().)()",".(.))(.(.().)(.))))(.)).)((.).(())).()(.).(...)..)","((((((((...()..(.)(.)).(.(()())).()(..(..)()...)..",".(.)).(.()).()...(()().))(.()()..)))((.)())).)).((","..()(())()())).)"}
6
Returns: 29313
{"((..)(.)))((.)(.))()).())(."}
3
Returns: 16
{"((..(())().(()()(.().((.)()"}
3
Returns: 9
{".(()(()(..().()()())...)).)((()())...))..))()))..(","()..)(().(().)))()))(())...))).)..)(.)()).)..()())",".()()..(((.(().)).)(..)))((()....))((()(..)..((.))","(.))...))(()..).(..()..(.)(.)((()(.(.)((.(.(....))","((..)).((((((..)).)((())(.))).(.())(.)...)(())()..",")().)()()().(()()))))(.).(....).)(.(.))())(())))(.","))(()(..(..(.)((.)..)()).()(.(((..)((()(()((()((.)","()((..(.((.((.(..).).)()())))(.)....).(.)))..()(.(","))).)((.(.().(.)().()).)))((..)(...)(()((()(()(((.","(()(((().)(.)(...().)(.))(..(..)((.()...(..).(.)(.","....(.()).)()..).(((()())(.(().()(((.)(((.)..((.(.","()..()().(.).).()).().(()))()(.().)..((.(.).(.).()","()))...()().)((.)((())))).().((...).))..().)(.)))(",".)))(.).).(.)().(..)((.)().(.))((.()((.)(..())).)(",").(().)()).(..((......()..((("}
9
Returns: 0
{".(.))).)(.()..((()(((...).).()..)(..)(.))().((.())",".(())((..(..).((.).())())(((.((.(().()..).((.....(","....).()()((((.((...)..)).)())..((.))))(.(..).(.)(","()..()(.((.).)((.())..(.).).)()..).)().(.)))))))..","..)...((...))..(.((.()))......(.)(.()).().).()(()(",")..)).(.()(..(.))..)()).)((.)()..((()).()(..).))))","(().(.)(....)).((.())().(.(.())(.)..).())))"}
7
Returns: 606432
{".))).((())(()((((....)().()()().().(..().((()).)..",")(.)))))...)(....().((.))))(.().)(((.))((.)().)(..",".)...))(.)(.()..(.(...)()....(().(())..)..())..(()","..)))()(.))(((()().(...)))))(.((()()(.)...)).((((.",".)(()..((.).()((..)).()(..)..).))(....)...)..(((()",".)..(.)(((.(.(..)(.)())).)))).).)...)......(..()((","(.()))).((.(...(.).(.((...((()..).(((.).).)())(())","(.)...))())....)..((.)().)))(..(.((.).((((.)(((.(.","))((.))(...))((.(((()..((.((...(.)..)...(.).))((((",").(.((.))()...((..))...)..(..(.(.).....())).()..((",".)())).(.()."}
8
Returns: 1686570
{".)).())....((.)((.(((().(.)"}
3
Returns: 11
{".(((.(()...)(.)))(.)).(((()((.(()).))))()..)())...",")()(..)..((..(..)((.)...)).)).)))).)()(().)).)((.(","...)(.).()).(.).(.)).(.).)).)()..()(((.(..().)(.)(","...(..().)())))..))().())..)(.))).))(((..).))))((.","(.....()))(()).)..)().()(()))()..()()).(..)...)((.",".)(.)....))..().(((((((.((.()).)()(.).)().)().(.).",").((((.).).().)(.)()))()).(.(()(.))()(.()((.((().)",".))).()(.(())((.))((..(()(.(())..(.((()..)..).(.))",").()).()(..)(.)).).(((..(.()((((((()..)).().....))",".((.()(..((.))((.)....).)()())())((())...)(())).(.",")(().).(.)(.).())))())(.())).(..))((..)..)()..())(","((()))((.)(.)))).)(.)()().)(...)(..()()(..).)))))(","()(.((.))).(.)()()))))).()..(((()()())))).()())()(","))))).(.)).)))).(.(().(....(().).().)((((..)..))).",")).)()...))(..(...))(.)((..)(.))..(.(..).(.))(....",".).())(..(.))(..))(.((..()((..()).(.)((.()(().).)(","..(.)))).))((.(((((.)())(().).(..).).().(((.(.(.)(",".(..).)(..((..().)..(.(.())().((.))(((.().).(().()",".((...)...)(.)(().))).()).)).)))()(((.)()().()((()",".(((.())).)))))..))).)))).)((.(((..))().((.()(.)))",")..(()))((.).)(..()..)()()(.(..((.)).)(()..(.).(((",")(..(().)....)(.(...()(.).())()))((().).).()().).(","(.)()()().)(.)))()))())(..).(.)))).(().)(..()).((.",".()..)).)(.)).)).(..().).((.()(()((.)(()())).(..()","((.)))((.)))(.()(().)((.)(.(...))(().(..(.(.().)()",")(..)(()(..).).(.(.)))).().(((()(..().)))())).()).",")).)...).)(.).).()).(.)..).()()).()()).))())))()(.","(().(()..))((.).())..(()(.))).)(().(...(.((...)(..","(((.).).)(((.()()).)..)()(..((.()(...))(()(((.()((","(()(.)).)((...)(.)...))(().())....))()).))().()((.",".).(((..()...()..().).(()..))()).(..(.).).()()().(",")()().(....(.)).(((())(....((.().)())(()(()))(....",")))(.(((..(()(()((..)(.(.(.(..((((.)).(()))))()(.(",")(.((.)(.))((((..((.)))()..))((..).)).).((..)..).(",".)(((.)(()).).))))(.)..()))."}
12
Returns: -1
{"..(.(().)())(...(.(.)(()())(.))()))(())(((().())()",".(...)))((.((.(((...(.(..(()((.()()()(.)(((.)...()","().....())).).(.)..()(.))"}
5
Returns: 1051
{"))..).(."}
2
Returns: 0
{"(.)())(."}
2
Returns: 1
{"..)((.))).()))((.())(..(()(())).)().))....((()(.()","().)()..(.())(.()(()..).()((()..()).)((()(..)..(((","))()())(((...)).)((.((.))....)(())(.).())))(..).))",".)))()))...)..))(..()()()))..(.().)..)())(.)(((.(.",")(((()()())()))).)()).(..().).)).)(.()()....).).)(",".)()()))..).)..(.)...).)).(.()().)())..)..)().)(()","(())(.()(...(())).))).))((.)((().((.()..)(."}
7
Returns: 23763
{"...().)()..).().))..)(.)))())()))))()))))).).(.(.)","...((.)(().).)(.))(..))(.)((.(.).(.))())).).(.(((.",")((.()(.)(..().()(()).()..()..))(..)()))(.)..(.)()",").)().)(()(..((.)...(..((.)))((..)(((((..).).))(()","))))).(((()((.(((.(((())).....))((.((((().).((()).","((.(..((.().())).))()..)())....).()).))(((.()..)((","()()).().((..)((()()((.(.)))))).).()().())(.()..))","()..(..).(.((.))(.((.))()..())()(..(..).))).).(.))","(((..(..)(..()((.()((..))((().)).)()()..((..)...((",")()(..).)((()(.((((()((..)(.)).))))).))()(..))...(",")).)....(())..(..(.)(..((..)(().(...())(..)(()())(",")().()().(.).).))().).)))..))).(((.).))).))())()).","()(.(.((.).).())).))())).(.(.(()(.).)))))(((.(.(.(",".)).((()).)(()..)(.))((..()(.).)(()).()())))(.)(..","))(..)()..(...).).((..)(..())"}
9
Returns: 110521650
{"())))))()...).((.(().(.)))()((.)(...)(.()))))...()",".()...())).)()"}
4
Returns: 188
{".).((..)))(())).)....(((.)(...(.)()))..)).).)()(.)",".).(().(...(.).(.()(.)())..((((...(.).(..)()))).).","..(((.)).(.(..(.(..))()(."}
5
Returns: 884
{"((.(...)..(((.....))().(..)....().()(.((...()((.(.",")()...).)()))..()..)).)....(.(.)((.((..).().)(()).",".(..((())().()((()...)))."}
5
Returns: 4928
{"(((())((.((.))(....)..().(((.(.()))(()((((.(.((((.","(...()))().(.).()((())(.))...).(.).(..)).((().(.))","(.))....(..(..(()()()))(...)(..().(..))(..)..(.(()","))).(..))(.).)())(((()..)..))).()(.(()(((.().)(.).",").((.)).).(.).)."}
6
Returns: 89914
{"(..(....(.(.(.(..)()...((.)..(.()..((().(..(.())()",")((())))))..(."}
4
Returns: 264
{"().(..))..).()(().))())()..()...)(..)))))).))).(((",")()...)().()((()....(.)()..)(..)))((.(.)())(.)..((","((.).).().((((.((()((((..)()((..)(()...).(.))..).(","(.))).(((((..(..).))(..()))).)()))).(().)..((...(.","((.)).(.(.)()()(....)((.(...).())()))(.).)....))).",")())..((..)(.)(.()..)...))(.)).)).)(()).)..()))(.(",").()))).(((.)(().)(.()()(..()..))....)((.).())(..(","...))(.().(.(.(()(..)(((.)(.)).).).)((..)(....))..","(((.))((.))).)((.())).))(.)())()).((..))(().(().((","..)))(.(..)((..(..(())()))()().(.((.))..).()..((.(","(..().()(.(().).).)()).((.)(...))((.).)(.((((.(.((","(()(.()(.)))).).(((.()((((...)(().((.)).)))..(((((",".((.))().((.)()(.()))()).(()).()).().()..).)..)())","().)..)(()((()(.(.).).()))..(((.(.)(.((.()(..((.()",".)(.(.....((..)).....)())..)))((.)..)()...)().()()","..).(.)).)(.(.)).((.)).)()(.))...((.().().()((.(.(","(.(.((.(().)((.)(..(().())..)).()..).(......))(.).",".)...()()))((.()).)).(.(()...).(())..(()...).)(...",").()((.().().)()...).)((((.((.).(.(.)(.).)(..)(..(","(.)(..()((.)(.)(.)())((.(().())()).((..).((()())))","((.((()......)).).((.).()..)().)((((()(..)((()(.).","))()..)(((.(.(..).(().((...))(()(.).))..)))(.()(((","..).(.)())(.).()..(.()).)((..)...)(((...(()().()))",".(((..(..)(..))).(.()(.(..)())((.(.()).)..)..).(..",".)).(.(.).()....)(((..)))....)...)().(.)()))(..()(","().)...).()(.()(())(..)).).(.)).(.(((().(.)).)).(.","(..(...())....).))(.)..))((.))."}
11
Returns: -1
{".((.(..((.(...((.((.(.)..((.(.(.)(..((.)(.(.()(.)(",")(((...))))())((.((.().)).((()(.((((.))(.().)))(.)",").(..)())).(.).)).)(.(().))...(.)(.(.).))()))))())",")((..)(.)).)..)...)))).)))..)((.))()))(.)).))(.)((",")(...(().((.(..(((((.().)..)(((...).)(.)))(())()()","))).)..))(((..()(((....).)....)()((.(((((.).(.)).)","()(((((.()(.((((.).())(.().)...)....(.(.))(.()..).",".)).).)..)).)(()(((.))(..()..).()))(.)).)))(((.())","...).(()..(.)())).)).((.).)))(((.)))..(.(.(.)(..)(","(..((.().)).(.)(.))(.)(....))())()())..(.).(())))(",")(((..(()(()"}
8
Returns: 8030113
{"(.)(..()"}
2
Returns: 4
{".((())..((())))(..)))()(.((.).())()(..(..)))..(.))","))..(..(.(.).(((.(.)(.).(..(((((.)()(()..()(.((())","...)(()))).()..(()...)())..()(..)()(.(..)).))((.)(",").(.)())())...)().)(().((....)()()((..)...()().).)","(((.(..(()(()))."}
6
Returns: 26405
{"(().)).)))).(.(..).((()))((()(.)..(.(..)().(.(()()","..).((.))))..)"}
4
Returns: 295
{"()))).(.)))(..(.)..)().).))..(((.).)((.().(.).()(.","((..)((...(())))...()().().(()(.).(.((.(())()..((.",".())..))(..))()(...)(.)..)))((..(()((().())))..()(","())(...)(.().(...)((.).)(..)...).())(()..).).(.)(.","(((....()()()((())).()(.).(((((.(((..(...)).())(.(","....)())..).((.))).)..((()).).))..)((.(..(.(.).((.","(..(.)))(.)(()))))(.())..)(()(.())))).()..()..))(.",".(()(.()().).).).)()(..).())((()(.))(.(()).)()().)",".)(.)...(.(.)(()()(().))))(.).()))(...).).().)(..)",".(((.)))))(.).(()()).)).......).(.)..)..(...).(.)(",")().)...())(...())()).(.(((..)).()))())(..).)).()(","(.).(.())).)()).(.(.(()()))).))((()())().((.).).(.","(().)(.)((.).)(.....(.).((())..)..))..))(()(...(((","(..)))).)()((.(.((.()(.))..).)()))(((.())((().).()",".).)(..)..(..)..)))().)).().."}
9
Returns: 105384901
{"(.).(.(...)((.(..).(....()())((().))))())((.))()((",".(.)).(..(()(.))(())(()())(.)(((()()))..(.)((..).(",")(((.)..)).).(.(.).)...(.)(((()((.((((...)).(()).(","((())(..)).()).)((.))))((.(()(.)(.(.()().(.)(((()(","..((((.().()....)(.((().).())).((....)..(.().).)(.",").()).(..(.)((((.(..()....))((...(.)(.(.(.()...)((",")()()(..(().(((...).((...).())))().))).(((.(.....)",")(.(.(.)(..(.).).().()()()(.)(..()).)).(...)))(.).","())())..(.)).)(.)(())())(.(...)..()(().((.())))..(",".(((.())(()).(.)(.((()()..))())(()()(.)(.))()()).)","()(...)(.)(.)()().()(()()(()).)(.....().))(.)(.((.","((.).).(.)).((.(..()(.().((.)(.)())....(.).)(.)().",")...))(((.(()())))))).(.(().))..(()((...(.(((((.(.",".(..().)...)(...(((.(..((((.().)((.(())(.))(.)(((.",")((.)..)((()()).)())..)...(()"}
9
Returns: 428997694
{"..)(.)(())(...(.).)((.()(..((.(((.)..).).)(..).()(","...)(...()(.)()).)((.((..(.((.(.)).(...)))(.).)()(","().).()()())()().(.((...()((.))).)))((())).)(.).).","))().)).())))(.)().))))..)(.)(..(()((.(.(..().(((.",")(.))()()))((..(.((..)((.))().((..(((()).)())().((","((.(().(.()(((..(((.((..((.(.())())().((()..(.(...",")).)(())..))(.).()()(.)((..).)(..)((((.(..(.)(..(.",".(()((((((...).().)..).).(()(()(.).(...).(()(((()(","((.).((.(..).).))(..(..()(()()(()))()))))))).(.).)","((.(.)))((.(((...((()).).)(..)()(.(.((..((..)))).(",".))())(..))).())((..)(.)...(.).(()).(.)()..().)...","((((((..(()))).).))(().()(()))..((.))()..(..())..(","..(((.(.((.).()(..))(()().)..).()))(.)..).).(...).","(((()().)..)(.)..(.())())).()()().())().).(.(.)..(","((.))(((.)()..)()(())().)...."}
9
Returns: 58360558
{".()))((.()(()..)..()(.).)(.()....)()(.(.(.)()..)))",".(()...)()(.)."}
4
Returns: 253
{".))())(.().(()).).().).()((.)).))().((.(.)).((()).",".(()..())(.).)).(((.(..()(.)...((())(.)).(..().)(.",")))...()(.(().(().).()..()))(()(...)((..(..)()...)","(.)...(.(.()((()(.)(.(..).(......)(()(()(.(()(((.)","()()()).(.)).(().)((().())(().)(..)(.)((...).).(.(",")(..)())()))).(()()())(...)).))(.(..().)).((.)()..","..).)))....().()(.(()(())()(.)())(((.(((.()()()())",")..)(((((().().())(((.(((().(.).).)....(()(().)..)",")))).((..(()).((.)(())(.().().).))))))).())).(.)()","(..)..((((()..())).(.(..()).()..()((.).)))(.)(((()","))(()((..))."}
8
Returns: 6335188
{"(().)(().(.)(...).(.).).(.)"}
3
Returns: 34
{".)(((.)(..(.)().).).().(.()(..).((.((.)))(..(..)).","..()()()))()()()..)((()....(.)...).)(.)).((()()().",")()(.).)..((.((()..(().(.)).)).(..()..().)(()...((","...(((.))())...))()...().()..)(()))))(((((..(.(.((",".))....()(..(.(.(.))).)..).)().(()).(()(()).).(.((",".(.)..))).((.((())..)()).).).))(((()..(((()(.)))))","(())))....).(.().(....()((.)....(....(.())(.()(...",").))))()..))).().((.(().())))(..(.((.(.().).).(.)(","..(.)(.(.())..).()).((.)()().().).))().().((.().((","(.(..)(..((.(.)(()(()).)))().).(.()).).(..).(.))))","...(())).)))"}
8
Returns: 5774905
{"().)))((.()().((....)((.()..).(..(.(.).))).(.)).))",".((()((..)).(().(..)..((().).()).((.))(.(..()..(()","((..(.).).((.....(.)).)(("}
5
Returns: 0
{"((()..)."}
2
Returns: 1
{"........"}
2
Returns: 6
{"."}
1
Returns: 1
{"("}
1
Returns: 0
{")"}
1
Returns: 0
{"()))))))))))))))))))))))))()))))))))))))()))))))))","))))()))))))))))))))))))))))))()))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","()))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))()))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))()))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))()))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))()","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))()))))))))))))()))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))(.(.())))))))(((..))))))))(.)(.)))))","))))(.)())))))))).))()))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))))))))))))))..((.)))))))))(.)","())))))))((.(.))))))))....())))))))..)))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))())))))))))))...()))))))).).(()))))))))().())))","))))).()()))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))(..).))))))))((...)))))))))()","(())))))))..()())))))))))..)))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))..(.()))))",")))).)).))))))))..())))))))))...(.)))))))).(.))"}
13
Returns: 2634752
{"()))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))()))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))()))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))()))))))))))))()()))))))))))))))))))))))))","()))))))))))))()))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))()))))))))))))(.","(()()))))))...).(())))))....(.())))))()()).())))))","(.)()(()))))).((..())))))))).)))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))(()..)()))))).()()(())))))).)).)(","))))))((..)))))))))).))()())))))).(()).))))))(()))","(())))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))))))))))))))))).))...()))))))","(...(()))))).))))).)))))).).)(.())))))()..(())))))",")(()).())))))))..().))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))...().))))))).((()(.))))))))((.).))))))))(())",".))))))))...(.))))))(...()())))))(()(.()))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))))))...)(.))))))))..((.))))))","..((.)())))))())()())))))).)...)())))))..)()(())))",")))())(())))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))(()))(",")))))).)(())()))))).(..).)))))))))(.))())))))(().)",".)))))))(())(.())))))(.).())))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))).).(.).)))))).)...())))))))((.)(.)))))",")()((((.))))))..()(.())))))..).))())))))).(.)(."}
13
Returns: 13458368
{"()))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))()))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))()))))))))))))()))))))))))))))))))))))))()))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))().)(().)(.)))).)(..",".)()))))(((..))..))))().(....())))(.))).(..))))((.",".((..)))))).)).)(..)))).()((()(.)))).)).)).).)))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")).(..).)))))).(..(.)(()))).))()...)))))..)(..))()","))).)())))(()))).(.(((((.))))..(()(.).))))(.(.().)","())))).).)((..))))))))))))))))))))))))))))))))))))","))))))))))))))))))))..)).().()))))).))().)))))(..)","..)))))))(.)()).).))))(..()).(.))))((..).(.()))).)",").((((())))(())....))))))()....)()))))))))))))))))","))))))))))))))))))))))))))))))))))))))).(())((()))",")).((.).((())))().)(()(()))).)))(.().)))))))).....",")))))()).....))))(.(..).(()))).().))))())))()..)..","..))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))..())((()))).)..)().())))(().)(()))))))(.","(().).)))).()).(((())))).).(((.)))))(())((.)))))).",".).).().))))....))((()))))))))))))))))))))))))))))",")))))))))))))))))))))))))))((.()))())))).)((...).)",")))).)(.(().))))()))()).()))).).(.().())))()())).)","())))..)).(.()))))).)....))))))(.))(..(())))))))))","))))))))))))))))))))))))))))))))))))))))))))))))).","))).()))))(((()))()))))....).(())))(.(..))).))))(.",".).)(..))))).)).)...)))).))()))()))))....).).())))","()()((()))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))((())((.)))))(.(.))(.)))))())(.))(",")))))...(.).)))))).()...(())))(..((.)())))))))...)",".))))))(.(.(().))))))(((.)()))))))))))))))))))))))","))))))))))))))))))))))))))))))))))((.(..())))))((.","(.))(.)))).)(()..()))))())((....)))).)))).((.))))(",")(((.((.)))).)())(())))))..(..))()))))()()(()))"}
13
Returns: 632487648
{"()()))))))))))))))))))))))))()))))))))))))()))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))()))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","()))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))))))))))))).).()(()()))))())(","()(())))()((.))()))))(.)(().(.))))).))(.(..))))(.(","((.).))))).())..())))))))()..()))))))...()..))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")(..)()((.)))).)))..))())))(.).(.().))))))))))((()",")))).).)(()()))))))).().)))))(.((.)().))))..)))()(",".))))..())).(.))))))))))))))))))))))))))))))))))))","))))))))))))))))))))(().)).)))))).).(.).).)))).)).","..().))))())()((()))))(((.)()).)))))((.(()..))))()",".().))))))))((.())(())))).)...((.)))))))))))))))))","))))))))))))))))))))))))))))))))))))))))()(.())())",")))...)).(())))(()(.(((.)))).().)()())))).)())).((","))))).(()().())))()()).(())))).)(...)()))))))).(.)",").))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))())(.)))))((.().)).)))).)..())(.))))((.","(..(..)))).).()))(())))(.)..)...)))))()().)..)))).",".)(().(()))))(..(.(.))))))))))))))))))))))))))))))","))))))))))))))))))))))))))).))...).()))).)((()..))",")))()))().(())))(.().(.)())))..)().(..)))).)))(...",".)))))()))(.))))))))((...(.))))))).(.(..))))))))))","))))))))))))))))))))))))))))))))))))))))))))))....","...)))))))(.)()((())))(((())..))))))((..()..))))..","))(((()))))).)).))(())))).)....)())))).(().)(())))",")).()())()))))))))))))))))))))))))))))))))))))))))",")))))))))))))))..)((...)))))(.....).)))))..().()))","))))()..(((()))))))))(((.))))).)(()))(()))))()().)","..)))).((().(())))))()(().(.))))))))))))))))))))))","))))))))))))))))))))))))))))))))))).)(.)))))))))))",")...)()))).())(.)())))))(.()))(())))..().))(())))(","...(())))))))))))().))))))()).)..())))((.)(..(."}
13
Returns: 50350696
{"()))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))()()))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))()))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))()))))))))))))()))))))))))))(.((.)()()))))()()",".()())))())()((()))))).)..)((())))))())(..()))).)(",".)))..))))))(()(..()))))()(()..())))))(..())()))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")(()..))))))))(((().)..)))).().))).))))).(((()..))",")))(..(.)()())))..).()).())))).(())().))))(.).)()(",")))))(((()(.()))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))()(.().)))).())).())))))))).",".))(.))))(.(((.)(()))))(((((((.)))))())()...))))(.",").(.)(.))))(((((()..))))((()))...)))))))))))))))))",")))))))))))))))))))))))))))))))))))))))))).((().))",")))(())(..)))))((..)()).)))))()(()((()))).((.((.)(",")))))..(.....)))))(.)())..))))(...)..(())))).)(..)","(())))))))))))))))))))))))))))))))))))))))))))))))",")))))))).(.()))..)))).()((..()))))(.....((())))((.","(.).)())))(..)(.(..)))).)().)...))))).(()((.()))).","(((()(.())))(()(.())()))))))))))))))))))))))))))))",")))))))))))))))))))))))))))).)(((((.))))()).)).(()",")))))()(.)..)))).).)(.)))))))..()()(.())))).())(.(",".))))(()()))()))))()())(().))))()(().))())))))))))",")))))))))))))))))))))))))))))))))))))))))))))).)..","((...))))(((((.().))))().((.())))))..(()(.(.))))).",")(()(()))))()(((())())))...)..)(())))(.).).(.)))))",")(..(.(.))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))())())))()))).())(().)))))((((())()",")))))((.(.)..))))()..)...())))(...)()(()))).())((.","(.))))..)()..(()))))...).).)))))))))))))))))))))))",")))))))))))))))))))))))))))))))))).)(.)...()))).()",").)...))))(..)()()())))()(.(.().)))))))(.(.(.)))).","()((...())))(.(.(()(.))))((...(.))))))(.)..(())"}
13
Returns: -1
{"))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")))))))))))))))))))))))))))))))).).((..(()))))(()(",".(.)))))((.)(().()))))..)).)))))))))()..)())))))(.",").((.())))..((()()())))(..))).)()))))(..((.(.)))))","))))))))))))))))))))))))))))))))))))))))))))))))))",")().).)...)))))...(.(..))))(.).)(().)))).)(.).)).)",")))...)()())))))..(..(.)))))))(.).().)))))..())())","()))))).(.)...))))))))))))))))))))))))))))))))))))","))))))))))))))))))))())))(...))))))()...())))))())","().).)))).)))(.).())))())(.(.()))))...(()((.)))).(","((.((.))))).()()().()))))()((.)())))))))))))))))))",")))))))))))))))))))))))))))))))))))))))))..)..).))",")).(((.(.)())))))()..((.)))))..()..(()))))((.)((.(","))))()((((.).))))..()))(.))))))).(((.(())))())..((",")())))))))))))))))))))))))))))))))))))))))))))))))","))))))))(((.).((.))))(.(.))()())))(.(.)..)))))).((","..((())))).(()..)))))))(.)))(().)))).((..(.()))))(",".()...(.))))).)(.))..)))))))))))))))))))))))))))))",")))))))))))))))))))))))))))..))..)(.)))).))..((.))",")))(.())().())))...(()...)))).()...)()))))...((.()",")))))(((()).(()))).((.()..())))(.)(.((()))))))))))",")))))))))))))))))))))))))))))))))))))))))))))).(()",".)))))))).)())(...))))(.)(().(()))).))..(.())))).(","()().).)))).((.)(.()))))..)(.)..))))))((..).(.))))",".((.(().()))))))))))))))))))))))))))))))))))))))))",")))))))))))))))..)))())))))).)()()(.)))))().((().(","))))..)(.()(())))(.).).((())))))(().((.))))((.()))","(())))(()(().(.))))..(((((.())))))))))))))))))))))","))))))))))))))))))))))))))))))))))(.((())(()))))).",").().())))..).().(())))(.).((.))))))).)(.((()))))(",")(((())())))())((.)))))))(..)))..))))))).(.((()"}
13
Returns: 0
{"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................." }
10
Returns: -1
{"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................." }
13
Returns: -1
{"((((((((((((((((", "((((((((((((((((", "))))))))))))))))", "))))))))))))))))" }
4
Returns: 320
{"(" }
1
Returns: 0
{"((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "((((((((((((((((((((((((((((((((((((((((((((((((((", "..............................................." }
13
Returns: 0
{"(.........................)" }
3
Returns: 90
{"(((((((((((((.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................)..................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...............................)..................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "...........................................)..)" }
13
Returns: -1
{"()))()(...()()(.))()..(.)).((((.)())....).(.)(.().", "()(((.()))..).()(.)(()))(())().).())()(.(..).))).)", ".)....())....(.)(.).((.()...)......).(.)(..).(.)))", ".)(((()...)))(((()())).)).)(...(..)()(.((.(..)(.).", ".))).).(.(...)).(.).(.()(.))()...().(.((())(.((.()", ")(..)..)..).).))(())(()()((.)(.)).(().)...)).)(((.", "()..))(...()((((.(.()..()).).))().)((.().(..()..).", "(.(.....()(())..))(..(..((.)(..(.(.(.(()(..)......", "))(.()())(((((()((.(.(.()().()(.((.)(.()(((..).))(", "..).))(...)))(((..).)().).(((.)....(..)().())..())", ")).))((.().))((().)(..()(((.(...(....())()(())()..", "))(.))).)..).(..(())).))..((((.()...))(((()()))...", ".()))...)).)))..()))).()()()..))..()(..))((().()).", ")..(...))).(..())))).())()(((..)((()).(..()))()(()", "(()))((()...().))..)()(((()().))(()().((().)(()((.", "()...)).(.)(())(()(()))(..).)((..(.)))(.((..(()((.", "..)().)(.(()(())(().(.()()(.())..)..(().)(.)((()()", ".)...(.)(())).(()())...()).(.)()..((..).().)).)).(", "()..(.(.()().).((..))((.(((())()().))))..))(.)).((", "(()....).((.....().))().())...)).)).())().))))).)(", ")))(((.)((....)).()(().).(.(...)()(((((..().)()(.)", "(.())).)).().()((.).(..)...))..).))(..).))(()(()).", "(.(.()))(((()((....)))(.)..(((()()((..)(...)(.)).)", ".).(....))).))(.)(..).(((.(())((()(.(()).)(.(..)..", ").(..).).)(()()()())()(.(.().)(((((.)()..(..).)..)", "((())))())..)))()..).()..)(.)((())((()(.(.).(.(..(", ".))()).).).(.(.().(.((()))(.).(().)(((.(().().)().", "((.))(..)(((.)...)))((..().(())()))(.()()))()(()()", "((().(()(..()).)((())...((()))(((.)(.)((())...)(..", ".(......(((()(.(.)((...()(.)()).((().))))))...()(.", ".))...()()))..).).))..))...).)()()()((.)(....).).)", ")(..((()(..))....()((((.)(()(()(((.()..))).).)).)(", ".)(..).)())()))()(.(((.).().)....(....)()))..())(.", ")..)))).)((.((.(.)).)(()()(.)(.)(()()))((..())((()", ".)((()).((((().).(..(.).)()..)(.()).(..())).)).()(", ".)(.))))....((.().)....())).()))...))(..).))((.())", ")..(.))((..)()((()())..)..))..)((()((.(.(()((((..(", ")..(()(.)()..)).().))..).())(.).(..))..())).)()(()", "..).()()..(()()()...(.())..()(.((().((.())(())(().", ")((.()((.)).((.(((..().(.)).)(.((.))()).).)..().)(", ".(()))).(.()...())(()(.)().....)).((()).(().))..()", "(..()))())((()(())(..)))).(..().((.))))((()(...(((", ").)))(.()()..)(.(.)).)..((..(.)(...()).).))))).).(", "((((.).((.)))))))((.)(.)(.)).(.)()..)(((.)(().." }
13
Returns: -1
{"..).)())(()(()))()(.()(.(((((()((.).(.((.))()..)).", ")...)(.).).(((()().).(.(.)))(..()()...((().)((.().", "..).))))((.)))..).)).).(.)))((((..(().)..((....(.(", "......((..))()))))(((.).)))))()..)))()....)..(.)..", ".(().).(.(())))))).))(()..))()()......)).)(..).))(", "((..))(((.)....(.)()..))))(()))...).))....)())()..", ").(()).)().)().)))..))))))((((.()(())(.)()..).)(.)", ")(())).)()(((())(.)....))).(.(.))((.)(..))()).(().", ".)(().().)((..)((.))((.)(.)()((().(()...)(.)().(()", "(.(.))()(.(.).()))())(.)((..)(..())).()()(())))((.", "((.)((..)(.." }
8
Returns: 12467418
{"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................)" }
13
Returns: 0
{"((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))", "((((((((((((((((((((((((()))))))))))))))))))))))))" }
10
Returns: -1
{"(..........)....(.........)" }
3
Returns: 57
{"..(....)" }
2
Returns: 2