 	    	found[0] = 1;
 	    	the_solutions[i] = i;   
 		  }
-		  /*
-		  else{
-		  	the_solutions[i] = 0; 
-		  } 
-		  */
 		}
 	}
 }


unsigned int print2Smallest(unsigned int *arr, unsigned int arr_size)
{
    unsigned int i, first, second;
 
    /* There should be atleast two elements */
    if (arr_size < 2)
    {
        printf(" Invalid Input ");
        return 0;
    }
 
 		// Error was here, before we had INT_MAX which is too low for >9 sailors
    first = second = UINT_MAX;
    for (i = 0; i < arr_size ; i ++)
    {
        /* If current element is smaller than first 
           then update both first and second */
        if (arr[i] < first)
        {
            second = first;
            first = arr[i];
        }
 
        /* If arr[i] is in between first and second 
           then update second  */
        else if (arr[i] < second && arr[i] != first)
            second = arr[i];
    }
    
    if (second == UINT_MAX)
    		return first;
    else 
				return second;
}



	clock_t start, diff;
	
	// Size of array.
	unsigned int SIZE = pow(2,25);

	// CPU memory pointers
	unsigned long long int *h_coc, da_solu=0;
