
public class queens
{
    public static void main(String[] args)
    {
        int[][] board = new int[8][8];

        for ( int q0 = 0; q0 < 8; q0++ )
          for ( int q1 = 0; q1 < 8; q1++ )
            for ( int q2 = 0; q2 < 8; q2++ )
              for ( int q3 = 0; q3 < 8; q3++ )
                for ( int q4 = 0; q4 < 8; q4++ )
                  for ( int q5 = 0; q5 < 8; q5++ )
                    for ( int q6 = 0; q6 < 8; q6++ )
                      for ( int q7 = 0; q7 < 8; q7++ )
		      {
			 // Clear board
			 for (int i=0; i<8; i++)
			   for (int j=0; j<8; j++)
			     board[i][j] = 0;

			 // Place queens
			 board[0][q0] = 1;
			 board[1][q1] = 1;
			 board[2][q2] = 1;
			 board[3][q3] = 1;
			 board[4][q4] = 1;
			 board[5][q5] = 1;
			 board[6][q6] = 1;
			 board[7][q7] = 1;

			 // PrintBoard(board);
			 if ( isCorrect( board ) )
			    PrintBoard(board);
		      }
    }

    public static boolean isCorrect(int[][] board )
    {
       // Row 0
       if (  board[0][0] +  board[0][1] +  board[0][2] +  board[0][3]
           + board[0][4] +  board[0][5] +  board[0][6] +  board[0][7] > 1 )
          return false;

       // Row 1
       if (  board[1][0] +  board[1][1] +  board[1][2] +  board[1][3]
           + board[1][4] +  board[1][5] +  board[1][6] +  board[1][7] > 1 )
          return false;

       // Row 2
       if (  board[2][0] +  board[2][1] +  board[2][2] +  board[2][3]
           + board[2][4] +  board[2][5] +  board[2][6] +  board[2][7] > 1 )
          return false;

       // Row 3
       if (  board[3][0] +  board[3][1] +  board[3][2] +  board[3][3]
           + board[3][4] +  board[3][5] +  board[3][6] +  board[3][7] > 1 )
          return false;

       // Row 4
       if (  board[4][0] +  board[4][1] +  board[4][2] +  board[4][3]
           + board[4][4] +  board[4][5] +  board[4][6] +  board[4][7] > 1 )
          return false;

       // Row 5
       if (  board[5][0] +  board[5][1] +  board[5][2] +  board[5][3]
           + board[5][4] +  board[5][5] +  board[5][6] +  board[5][7] > 1 )
          return false;

       // Row 6
       if (  board[6][0] +  board[6][1] +  board[6][2] +  board[6][3]
           + board[6][4] +  board[6][5] +  board[6][6] +  board[6][7] > 1 )
          return false;

       // Row 7
       if (  board[7][0] +  board[7][1] +  board[7][2] +  board[7][3]
           + board[7][4] +  board[7][5] +  board[7][6] +  board[7][7] > 1 )
          return false;

       // Column 0
       if ( board[

       return true;
    }

    public static void PrintBoard( int[][] board )
    {
       for (int i=0; i<8; i++)
       {
         for (int j=0; j<8; j++)
           System.out.print(board[i][j] + " ");
         System.out.println();
       }
       System.out.println();
    }
}
