import java.util.Arrays;
import java.util.Random;

public class JI9044360 {

	public static void main(String[] args) {
		assert(Double.compare(Double.NaN, Double.NaN) == 0); 

		final Random rand = new Random(); 
		final int maxSize = 10000; 

		for (int i = 0; i < 13; i++) { 
			double[] a = new double[rand.nextInt(maxSize)]; 

			for (int j = 0, len = a.length; j < len; j++) { 
				a[j] = j % 3 == 0 ? Double.NaN : rand.nextFloat(); 
			} 

			double[] b = a.clone(); 
			double[] c = a.clone(); 
			Arrays.sort(b); 
			Arrays.parallelSort(c); 

			for (int k = 0, len = a.length; k < len; k++) { 
				if (Double.compare(b[k], c[k]) != 0) { 
					System.out.println(k + ": " + b[k] + ": " + c[k]); 
					//System.out.println(Arrays.toString(b)); 
					//System.out.println(Arrays.toString(c)); 

					throw new RuntimeException("Test failed"); 
				} 
			} 
		} 

	}

}
