private static int findit( int key )throws RuntimeException	{
	    int low = 0, high = 4887, mid;

	    while ( low <= high )
	    {
	        mid = (high+low) >> 1;      // divide by two
	        if ( key < products[mid] )
	            high = mid - 1;
	        else if ( key > products[mid] )
	            low = mid + 1;
	        else
	            return( mid );
	    }
	    throw new RuntimeException(CARD_DUPLICATED_IN_HAND);
	}