Problem Statement
You want to create a simple shadow sculpture that will consist of unit cubes. More precisely, imagine an n*n*n cube that is aligned with the coordinate axes and divided into unit cubes. Your sculpture will consist of some of those unit cubes (possibly none or all of them). The unit cubes have coordinates (x,y,z) where 0 <= x,y,z < n.
You have already determined three shadows your sculpture should cast: its orthogonal projections onto the XY, YZ, and ZX plane. You are given their description in three
Their meaning is as follows: For each i and j, the character XY[i][j] is either 'Y' or 'N'. The character 'Y' means that the unit square (i,j) of the projection is dark. In other words, if XY[i][j] is 'Y', at least one of the cubes with coordinates (i,j,k) has to be a part of your sculpture. On the other hand, if XY[i][j] is 'N', none of the cubes with coordinates (i,j,k) may belong into your sculpture. YZ and ZX describe the other two projections in the same way. E.g., if ZX[i][j] is 'Y', you have to use at least one of the cubes (j,k,i).
Finally, there is one last constraint: Your entire sculpture has to be 6-connected. (Formally: Your sculpture must form one connected component, given that two cubes are adjacent iff they share a common face.)
Return "Possible" if it is possible to construct a sculpture that matches all the given constraints. Otherwise, return "Impossible".
Definition
- Class:
- ShadowSculpture
- Method:
- possible
- Parameters:
- String[], String[], String[]
- Returns:
- String
- Method signature:
- String possible(String[] XY, String[] YZ, String[] ZX)
- (be sure your method is public)
Constraints
- n will be between 1 and 10, inclusive.
- XY, YZ and ZX will contain exactly n elements.
- Each element of XY, YZ and ZX will contain exactly n characters.
- Each element of XY, YZ and ZX will contain only 'Y' and 'N'.
Examples
{"YN","NN"}
{"YN","NN"}
{"YN","NN"}
Returns: "Possible"
It is possible: we only have one solid cell at (0, 0, 0).
{"YN","NY"}
{"YN","NY"}
{"YN","NY"}
Returns: "Impossible"
Here it is impossible to make a valid sculpture. Note that you can make all three projections look right by using exactly two cubes: (0,0,0) and (1,1,1). However, this sculpture is not 6-connected.
{"YYY","YNY","YYY"}
{"YYY","YNY","YYY"}
{"YYY","YNY","YYY"}
Returns: "Possible"
{"YYY","YNY","YYY"}
{"NYY","YNY","YYY"}
{"YYY","YNY","YYN"}
Returns: "Impossible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
A sculpture that consists of no cubes is connected.
{"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}
{"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}
{"YYYYY","YYNYY","YYYYY","YYNYY","YYYYY"}
Returns: "Possible"
tricky.
{"YYYYYYYYYY","YYYYNYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYNYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","NYYYYYYYYY"}
{"YYYNYYYYYY","YYYYYYYYYY","YYYYYYYYNY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYN","YYYYYYYYYY","YYYYYYYYYY","YYNYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YNYYYYYYYY","YYYYYYYYYY"}
Returns: "Possible"
{"YYY","YYY","YYY"}
{"YYY","YYY","YYY"}
{"YYY","NNY","YYY"}
Returns: "Possible"
{"YYY","YYY","YYY"}
{"YYY","YYY","YYY"}
{"YYY","YYY","YYY"}
Returns: "Possible"
{"YN","NY"}
{"YY","YY"}
{"YY","YY"}
Returns: "Impossible"
{"YY","YY"}
{"YY","YY"}
{"YY","YY"}
Returns: "Possible"
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Possible"
{"Y"}
{"Y"}
{"Y"}
Returns: "Possible"
{"NYY","YYY","YYY"}
{"NYY","YYY","YYY"}
{"YNY","YYY","YYY"}
Returns: "Possible"
{"NNYNY","NYNYN","YYYYN","YYNNN","NYNNY"}
{"NYNNY","YYYYY","YNNNN","NNYNY","NNYNN"}
{"YNYYN","NNNYY","YYYNY","NNNNY","NYYYN"}
Returns: "Impossible"
{"NYYYYYYY","NYYYYYYY","YNYYYNYY","YYYYYYYN","YYYYYYNY","YYNYYYYY","YYYYYNYN","YYNNYYYY"}
{"YYYYYYYY","YNYYNYYY","YNYYYYYY","NYYYYYYY","YYYYYNYY","YYNYYYYY","YYYNYNYN","YYYYYYYY"}
{"YNYYYYYY","YNYYNYYY","YYYNYYNN","YYNYNYNY","YNYYNYYY","YYYYYYYN","YYYYYYNN","NNYYYYYY"}
Returns: "Possible"
{"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}
{"YYYYY","YYYYY","YYYYY","YYYYY","YNYYY"}
{"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}
Returns: "Possible"
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
Returns: "Possible"
{"YNNNY","NNNNN","NYNNY","NNNNN","YNNYN"}
{"NYNYN","NYNNN","NNNNN","NYNNN","YNNNY"}
{"YNYNN","YNYNY","NNNNN","NNNNY","NNYNN"}
Returns: "Impossible"
{"YYYYYN","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
{"YYYYYY","YYYYYY","YYYYNY","YYYYYY","YYYYNY","YYYYYY"}
{"YYYYYY","NYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
Returns: "Possible"
{"YNNN","YYNY","NYYY","NNNY"}
{"YYNN","NYNY","NYNY","NNYY"}
{"YYNN","NYYN","NNYN","NYYY"}
Returns: "Impossible"
{"YY","YY"}
{"YY","YY"}
{"YY","YY"}
Returns: "Possible"
{"YYYNYYYY","YNYYYYYN","YYYYYYYY","YYYYYYYN","YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY"}
{"YYYYYYYN","YYYYNYYN","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYNY","YYYYYYNY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY","NYYYYYYY","YYYYYYYY","YYYYNYYY","YYYNYYYY"}
Returns: "Possible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","NYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YNYYYYY","YYYYYYY","YYYYYYY","YYYYYNY"}
{"YYYYYYY","YYYYYYY","YYNYYYY","YYYYYYY","YYYYYYY","YYNYYYY","YYYYYYY"}
Returns: "Possible"
{"YYYYY","YYYYY","YYYYY","YYYYY","YYYYY"}
{"YYNYY","YYYYY","YYYYY","YYYYY","YYYYY"}
{"YYYYY","YYYYY","YYYYY","NYYYY","YYYYY"}
Returns: "Possible"
{"Y"}
{"Y"}
{"Y"}
Returns: "Possible"
{"YY","YN"}
{"YY","YN"}
{"YY","YY"}
Returns: "Possible"
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
Returns: "Possible"
{"NNNNNNNNY","NNNNNYNNN","NNYNNNNYN","NNNNNYNNN","NNNYNNNNN","NNNNYNNNN","NYNNNNNNN","NNNYNNNNN","NYNNNNNYN"}
{"NNNNNNNNN","NNNYNYNNN","NYNYNNNNN","NYNNNNNNY","NNYNNNNNN","NNYYNNNNN","NNNNNNNNN","YNNNNNNYN","NNYNNNNYN"}
{"NNNNNNNNY","NNYNNNNYN","YYNNNYNNN","NNYYNNYNN","NNNNNNNNN","NNNNNNNNY","NNNNNNNNN","YNYNNNNNN","NNNNYNNNN"}
Returns: "Impossible"
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Possible"
{"Y"}
{"Y"}
{"Y"}
Returns: "Possible"
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Possible"
{"YYYYYYYYN","YYYYYYYYY","YNYYYYYYY","YYYNYYYYY","YYYYYYYYY","YYNYYYYYY","NYYYYYYYY","YYYYYYYYY","YYYYYYNYY"}
{"YYYYYYYYY","YNYYYYNYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYNYYYNY","YNNYYYNYY","YYYYYYYYY","NYYYYYYYY"}
{"YNNYYYNYY","NYYYYYYYY","YYYYYYYYN","YYYYYYNYY","YYYYYYYYY","YYNYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Impossible"
{"YYYYN","YYNYN","YYYYY","YYYNY","YYYYY"}
{"YYNYY","YYYYN","YYNYY","YYYYY","YYYYY"}
{"YYYYY","YYYYY","YYYYY","YNYYY","YYYYY"}
Returns: "Possible"
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
Returns: "Possible"
{"YYYYYYYYYN","YYYYYYYYYN","YYYNYYYYNY","YYYNNYNYYY","YYYNNNYYYY","YYYYYNYYYY","YYYYYYYYNY","NNYNYYYYYN","YYYYYYYYYN","NYNYYNYYYY"}
{"YYYYNYYYYY","YYYYYYYYYY","NYYYYYYYYY","YYYNYNYYYN","YYYYYYYYYN","YNYYYYYYNN","YYYYYYYYYY","YYYYYYYYYN","YYYYYYYYYY","YYNYYYYNYY"}
{"NYYNYYYNYY","NYYYYYNYYY","YYYYYYYYYY","NYYYYNYYYY","YYYYYNYYYY","YYNYYNYYYY","YYYYYYYYYY","YYNYYNYYYY","YYYNNYYYYY","YYYYYYYNNN"}
Returns: "Possible"
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
Returns: "Possible"
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
Returns: "Possible"
{"NNN","NNN","NYN"}
{"NNN","YNN","NNN"}
{"NNY","NNN","NNN"}
Returns: "Possible"
{"YNNY","YNYY","NNNN","YYNN"}
{"NYYY","NNYY","NYYN","YYYN"}
{"YNNN","NYNY","YYNY","YNNY"}
Returns: "Impossible"
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Possible"
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
Returns: "Possible"
{"YYYYYYY","NYYYYYY","YNYYNYY","YYYYYYY","YYYYNYY","YYYYYYY","YYYYYYY"}
{"YYNYYYY","YYYYYYY","YYYYNYN","NYYYYYY","YNYYYNY","YYYYYYY","YYYYYYY"}
{"YYNYYYY","YYYYYNY","YYNYYYY","YNYYYYN","YYYNYYY","YYNYYYY","YYYYNYY"}
Returns: "Possible"
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
Returns: "Possible"
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
Returns: "Possible"
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
{"YYYY","YYYY","YYYY","YYYY"}
Returns: "Possible"
{"NYYN","NYNY","YNYY","NYYY"}
{"YNNN","YNYY","YYNY","YNYY"}
{"YYYN","NNYN","NYYY","YYNY"}
Returns: "Impossible"
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY"}
{"YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYY","YYYYYYYN","YYYYYYYY"}
Returns: "Possible"
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
Returns: "Possible"
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","NYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYNYYYY","YYNYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYNYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YNYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
Returns: "Possible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
{"YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY","YYYYYY"}
Returns: "Possible"
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY"}
Returns: "Possible"
{"NNYNYY","YYYYYN","NNYYNY","YNYNYY","NNYNYN","YYYYNY"}
{"YYYYYY","YNYNNY","YYNYYY","NYYNYY","YYNYNY","YYNYYN"}
{"YYNYYN","YYYYYY","NYNYNY","YYYYYN","YYNYNY","NYNYNY"}
Returns: "Impossible"
{"NYYYYYYN","YYNNNYNN","YNNYYYYY","NNYYYYNN","YYYYNNNN","YYNNNNNN","YNYNNYNN","YYYYYNYY"}
{"NNNYYNNY","NYYNYNNY","YNYNNNYN","YNYNYNYN","YNYNNNNN","YYNNYYNN","YYNNNNYY","NNNYYYYN"}
{"NYNYYYNY","YNNNYYNY","NNYYYYNY","NYYYNYNN","NYYYNYYY","NNNYYYNN","NYNYNNNY","NNYYYYNN"}
Returns: "Impossible"
{"NYYYYYN","YYYYYYN","NNYNYNN","NYYNNYN","YNNYYNY","NNYYYYY","NYYYYYN"}
{"YYNYYYY","NNYNNNY","YYYNYYN","NNYYYNY","YNYYNYY","NYYNNYY","NNYYYNN"}
{"YNNNNYY","NNYYYNN","YYNYYYN","YNYYYNY","NYYYYYY","NYYNNYN","NNNYYYY"}
Returns: "Impossible"
{"NYN","NNY","YYY"}
{"NYN","YYN","NYY"}
{"YYN","YYY","NYY"}
Returns: "Impossible"
{"YY","YY"}
{"YY","NY"}
{"NY","YY"}
Returns: "Possible"
{"YYN","NNY","YYY"}
{"NNN","YNY","YNN"}
{"NNN","YYN","YNY"}
Returns: "Impossible"
{"NNYNNYNYY","YNNYYYYYY","YYYYYNYYY","YYYNYYNYY","YYYYYNYYN","NYYNNYYNY","YYYYNYNNY","YYYNNYYYY","YYYYYYYYY"}
{"YYYYYYYYY","YNYYYYYYY","YNYYYNYYY","NYNYYYYNY","YYNYYYYYY","YYNYYYNNY","YNYYYYYNY","NNYYYNYYY","YYYYYYYYY"}
{"YYNYYYYNY","YNYYNYYYY","YYYNYYYYY","YNYYYYYYN","YYYYYYNYY","YYYYNNYYY","YYNYNYNYY","YYYNYNYYY","YYYYYYYYY"}
Returns: "Impossible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
{"YYYY","NYNN","NYNY","YNYY"}
{"YYYN","YYYN","NNNY","YYNN"}
{"YNYY","YYYY","NNNY","NYYN"}
Returns: "Impossible"
{"Y"}
{"N"}
{"N"}
Returns: "Impossible"
{"YYNNYYYYN","YYNNYNYYN","NNYYNYYYY","NNYNYYYYY","NNNYYYYNY","YNYYNYNYY","YNYNYYNYY","YYYYNYYYY","YNYYYNYNY"}
{"NYNYYYNNY","NYNNYYYYY","NYYYYNYYN","NYNYYNNNN","YYYNYNNYY","YYYNNNNYN","NNNNYYNYY","YNNNYYNNY","NNYYYNYYY"}
{"YNYYYYYNY","YYYYNYYNN","NYNNNNYYY","YYNNYYNNY","YYYYYNYNY","NYYNYNYYN","NYYYYYYNN","NNYYNYYYN","YNYNYYYNY"}
Returns: "Impossible"
{"NY","NN"}
{"NN","NY"}
{"YN","YY"}
Returns: "Impossible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
{"YNY","NYY","YYY"}
{"YNY","NYY","YNN"}
{"YYY","YYY","YYY"}
Returns: "Impossible"
{"NYYYYNY","NYYYNYN","YYYYYYY","YYYYYYN","YYYYYYN","NYYYYYY","YYYYYYY"}
{"YYNYYNY","YYYYYYY","YYNYNYY","YYNYYYY","NYYYYYY","YYYYYYY","YYYYYYY"}
{"YYNYYYN","YYNYYYY","YYYYYYN","YNNNYYY","NYNYYNY","YYYYYYY","YYYNYYY"}
Returns: "Impossible"
{"NNYYYY","YYNYYN","YNYYNN","YNYYYY","YYYNNY","YYNNNY"}
{"NYYYYY","NNYNYY","YNYYNN","NYNNYY","YYNNYN","YNYYYN"}
{"NYYYYY","YYYYYN","YYYNNY","YYYYNY","YNYNYN","YYNYNY"}
Returns: "Impossible"
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
{"YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY","YYYYYYYYYY"}
Returns: "Possible"
{"YYYNYNYYYY","YYYYYNYNYY","YNNYYYYNYY","YYYYYYYYYY","YYYYYYNNYN","YYNYYYNYYY","YYYNYYYYYY","NNYYYYYYYY","YYNYYYYNYY","YYYYYYYNYN"}
{"YNYNYYYYYY","YYYYYYNYYN","YNYYNYYYYY","YYYNYNYYYY","NYNYYNYYYY","YYYYYYYYNY","YYYNYYNYYY","YYYYYYYYYY","NYYYYNNNYY","YYYYYNYNYY"}
{"YYYYYNYYYY","YYYYYYYYYY","YYYYNYYYYY","YYNYYYYYYN","YNYYYYYNYY","NYYYYYNNNY","YYNNYYYNNY","NNYYYYNYYN","YYYYYYYNYY","YNYYNYYYYY"}
Returns: "Impossible"
{"NYYYYYNY","YYYYYYNY","YNYYYYNY","NYNYYYNY","YYNNYNNY","YYYNYYNY","NYYYNNYN","YNYYNYYY"}
{"NYNNNNYY","NYNNYYYN","YYNYNYYY","YNNYYYNN","YYNYYNNN","NYNYNNYY","YNNYNNNY","YYNNYYYY"}
{"NYYYYYNY","NNNNYYYN","NNYNYNYY","YYYNYNNN","YNNYNYYN","YYYYNYNY","YNYYYNYN","NYYNYYNY"}
Returns: "Impossible"
{"YNYYYYYYY","YYYYYYYNY","YYYYYYYYY","YYYYYYYYY","YYYYYYYYY","NYYNNYYYY","YYYYYNYYY","YYYYYYYYY","YYYNYYYYY"}
{"YYYYYYYYY","YNYYYYYYY","YYYNYYYYY","YYNYYYYYY","YYYYYYYYY","YNYYYNYYY","YYYYYYYYY","YYYYYNYYY","YNYYYYNYY"}
{"YYYYNYNYY","YYYYYYYYY","YNNYYYYYY","YYYYYNNYY","YYYNYYNYY","YYYYNYNYY","YYYNYYYYY","YNYYYYYYY","YNYYYYYYY"}
Returns: "Possible"
{"NNN","NYN","NNN"}
{"NYN","YYY","YNN"}
{"NYY","NNN","YYN"}
Returns: "Impossible"
{"N"}
{"N"}
{"N"}
Returns: "Possible"
{"NYNYY","NYNNY","YNYYN","YYYNY","YNYYN"}
{"YYNNY","YYNYY","YYYNY","YNYYN","NYNYY"}
{"NYYYN","YYYYY","NNYNY","NYYYY","YNNYY"}
Returns: "Impossible"
{"YNNYN","NYYYY","YYNNN","YYNNN","NNYYY"}
{"YNYNY","NNYYY","NNYYN","YNYYN","YNNNY"}
{"YNYYN","YYNYN","NNYYN","NYYYN","YYNNN"}
Returns: "Impossible"
{"NYYNNNNYN","YYYNNYNYY","NYNYYNYYN","YNNYYYYYY","YNNNNYYYN","YNNNYNYYY","YNNYNYYNY","YYYYYYNYY","YYNYNNYNN"}
{"YYYYYNYYY","YYNNYNYYY","NYNYYNNYN","NNYYNYNYN","YYYYYYYYN","YYYYNNYNY","YYYYYYYYY","NYYNNYNNN","YNYNYYNNY"}
{"YNYNYNNYY","NYYYYYYYY","NYNNYYYNY","YYYYYYNNN","YYYYYYNNN","YYYYNNYYN","YNYNNYNYN","YYYYNNYNY","NYNYNNYNN"}
Returns: "Impossible"
{"YNYNYNYN","YNNYNYNN","YYNYNNNY","YYYYNYNY","NYNNYYYY","NYYNYNNY","YYYYYYYN","NYYYNYNN"}
{"YNYNNYYN","YYYNYNYY","YYYYYNYY","NNYYNYNY","YYYYYYNN","NYNYYYNY","YYYYYYYY","YYYNNYYN"}
{"NYNYYYNN","YYYNNNNY","YYNNYYYY","YYNNNNYN","YYNYYYNN","NNYNYYNY","NYYYYYNY","NYNYYNNN"}
Returns: "Impossible"
{"YNN","YYY","NYN"}
{"YYN","NYY","NYN"}
{"NYY","NYY","YNY"}
Returns: "Impossible"
{"YYYYYYY","NYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
{"YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY","YYYYYYY"}
Returns: "Possible"
{"NY","YY"}
{"NY","NY"}
{"YY","YY"}
Returns: "Impossible"
{"Y"}
{"N"}
{"N"}
Returns: "Impossible"
{"YYY","YYN","NYY"}
{"NYY","YNY","YYY"}
{"NNN","NYY","NYN"}
Returns: "Impossible"
{"Y" }
{"N" }
{"N" }
Returns: "Impossible"
{"YN", "NN" }
{"NN", "NN" }
{"NN", "NN" }
Returns: "Impossible"
{"NNN", "NNN", "NNN" }
{"NNY", "YNN", "YYY" }
{"NNN", "NNY", "NYN" }
Returns: "Impossible"
{"YYY", "YYY", "YNY" }
{"YYY", "YYY", "YNY" }
{"YNY", "YYY", "YYY" }
Returns: "Possible"
{"YNY", "YYY", "YYY" }
{"YNY", "YYY", "YYY" }
{"YNY", "YYY", "YYY" }
Returns: "Possible"
{"YN", "NY" }
{"YN", "NY" }
{"YN", "NY" }
Returns: "Impossible"
{"Y" }
{"N" }
{"Y" }
Returns: "Impossible"
{"N" }
{"N" }
{"Y" }
Returns: "Impossible"
{"Y" }
{"Y" }
{"N" }
Returns: "Impossible"
{"YNN", "NNN", "NNN" }
{"NNN", "NNN", "NNN" }
{"NNN", "NNN", "NNN" }
Returns: "Impossible"
{"NN", "NN" }
{"NN", "NN" }
{"NN", "NN" }
Returns: "Possible"
{"NY", "YY" }
{"YY", "YY" }
{"YY", "YY" }
Returns: "Possible"
{"YY", "YY" }
{"YY", "NN" }
{"YY", "YY" }
Returns: "Impossible"
{"YY", "YY" }
{"NN", "NN" }
{"YY", "YY" }
Returns: "Impossible"
{"YN", "NY" }
{"YN", "NN" }
{"YN", "NN" }
Returns: "Impossible"
{"NY", "NY" }
{"YY", "YY" }
{"YY", "YY" }
Returns: "Impossible"
{"NN", "NN" }
{"YY", "NY" }
{"YY", "YN" }
Returns: "Impossible"
{"NYN", "YYY", "NYN" }
{"NYN", "YYY", "NYN" }
{"NYN", "YYY", "NYN" }
Returns: "Possible"
{"NN", "NN" }
{"NN", "NN" }
{"YN", "NN" }
Returns: "Impossible"
{"YYY", "YNY", "YYY" }
{"YYY", "YNY", "YYY" }
{"YYY", "YNY", "YYY" }
Returns: "Possible"
{"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY" }
{"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYNYYYY", "YYYYYYYYYY", "NYYYYYYYNY", "YYYYYYYYYY" }
{"YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYNYY", "YYYYYYYYYY", "YYYNNYYYYY", "YYYYYYYYYY", "YYYYNYYYYY", "YYYYYYYYYY", "YYYYYYYYYY", "YYYYYYYYYY" }
Returns: "Possible"
{"NN", "NY" }
{"NN", "NN" }
{"NY", "NN" }
Returns: "Impossible"
{"YN", "NN" }
{"NY", "NN" }
{"NN", "YN" }
Returns: "Possible"
{"NY", "NN" }
{"NN", "YN" }
{"YN", "NN" }
Returns: "Possible"
{"YYYYYYYYY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "NYNNNNNNY", "YYNNNNNNY" }
{"YYYYYYYYY", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YYYYYYYYY" }
{"YYYYYYYYY", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YNNNNNNNN", "YYYYYYYYY" }
Returns: "Possible"
{"N" }
{"Y" }
{"Y" }
Returns: "Impossible"