To use the visualizer for testing your solution locally, you'll have to adopt your solution to read the parameters from standard in and write the output to standard out. This doesn't affect the functioning of the solution you submit to our server.

Your program should first read the size of the square S and the number of pixels in the original tile N. After this read the number of elements in pieces P and P strings representing the elements of pieces (in order, each string in a separate line). Finally, output the result of call to reconstruct: exactly S strings, each string in a separate line. Remember to flush standard output after writing to it.

To do this, you should implement the following pseudocode:
    S = int(readLine())
    N = int(readLine())
    P = int(readLine())
    for (i=0; i<P; i++)
        pieces[i] = readLine()
    ret = reconstruct(S, N, pieces)
    for (i=0; i<S; i++)
To run the visualizer with your solution, you should run:
java -jar BrokenClayTileVis.jar -exec "<command>" -seed <seed>
Here, <command> is the command to execute your program, and <seed> is seed for test case generation. A note for Java users: if your solution is implemented in file, you need to compile it to YourSol.class file and use
java -jar BrokenClayTileVis.jar -exec "java YourSol" -seed <seed>
Additionally you can use the following options: Finally, you can print any debug information of your solution to standard error, and it will be forwarded to the standard out of the visualizer.

The visualizer shows the following images: