class queens { static boolean finished = false; static final int MAXCANDIDATES = 100; static final int NMAX = 100; static int solution_count = 0; static void backtrack(int a[], int k, int input) { int c[] = new int [MAXCANDIDATES]; int ncandidates, i; if (is_a_solution(a,k,input)) process_solution(a,k,input); else { k++; ncandidates = construct_candidates(a,k,input,c); for (i=0; i