Statistics

Problem Statement for "FoxAndShogi"

Problem Statement

Fox Ciel is going to play Shogi with her friend Jiro. Before they start, Jiro showed her a puzzle with some pawns on the board.


You are given a String[] board that describes Jiro's board. Character j of element i of board represents the cell (i,j) of the board: 'U' is a cell with a pawn that may move upwards, 'D' a cell with a pawn that may move downwards, and '.' is an empty cell.


Jiro showed Ciel this board and gave her the following question: You are allowed to make as many valid moves as you wish, including zero. In each move you may either take a 'U' pawn and move it one cell upwards, or take a 'D' pawn and move it one cell downwards. Of course, both types of moves are only valid if the destination cell is currently empty.
Pawns are not allowed to move out of bounds.
How many different configurations can you create?


Return the number of different configurations that are reachable from the one described by board, modulo 1,000,000,007.

Definition

Class:
FoxAndShogi
Method:
differentOutcomes
Parameters:
String[]
Returns:
int
Method signature:
int differentOutcomes(String[] board)
(be sure your method is public)

Constraints

  • n will be between 2 and 50, inclusive.
  • board will contain exactly n elements.
  • Each element in board will contain exactly n characters.
  • Each character in board will be one of 'U', 'D' or '.'.

Examples

  1. {".D.", "...", "..."}

    Returns: 3

    Ciel can move the pawn 0, 1, or 2 steps downwards.

  2. {".D.", "...", ".U."}

    Returns: 3

    There are three different outcomes: Either we do not move any of the pawns, or we move the top one downwards, or the bottom one upwards.

  3. {"DDDDD", ".....", ".....", ".....", "....."}

    Returns: 3125

    The answer is 5^5. Note that we are only counting each configuration once, even if there are multiple ways of reaching it.

  4. {"DDDDD", "U....", ".U...", "..U..", "...U."}

    Returns: 900

  5. {"....D..", "U....D.", "D.D.U.D", "U.U...D", "....U..", "D.U...D", "U.U...."}

    Returns: 2268

  6. {"DDDDDDDDDD", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........."}

    Returns: 999999937

    The answer is 10^10 mod 1,000,000,007.

  7. {"..", ".."}

    Returns: 1

  8. {"UUUUUU.UDUUUUU",".DU..D.U..DD.D","........U.....",".UD.D.UD.DDDDD","........D..DD.","UDDDUDDDD.DDDU","DD.UD.UD.UUUD.","U.U....DU.DDD.","D.U.DDDDDDUDDD","U...U.UUUU.U.U","U.UU...U.UU.UU",".DDDDUU.UUD.DD",".D.DD...D..U.D","...UUUUUUDUUUU"}

    Returns: 809225782

  9. {"..D....","....D.D","D...D..","DDDDDDD","D..D.DU","UUDDDUD","DUUDUDU"}

    Returns: 224

  10. {"....DD.......D..","DDUDDDDDDDD.DDDD","DDDDDDUDDDD.DDDD",".U...UU.U...UU.U",".U.UD......D.DD.","UDUUD.UU.DDUDU.U","DDDUUUD.DDUUUDUU","................","U..D.UU...DDUUDU","UDDDUUUUUD..UUDD","UDDUUUUUUUUUUUUU","UUUUUUU....U...U","UU.DUD.UUUDUUUDU",".DDD..DDD.DDDDDD","UUUUUUUDUUUUDUUU","D.DDDU.DDUD.DU.D"}

    Returns: 34395860

  11. {".D.......D.D....U.","U..DUUDDU.UUUU...U","D.UDDDDDDDDDDDDDDD","UDUUU.UDDDDUUUDDUU","U...U.........U..U","DUUUDUUUUUUUUUUUUD","UU.UD.UU.UDUUUUDDD",".....U.DD..D.DD.D.",".UDUDUDUUUDDU.UDUD","UU..UUU.U.U.U.U..U","..DUD.D..D..DD.D.D",".DDD...D.U.UDDUUD.","D...DDDDDD.D....U.",".UDDU.UUUDUDDDUD.D","DUUUDUUUDD.UDUDUDD","DDUDUUUUDDUUUDDDUD","DDDDDDDDDDDDUDDDDD","DDDDDD.D..DDDDDDDD"}

    Returns: 487551334

  12. {"D.DDDDDU.DDD.D","....DD.DDD.D.D","......U.......","DUU..UU...D..U",".D.UDD.UDD..UD","DUDDUDDDDDDDDD","..............","DDDD.DUDDUDDDU","U.UUU....DUUUU","U..DU..U...UD.","U...U..U.UU...","U..U..UDUD....","UDDU.UD.UDDUU.","UUDUUUUUDUDUUU"}

    Returns: 531228123

  13. {"DUDUD",".D..D","UUDDU","D.D.U","....D"}

    Returns: 126

  14. {"U.UDU.UU.U..U..","D.DDUU.DDUDDDUD",".U.UUDUUUDU.UUU","D.D.DD..DDDDD.U","DDUUUUUUUUDUUUU","DUUDUUUUDUDUUUU","UU.UU...UD.UUDU","D.DD..DD.D...DD","UUDD..UDDDD..UD","UDU...U........","UUUUU.UUUUUUUUU",".UUUU..U.UUUU.U","UUUUUU.UUUU..UU",".UUUUUU.UUUUUU.","DUDDDUUUDDDDDDD"}

    Returns: 842227802

  15. {"UUDDDUDUDD.DDD.D","UDDDDDDDDDDDDDDD","DD..D....U.U..DD","UD.UUDUDDDDU.DDD","DUUD.UDU.U.UUUUU","UDDDDUDDUDDDUDUD","UDD.DUDUDU.D.UDD","DD.DD.DDU.U.DDDD","D.D...D...D..D..","DD...DUDD...D.DD","UD...DDDU.U.....","DDUDD..DDDDDD.DD","UUDU.UDUDDDUUDDD","U.UUUUUUUUUUDUU.",".U..UD...UU....D",".UD.UU.U........"}

    Returns: 338815751

  16. {"..DDDDDUDD..D.D","U....U.......D.","D...D......D.D.","UUDDUUUUUUUDUUU","DDDDUDDDDUUDUDU","UD...U.........","UUUDDU.DUDUUUU.",".DU.UUUDUUUUUUD",".U...U.DDU....U","D....UU..U.UUUD","..UD......U..U.","UDDUD.DUUUDD.DD","DDDU.DUDDDDDDUD","DDUUDDUDUDD.UDD","UUUUUUUUUUUUUUU"}

    Returns: 932109316

  17. {"U..UU.UU",".....U..","UU.UDUUU","D.DDDDDD","........","DUDDDDDD","U.....U.",".DUUD.DU"}

    Returns: 64012032

  18. {".U.","UUD","DUD"}

    Returns: 2

  19. {"DDD.D.D",".....U.","DDD.UU.","UU..U.D","DU..DUU","U..DU.U","UUDD.DU"}

    Returns: 9408

  20. {"D.UD.DUDDDDDU","U.UDDUDDUU.UU","..UUUDDUUUUUU",".....UU....UU","..D........DU","U.UUU..U..D..",".UUU.U..U.U..","UUUUD...UUUUU",".U.U..U.UU.UU","......D.....U","UDDD.DD.DDUDU","UDUUDD.DDDD..","DD..DUUDDUDUU"}

    Returns: 212455961

  21. {".UUUUD.U","...UDU.D",".UDUU.DU","U.UUUU..","UUD.U.U.",".DD....U","DUDUDDUD","UUU.UDUU"}

    Returns: 10800

  22. {"UUUU.UU.UUU..DUU","UUUUUUUDUUDUUDUU","U.UU.UU.U.U..UUU","DDDDUUUUDDDDDUDU","DDDUDDD.DDDUDDDD","DUUUUDDUUUUUUDUD",".UUUU..UU..UUUUU","DDDDDDDD.D..DDDD","UU.U.D.UUUUD..UD","UD....U.U..U.UDU","..D.........D...","DD.D..D.U..D.D.D","UUUUDU.U.UUUDUUU","UUU...U.UU.U.D.U","UUUUUUUUUUUDU.UU","U.U..U...U.UU..U"}

    Returns: 577225429

  23. {"...","D.D",".U."}

    Returns: 12

  24. {"D..DDDUDD.UUDD.","UUDDDUUDDUUDUUU","UDDUDU.DDUUUUUD","DDDDDDDDDDDDDUD","U.....D....D...","...DD.D.DD.DUDD","UD..DD...DU.D..","DUUUDUUUUDDDUUU","DDDUDUDDDDDDDDD","DUUUUDDUUUDUDUD","...D....D...D.D","DDU.DDDDDD.UDUU","UUUUUUUUU.UDUUU","..D..D....DD..D","UUUUUUUU.UUUUUU"}

    Returns: 725650872

  25. {".U",".."}

    Returns: 1

  26. {"UDDU","DDDD","UUUD","UUUU"}

    Returns: 1

  27. {".UD.","U.DD","UUUU","DD.U"}

    Returns: 6

  28. {"UDU.DDDUDDDU","..........U.","D..UDU.UDD..","UUUU.UUU..U.","D.DD.DDD.D.D",".U..DD.UUU..","..U.UD....DD",".....D..DD..","UU.DUDDUDUUU","UUUUUUUUUUUU","U.UDD.UUUUUU",".UDDUDDDU.UU"}

    Returns: 45701062

  29. {"D.UUDUUDUUUUDUDDD","UU....U..U.......","UDUUDUUUUDUU.DUU.","UUUUUUDUUUUUUUUUU",".DD......DD.D....","DUDUD.DUDUD.D.DDD","U..D.D...D..D..DD",".U.U.UUUUUUU..U..",".DUUDDUD.UUUDUDDU","UUD.UUD.U.DDUDDD.","UUUUUUUUUUUUU.U..",".UDD..DDUU.DU..D.","DUDDUD.U.DUU.UUDD","......U.........U","UUUUUUDUDDUDUDUDD","..U....U...UUUU..",".U.D.U.D...UD...U"}

    Returns: 686766027

  30. {"..D...D...","UDUDDUUUUU","DDDUDDDDDD",".......U.U","UU..D.U...",".D.DD.....",".........D","DDUDUUUDDD",".DDUDDDDD.",".........."}

    Returns: 226542444

  31. {"DDU..DDD..D.UU..D","DDUUDDUDU.D.UUU..","D..DD.DDDDU.DDUDD",".U....U.UDDU...U.","UDU.......DDU....","....D......DD.DD.","..UUUU..UUUUUUUUU","DDD.DDUD..DDDDDDD","DU.DU.UDD.DDU.DUU",".U.............D.","D.......D.D.D..D.","UU.UD..U..U.UDUDU","DDU.DUUUUDDUUUDDU","UUDUUDUUDDDUDUDDD",".D.DDD..DDD..D.DD","UDUDDUUDU.UU.D..D",".U.U...D..D....UU"}

    Returns: 613144676

  32. {"DDDDD.UDUDUUD..UD",".D.DD..D.UD.DDDDD","DD.UUD.DDDD.DDUD.","D.DDDDDDDU.U.D..U","DDDDDDDDU.D.DDDDD","UDDDUUDDUDDUUUUDD",".....D.D..DD...D.","DDD.DDDDDDDDDDDDD","D.DDDDDDDDDDDDDDD","U.DUUUUUUUUUU.UDD","DDDDD.DDD.D....DD",".U.......D.U.DDDU","DUUUUDDDDUUDUUUUU","DUDUDUDDDDDDD.DUD","DDDDDUUDUDD.DD.DD","UDU...UD..U..UU..",".DUU.U.UUU..UUUUU"}

    Returns: 685582735

  33. {"...U..U.U....","UUUU.UUUUDUDU",".DD.DDDDDDDUD","DDDUDDDDU.DDU","UUU..U.UUUUU.","DDDUUDUDDDDDD","UD.DDDDUDUUDU",".D.U.UUUU..U.","DDUD.DDDDUDD.","UUU.UUUUUUUUU",".U.U..UU....D",".DD.D.DDDD.DD","U.U.UUUUUU..U"}

    Returns: 388787186

  34. {".U.","U..","U.U"}

    Returns: 9

  35. {"...D...D","UUDUUUUU","UDUD..DD",".U.UD.DU","DDUUDDDD","D..D....","DDDDDDD.","U.UDUUUU"}

    Returns: 69120

  36. {"DDUUUUUUUDDDDUUU.U",".DDD.DDDDDDD..DDD.","DUDDDDDDDDDDDDDDDD","....U....U.D.U.UUU","............U.....","UDDU..UD.DD.DD.D..","DUUDUUUUUUUUUUUDDU","UUU.UUUDD.DUUUU.U.","..............U...","U...U.UU.UUDU.....","........D.........","U.....UUU.D.....UU","......U.D..DUDD.D.","U...DD..D.D..D....","DD.D.D.DD.DD..DD.D","DUDDDUDUDUDDDDDDUD","DD.DDDDDDUUDDDDDDD","UD.UU.U....DU..U.."}

    Returns: 443248011

  37. {".........D.UU....","U.U...U.U.UUUUUUU","..U..U.DU.D....UD","D.DD..U.D.UD..DDU","DUUUUUUUUU.UUUUUU","U.DUUD.....UD...D",".UU.UUU..UUUUU.UU","..U.UUU..UUUUU.U.","DD.DUDU..DDUDDD.D","DUUDD.DDUDUU.UUDU","..D.U.U...DD...D.","UUU.UDDUUUUUUDUUU",".D.UUUUU....D.UU.","D...D..DD.DD..D..","DDDDDD.DDUUDUUDUU","DU......D...DD.DD",".U..U..UUUU...UUD"}

    Returns: 352210576

  38. {"UU.UDDD","..UUDUD","UDUDDUU","....U.D","DDDD.D.",".......",".DD..DD"}

    Returns: 9720

  39. {"UU...U","UUUUUD","......","D.DDDD",".UD...","..UUDU"}

    Returns: 3024

  40. {"D.U..UD.UUDDDU..",".D.D.DDDUD...UDD","...D.UD..UD.....","UUUUUDUUU.U.UDD.",".UU..U...UUUU.UU","U....U.D.......D","UUUUUUDU.UU.DUUU",".U..D..DDUU....D","DDDD.DDDDDUUDDDD","..D...D.DU..DDDD","DUDUUDUUD.DUDUUU","DD..DD.DD.UD.UDU","..D......D.DU.U.","DUDUDUDDUUDUDDUU","D.U..UDUUUUUUDUD","DUUU.UUUUD.U.DUU"}

    Returns: 924925661

  41. {"U...U..............","DDDDD....UD.DU...DD","..U.DU.UD.D..U.UD.U",".DD.DDD...DDD.D.D..",".U.......UUDU..U.UD","UUUUUDUUD.UUUU.UUUU","D..DDU.UU....D..U.D","UU.UU.UU..UUUU.U.U.","UUUU.UUUUU..U.UUUUU",".D.DDUU.D.UDU......","..D....D.DD..DD.D..","DUDUDDUDUDUDDUUUDUU","DDDDD.DDDDDUDDUUDDU","...U..UU..U..UU.U..","UDDUUDD....DU...DDD","D.DD.DDDDD.DDD..D.D",".UUUUDUUUU.UDUUU.UU","UU..UUU.UUUUUUUUUUU","UUUUU.U.U.UUUDU.UUU"}

    Returns: 267905289

  42. {"..",".D"}

    Returns: 1

  43. {".DDUD.UU","..D.D...",".DDU....","DDUUUUDU","..DU....","U..D.DDU","UDUU.U.D","...U..D."}

    Returns: 3179520

  44. {"..D...........",".UUDU.DDUDD..D","UUD.D.U.U.....","DD.D..DD...DD.","...U..DD.UD.DU","......DU......","UU.UUUUUUUU..U","DD.D..DUD.DD.U","..D..DDUUDUDDU","DUDDU.D.DUUDDU","U.DDDDDDDDDDDU","...U.U.D.DDU..","DDDDDDDD.DDUDD",".UUUUUU.UUUDUU"}

    Returns: 25284944

  45. {"DDD.DDDDDDDDDUDDDDD",".UUU..U.......D...U","U....U....U...U....","D.DUDUUD..D...DUUDU","D....U....UUUU.....","DDUD.UDUUDDD.DDDDD.","DDUUDDDDDDDDDUDDDUD",".DU....D..D.D.D.DD.","UUUUUUDU.UUDDUDUUUU","............U......","UD.DUUDD.DU..U.UDDD","U...DU........U....",".DUUUUUUUUD.U...U.U","DU.D.DU.U..D.DDDD.U","D..DUDD.DDDUDD.DDDD","UDDDDD..DDUDDDUDUDD","UDUDUU.D....DDU..UU","........U..U.......","DDUUD..UD.D.UDD...."}

    Returns: 535701514

  46. {"............D..D","UDDDUDDUDDDDDDDD","DD.DDD.D.D.D.D..","UUU..UU.UUU..UUU","UDUUUUUDUDDDUDDU","UUD.UUU.UDUUUUU.","DD.....DD.U..D.D","..D.DUUUD.U.UDUU","DDDUDD.UDDDDUDDU","UUU.UU.UUUUDUU.D","DDDDDDDDDDD.D.DD","U..UU.U.....U..U",".U.............U","UDUU..DUUUU.U..U",".UDDDDDUDDDDDDDU",".D.U.U.DDUU...U."}

    Returns: 504658075

  47. {"..U.D..DDD..UD....","DD.UD.DDDDUDDUUDUD","UDD.U.DUDUDDDDUDDD","D..DD.D.DDDD...DD.","DDDDDU.DUUD.D..U..","..DDD.UU.UDD.DDU.U",".DD.DDDDDDDD.DDDDU","UDUDDDUUUDDDDD.DDD","D.DUDUDUUDDDDDD.DU","DDDDDDDDUDUUUDDDDD",".UU.DUDDUUDD.D.D..","UUUUD.UUUUUUUUU.UD","D....D.D..U.U.D...","DDUDDUUDUDUDDUDUDD","...UD..DU.....U.U.","UUUUUUUUUDUUUUUDUU","DU.DUUDD.DUD.DDDDU","UU.U.DU...UUUU.UUU"}

    Returns: 526324014

  48. {"UUUD..UDUD.D",".UDU.DD.DUD.","UDUUUUUD.DU.","..U.DD.DDD..","DDDDDUDD..D.","...DUU.UUU.U","U.UUUU.UU.UD",".U.UU.DUUU.U","DDD..U.D..D.","..D.....UD..","UD.DUD..UUUU","UUUUUUUUUUDU"}

    Returns: 231980109

  49. {"UUDU.UDDDDDDUDD.DDD","D.D...U.D..D....DDD",".U.U.U..UU..U..U...","D..DDDD.DDD.D.DDDDD","...U..U...UU..D..DD","DD..D......DD.D.D..",".UD..U.U.UUD.UD.U..","DU.DD..UU.UUUUUDD..","DDD.UD..DDU...DD...","U.U.UU..UUU.UUUUU.U","DD.D.UDDDDD.DDDD.DD","D...DDDDU..DD.DDD..","U.UUU.UUUD.UUU..UUU","UUUUUUUUUUUDUUUUUUD","UUUUUUUUUUU.UUUUUDU",".U.U.U.UUU...U.UUU.","UU.UUU.UUUUUUUUUUUU",".D.................","..U...........UUU.."}

    Returns: 117037071

  50. {"UUU","D.D",".UU"}

    Returns: 4

  51. {"...U...U..UU","UUDD.DU.UUUU","...U....U.U.","DDDDUDDDD.DD",".D.D.D.D..D.","UU.UDDUUUUDD","UUUD.D..U.D.","U.D.DDUDDD..","DD.UDDD..UDU","UUUDU.D.DUDD","DD..D.D.DDD.",".....U...UD."}

    Returns: 119303759

  52. {"DUDD.UUUUU..UUUUUD.","...DD.U.UUUDU..UU.D","U.DDUD.UUUUUU.DDDDU","DUDU........U..DDU.","D.....UUU.DD....DDU","U..U..UUDUUU.......","UUDUUDUUUDUDUUUDD.U","DUDDDUUUUUDDDDDDDDU","DUUUD.UU.UUUUUDU.UD","UUUUUU.UUUD.UUUUU..","......D........D..D","D.DDD..DDD.DD...D..","..D....D..D.......D","DD..D.....D........","DU....U..UUU......U",".UUUU..U..D.UUU..U.","UD.DDDDUUUDU..UDUUD",".U.U..D....D.U.....",".UU.U..U.U...U.U.UD"}

    Returns: 843750673

  53. {".DD..D",".D..D.","DDUUDD","DDDDDD","UUUUUU",".UUUDU"}

    Returns: 18

  54. {"..DUD..D......D.D","UUU..UUUUUUUUU.UU","UU.UUU.UU.UUD..U.","D........U...DU..",".U.UDU.UD..D.UDUD",".DD.........D....","DUUUUDUUDDUUDDUU.","..UDU.UDUUUUUU..U","UDDD.UUDDUDU.DDDU",".................","UDUDDUUDUDDDDUDUU","UUUU..U..U.....UU","D.UUU.UUUU.DUU.UU","DUD.DDD.DDDDDD..D",".D..........D.D..","..U.UUDUUUUDUUDU.","U....UU...D.UU.UU"}

    Returns: 852213067

  55. {"UUDUU.UUUU.UUU","U..UUUUUUUU.UU","..DUD..DDDD.U.","UUU.U.UUUDU.U.","DDDDUDDUDDUDDD","UUUUUUUUU.UUUU","U.UU..UUUU.U.U",".......U.....U","DU.D.D.UD..UDD",".UUUUDUUUUUUUU","DUUUUD.UUUUDDU","U..DD........U","DDDDDDDDDDDDDD","UDDUU.UUUDUUUU"}

    Returns: 740671867

  56. {"..U.UD...UU.U...","D.U.DD.U.D.DD.U.","DDDDUDDDDUDUUDDD",".DDD.D.DUD.D..DD","UUUUDUUUUUUUUUUU","..UU...D..DUDD.U",".DDUUUDUDD.UDDD.","D.DDDD.D...DDDDD","UU.DDUUU.DDUUUDU","U.UU.UUUDUUD.UUU","...UU.U.U.UUU...","UUDUDUDDDUDUUDUU",".DUD.D..DU.DDDDD",".UU.UUU.UUUU.U.U","DUDU.DDUDDD.....","....U......D.DD."}

    Returns: 80361233

  57. {"UDUUDUUUUDUD","...UUU..D.UU","UU...D....U.","........U...","UUUUUUU.UUUU","UUU.UUUDUUUU","..DU....DD.D",".UUUUUDUUUDU","DD.......DUD","DUUDDUUUUUDD","DDDDDDD..DUD",".DU..U..U..."}

    Returns: 875765289

  58. {"..U.U.D..","U.UUUUU..","DDD..DDDD","DUDD.UUUD","UUUUUUU.U","DUUU.UUUU","U.DDU.DDD","UU.UDUU..","DDDDDDDDD"}

    Returns: 4608

  59. {"U.DUDUUUUUUUUUDUUD","UUUUUUUUUU.UUUUUUU","DDUD.UUUUUDUUU.DUU","D..DD.D.DD......D.","DD..U...D....DD...","UU.....DD.U.U.UDUU",".DUUDUUDUUU...U.UU",".UU......UUU.UUU.U",".D.D.UUUDUD.D..UUU",".UU.UU.UUUU..UUUUU","DDD..U......DD.DD.","U..DUUDDU.DDDDDUDU","D.D.U....DDDD.DDD.",".UU....DUUUDUDU...","DDDDDDDDD.DDDD.DDD","UD.DU.U.D.UUDU.DUD","DD..DD.D..U..D.U.U","..U...DUUUU.UDUDU."}

    Returns: 956408845

  60. {"DDDD.DD.","UUUU.DUU","DDDDDDDD","..D..U..","DDUU.UDU","..DDDDD.","U.UDDDD.","DU.UUUDD"}

    Returns: 12096

  61. {"UDD...UU..UDD...","UUDUDUUUDU.UDUDU","UDDDD...D.DUU.DD","D.DDUU..DD.UDDDD","UDUU.DUUUU.UUU..",".U..UDU....U.DUU","D....U...DD..DD.","U...U....DUD.D..","UDDDDDDDUUDDDDDU","DUU.UDDDDDD.DUUD","U...U..U.U.U.UU.","UUUD.UU.DUDUUUUU",".U...UU.D.U.D.U.","UUDUUU.UUDUDU.UU","D...UUUU..UUU...","UUUUUDUUUU.UU.UU"}

    Returns: 707639161

  62. {"...D........U.","UU.UU..UU.U.DU","U.U..U...U.UU.","UUDDDDUUUUDUDD","UD.UD.DDUUDDDD","DUUUUDDDUDD.U.","U..U..D.......",".D....UU.UU.UU","UUUUUUUUUUUUUU","UUDDU.UUDUDUD.","D..UDDDDDD.DDD","UUUUU..U.UU..D","UUU.UUUDUUUUUU","UUUUUUUUUUUUUU"}

    Returns: 226732977

  63. {"D.DUUUU","DUDD..D","UDUUUUD","UUDDU.U","UUUUUDD","DDDDDDU","UUU.U.."}

    Returns: 96

  64. {".U...U.UU..U.UU.","DUDDDDDDUUU.DDD.","DU.U..D..D..DDD.","UDDUU.DDUUUDUDDD","DDDDDDDDDD.U.DDU","UDU.DDUUUUUDUUUU","DDUDDDDDDDDDDDDD","UUUDDUU.UDD.D.UD","..U.........U...","DU....U.DD..DD..","...DD..DDDD.DU..","D...............","D...DUUU.UUDDU.D","DUUU.U..UUU.DUUD","...DDD.DDU.UD...","DU.UUUU.UUUUUUU."}

    Returns: 235580224

  65. {"DDDDD...DD..DDD","DDUUUUDUDUUDDUD","UDUUDDUDUUDDDDD","U...DUD..D..D..","UDUUUUDUDUUDDUD",".D....UD.......","D.D.U.DDUDD.UDD","U....D..UD..UU.","UDDDDDU.UDD.DD.","DDDUD.D...D.DUD",".D....D......U.","DD.UDDDD.D.UD.U","DUD...D.DD..DU.",".DUUDDDUD.DUDU.","DDUUD.DUUU.UU.."}

    Returns: 280519706

  66. {".U.UU.UDUUU","DD.UDDUDD.D","......D....","UDDDUUDDUUD","D.UDDDDDDDD","...D...D...","D...UU.UD.U",".DDDU.UUDDD",".........D.",".DU.D.DDUUU",".UUD.U.DU.D"}

    Returns: 422854488

  67. {"UUDUD",".....","DDDDU",".DDDD","D.UDU"}

    Returns: 36

  68. {"....D......UUD..U.",".UUUUU.U.UU.U.UU..","D..DUD..UDUD.D..D.","UUUUU.U.UUDUUDUU.U","U.DUUUU.UDUUUUUD.U",".DDD.DD.DD.DD...DD","D..D.DDD..D....D.D","UD.UDDUDUDUUUUDDUD","...D...DD...D.DD..","UUDD.D.D...D..D..D",".UDDDDDD.D..UDUU.D","DDDDDDDDDDDDUDDDUD","D....D.DD..D.DDDDU","UD.DUUDU.UU.UD..U.",".UUUUUUU.UUU..U.DU","DDDDDDD.UDDU.DDD.D","UU.DDUDDDDDDDUUDUU","..U.U...U........."}

    Returns: 281957673

  69. {"DDDDD.DU.UDDD...",".UUDDD..D..D.UD.",".UUUUU.UUUUUDUUD","U.DUUDU...D.UDUD",".UDDUUDUDUDDDUD.","U.D.UDUU....DUDU","U.DUUUUUUUUUUU.U","...D..DD...D.D..","..UUUU...UUUUUUU","D...UDD.UD.D.UUU","....U...U.U.....",".U..U..U.UUUU.UU",".UDDDDUUDUUDU...","UUUUUDUUU.UUUD.U",".U..U.....U..UUU","UUDU.U...UUU...U"}

    Returns: 598479344

  70. {"...D..U...D..U","DU.UU.DD..DDDD",".UDD.DDD..D...",".DDDDU.DDDDDDD","U.DUUUDD.UUDDU",".....D.....D.U","DDDDDDU.D.DDDD","..DD.DDDDD...D","UUU....U..UUU.","UUUUUUUUUUUUUU","UUUDUDUUUUDDUU","DUDUUUUUDU.UDU","DD.DD...DDDD..",".UU..U.U.U...."}

    Returns: 164657261

  71. {"..D","U..",".DD"}

    Returns: 4

  72. {".UD..D.D.","DU..DDUUU","..D..DDUD","UUUUUUUUD","UU.U.UU.U",".UUDU...D","DDDDD.DD.","UU.UUUDU.","DUU.D...U"}

    Returns: 2903040

  73. {".............D.","UUDU..UUD...U.D","UDU.DD..UDUDDUD","D.D..DDD.U.D.D.",".U.UUUU.D.UD.U.","..........U...U","..D..DD..D.....","UD.UUU.UUU.UU.U","DUDUUDUDUDDDUD.","U.UDDU.DUDDUUU.","...D....D......","..U...UUUUU.UU.",".DD..D.DD.DDUD.","UUUU.UUD.UUUUUU","U..U.U.UUDU.U.U"}

    Returns: 888463299

  74. {"..D.U.DUDDDUD..","UD.D.U.U.UDUUDD","UUUDUDUUUUUDUUD",".....D.........","U..UU..U.UUUUDU","DUUUUDDDUUUUUDD","UUUDDDU.UDUDUUU","U......D......D","DUUUUUUDU.U.UUU","...U.U....DD...","....UU...U.....",".U..UU.UD.D.U..","..UUUD.UDDDUUDU",".U....DUU.U.U.U","..D.UDD.DUUD..."}

    Returns: 640456278

  75. {".D.UDD.U.DUDDDD","DD.D...D...D...","UUUUUUUUUUUUUUD","DDDDDDDDDDDDDDD","..UUU.UU.UDDD.U",".UUUUUUU.DUDUUU","D..DDD.D....D..","UDUDDUUUUUDDD.D","UUU.UU.UU.U.U..",".UUDD...DDD.DDU",".....D..UD.D...","..........D....","UUUUUU.UUUUDU..",".UUUUU.U.UUUUU.","UUUUUUUUU.UU..U"}

    Returns: 483002916

  76. {"DUDU.U",".UDD.D","DDUDDD","..UUD.","D..D..","UUU.UU"}

    Returns: 4800

  77. {".D.DD.DDDDD.DDDDD","UUUUUU.UUU..D.UUD","U.UUUUUDUUUU.UUUU","...U.D.U..D.D.D..","DD.DDDU.DD.D.DD..","....D..D......U.U","D...DU.UDUDD.U...","DD.DDUDDD..DUU.D.","DDU.DDU..DDD.UDDD","UUUDUUDDDD.DUDUDU","....U.DD.DDDDDD..",".DDD.DD.DD.DDDDDD","DUDDDDDDDDDDDDUDD","UUUUDD.U.UD.U.DUD","DDDD.DUDDDDDDD.D.","U.DDDDDDDDDDDD.DD","UDDUU.DDDDDDD.U.."}

    Returns: 34905942

  78. {"DDDDD", "U....", ".U...", "..U..", "...U." }

    Returns: 900

  79. {"....D..", "U....D.", "D.D.U.D", "U.U...D", "....U..", "D.U...D", "U.U...." }

    Returns: 2268

  80. {"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................." }

    Returns: 100434153

  81. {"........D.", "..........", "..D..U....", ".U........", "..........", "..........", "..........", "..........", "..........", ".U........" }

    Returns: 7200

  82. {"..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", "..................................................", "UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU", "..................................................", ".................................................." }

    Returns: 173931725

  83. {"D...............................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................" }

    Returns: 48

  84. {"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................." }

    Returns: 734859261

  85. {"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", ".................................................", "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD", ".................................................", ".................................................", ".................................................", "................................................." }

    Returns: 667839728


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: