//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') < new Object());
write(new String('he' + 'llo') < new Object());
write(new String('he' + 'llo') < [1, 2, 3]);
write(new String('he' + 'llo') < [1 ,2 , 3]);
write(new String('he' + 'llo') < new Array(3));
write(new String('he' + 'llo') < Array(3));
write(new String('he' + 'llo') < new Array(1 ,2 ,3));
write(new String('he' + 'llo') < Array(1));
write(new String('he' + 'llo') < foo);
write(new Object() < undefined);
write(new Object() < null);
write(new Object() < true);
write(new Object() < false);
write(new Object() < Boolean(true));
write(new Object() < Boolean(false));
write(new Object() < new Boolean(true));
write(new Object() < new Boolean(false));
write(new Object() < NaN);
write(new Object() < +0);
write(new Object() < -0);
write(new Object() < 0);
write(new Object() < 0.0);
write(new Object() < -0.0);
write(new Object() < +0.0);
write(new Object() < 1);
write(new Object() < 10);
write(new Object() < 10.0);
write(new Object() < 10.1);
write(new Object() < -1);
write(new Object() < -10);
write(new Object() < -10.0);
write(new Object() < -10.1);
write(new Object() < Number.MAX_VALUE);
write(new Object() < Number.MIN_VALUE);
write(new Object() < Number.NaN);
write(new Object() < Number.POSITIVE_INFINITY);
write(new Object() < Number.NEGATIVE_INFINITY);
write(new Object() < new Number(NaN));
write(new Object() < new Number(+0));
write(new Object() < new Number(-0));
write(new Object() < new Number(0));
write(new Object() < new Number(0.0));
write(new Object() < new Number(-0.0));
write(new Object() < new Number(+0.0));
write(new Object() < new Number(1));
write(new Object() < new Number(10));
write(new Object() < new Number(10.0));
write(new Object() < new Number(10.1));
write(new Object() < new Number(-1));
write(new Object() < new Number(-10));
write(new Object() < new Number(-10.0));
write(new Object() < new Number(-10.1));
write(new Object() < new Number(Number.MAX_VALUE));
write(new Object() < new Number(Number.MIN_VALUE));
write(new Object() < new Number(Number.NaN));
write(new Object() < new Number(Number.POSITIVE_INFINITY));
write(new Object() < new Number(Number.NEGATIVE_INFINITY));
write(new Object() < '');
write(new Object() < 0xa);
write(new Object() < 04);
write(new Object() < 'hello');
write(new Object() < 'hel' + 'lo');
write(new Object() < String(''));
write(new Object() < String('hello'));
write(new Object() < String('h' + 'ello'));
write(new Object() < new String(''));
write(new Object() < new String('hello'));
write(new Object() < new String('he' + 'llo'));
write(new Object() < new Object());
write(new Object() < new Object());
write(new Object() < [1, 2, 3]);
write(new Object() < [1 ,2 , 3]);
write(new Object() < new Array(3));
write(new Object() < Array(3));
write(new Object() < new Array(1 ,2 ,3));
write(new Object() < Array(1));
write(new Object() < foo);
write(new Object() < undefined);
write(new Object() < null);
write(new Object() < true);
write(new Object() < false);
write(new Object() < Boolean(true));
write(new Object() < Boolean(false));
write(new Object() < new Boolean(true));
write(new Object() < new Boolean(false));
write(new Object() < NaN);
write(new Object() < +0);
write(new Object() < -0);
write(new Object() < 0);
write(new Object() < 0.0);
write(new Object() < -0.0);
write(new Object() < +0.0);
write(new Object() < 1);
write(new Object() < 10);
write(new Object() < 10.0);
write(new Object() < 10.1);
write(new Object() < -1);
write(new Object() < -10);
write(new Object() < -10.0);
write(new Object() < -10.1);
write(new Object() < Number.MAX_VALUE);
write(new Object() < Number.MIN_VALUE);
write(new Object() < Number.NaN);
write(new Object() < Number.POSITIVE_INFINITY);
write(new Object() < Number.NEGATIVE_INFINITY);
write(new Object() < new Number(NaN));
write(new Object() < new Number(+0));
write(new Object() < new Number(-0));
write(new Object() < new Number(0));
write(new Object() < new Number(0.0));
write(new Object() < new Number(-0.0));
write(new Object() < new Number(+0.0));
write(new Object() < new Number(1));
write(new Object() < new Number(10));
write(new Object() < new Number(10.0));
write(new Object() < new Number(10.1));
write(new Object() < new Number(-1));
write(new Object() < new Number(-10));
write(new Object() < new Number(-10.0));
write(new Object() < new Number(-10.1));
write(new Object() < new Number(Number.MAX_VALUE));
write(new Object() < new Number(Number.MIN_VALUE));
write(new Object() < new Number(Number.NaN));
write(new Object() < new Number(Number.POSITIVE_INFINITY));
write(new Object() < new Number(Number.NEGATIVE_INFINITY));
write(new Object() < '');
write(new Object() < 0xa);
write(new Object() < 04);
write(new Object() < 'hello');
write(new Object() < 'hel' + 'lo');
write(new Object() < String(''));
write(new Object() < String('hello'));
write(new Object() < String('h' + 'ello'));
write(new Object() < new String(''));
write(new Object() < new String('hello'));
write(new Object() < new String('he' + 'llo'));
write(new Object() < new Object());
write(new Object() < new Object());
write(new Object() < [1, 2, 3]);
write(new Object() < [1 ,2 , 3]);
write(new Object() < new Array(3));
write(new Object() < Array(3));
write(new Object() < new Array(1 ,2 ,3));
write(new Object() < Array(1));
write(new Object() < foo);
write([1, 2, 3] < undefined);
write([1, 2, 3] < null);
write([1, 2, 3] < true);
write([1, 2, 3] < false);
write([1, 2, 3] < Boolean(true));
write([1, 2, 3] < Boolean(false));
write([1, 2, 3] < new Boolean(true));
write([1, 2, 3] < new Boolean(false));
write([1, 2, 3] < NaN);
write([1, 2, 3] < +0);
write([1, 2, 3] < -0);
write([1, 2, 3] < 0);
write([1, 2, 3] < 0.0);
write([1, 2, 3] < -0.0);
write([1, 2, 3] < +0.0);
write([1, 2, 3] < 1);
write([1, 2, 3] < 10);
write([1, 2, 3] < 10.0);
write([1, 2, 3] < 10.1);
write([1, 2, 3] < -1);
write([1, 2, 3] < -10);
write([1, 2, 3] < -10.0);
write([1, 2, 3] < -10.1);
write([1, 2, 3] < Number.MAX_VALUE);
write([1, 2, 3] < Number.MIN_VALUE);
write([1, 2, 3] < Number.NaN);
write([1, 2, 3] < Number.POSITIVE_INFINITY);
write([1, 2, 3] < Number.NEGATIVE_INFINITY);
write([1, 2, 3] < new Number(NaN));
write([1, 2, 3] < new Number(+0));
write([1, 2, 3] < new Number(-0));
write([1, 2, 3] < new Number(0));
write([1, 2, 3] < new Number(0.0));
write([1, 2, 3] < new Number(-0.0));
write([1, 2, 3] < new Number(+0.0));
write([1, 2, 3] < new Number(1));
write([1, 2, 3] < new Number(10));
write([1, 2, 3] < new Number(10.0));
write([1, 2, 3] < new Number(10.1));
write([1, 2, 3] < new Number(-1));
write([1, 2, 3] < new Number(-10));
write([1, 2, 3] < new Number(-10.0));
write([1, 2, 3] < new Number(-10.1));
write([1, 2, 3] < new Number(Number.MAX_VALUE));
write([1, 2, 3] < new Number(Number.MIN_VALUE));
write([1, 2, 3] < new Number(Number.NaN));
write([1, 2, 3] < new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] < new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] < '');
write([1, 2, 3] < 0xa);
write([1, 2, 3] < 04);
write([1, 2, 3] < 'hello');
write([1, 2, 3] < 'hel' + 'lo');
write([1, 2, 3] < String(''));
write([1, 2, 3] < String('hello'));
write([1, 2, 3] < String('h' + 'ello'));
write([1, 2, 3] < new String(''));
write([1, 2, 3] < new String('hello'));
write([1, 2, 3] < new String('he' + 'llo'));
write([1, 2, 3] < new Object());
write([1, 2, 3] < new Object());
write([1, 2, 3] < [1, 2, 3]);
write([1, 2, 3] < [1 ,2 , 3]);
write([1, 2, 3] < new Array(3));
write([1, 2, 3] < Array(3));
write([1, 2, 3] < new Array(1 ,2 ,3));
write([1, 2, 3] < Array(1));
write([1, 2, 3] < foo);
write([1 ,2 , 3] < undefined);
write([1 ,2 , 3] < null);
write([1 ,2 , 3] < true);
write([1 ,2 , 3] < false);
write([1 ,2 , 3] < Boolean(true));
write([1 ,2 , 3] < Boolean(false));
write([1 ,2 , 3] < new Boolean(true));
write([1 ,2 , 3] < new Boolean(false));
write([1 ,2 , 3] < NaN);
write([1 ,2 , 3] < +0);
write([1 ,2 , 3] < -0);
write([1 ,2 , 3] < 0);
write([1 ,2 , 3] < 0.0);
write([1 ,2 , 3] < -0.0);
write([1 ,2 , 3] < +0.0);
write([1 ,2 , 3] < 1);
write([1 ,2 , 3] < 10);
write([1 ,2 , 3] < 10.0);
write([1 ,2 , 3] < 10.1);
write([1 ,2 , 3] < -1);
write([1 ,2 , 3] < -10);
write([1 ,2 , 3] < -10.0);
write([1 ,2 , 3] < -10.1);
write([1 ,2 , 3] < Number.MAX_VALUE);
write([1 ,2 , 3] < Number.MIN_VALUE);
write([1 ,2 , 3] < Number.NaN);
write([1 ,2 , 3] < Number.POSITIVE_INFINITY);
write([1 ,2 , 3] < Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] < new Number(NaN));
write([1 ,2 , 3] < new Number(+0));
write([1 ,2 , 3] < new Number(-0));
write([1 ,2 , 3] < new Number(0));
write([1 ,2 , 3] < new Number(0.0));
write([1 ,2 , 3] < new Number(-0.0));
write([1 ,2 , 3] < new Number(+0.0));
write([1 ,2 , 3] < new Number(1));
write([1 ,2 , 3] < new Number(10));
write([1 ,2 , 3] < new Number(10.0));
write([1 ,2 , 3] < new Number(10.1));
write([1 ,2 , 3] < new Number(-1));
write([1 ,2 , 3] < new Number(-10));
write([1 ,2 , 3] < new Number(-10.0));
write([1 ,2 , 3] < new Number(-10.1));
write([1 ,2 , 3] < new Number(Number.MAX_VALUE));
write([1 ,2 , 3] < new Number(Number.MIN_VALUE));
write([1 ,2 , 3] < new Number(Number.NaN));
write([1 ,2 , 3] < new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] < new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] < '');
write([1 ,2 , 3] < 0xa);
write([1 ,2 , 3] < 04);
write([1 ,2 , 3] < 'hello');
write([1 ,2 , 3] < 'hel' + 'lo');
write([1 ,2 , 3] < String(''));
write([1 ,2 , 3] < String('hello'));
write([1 ,2 , 3] < String('h' + 'ello'));
write([1 ,2 , 3] < new String(''));
write([1 ,2 , 3] < new String('hello'));
write([1 ,2 , 3] < new String('he' + 'llo'));
write([1 ,2 , 3] < new Object());
write([1 ,2 , 3] < new Object());
write([1 ,2 , 3] < [1, 2, 3]);
write([1 ,2 , 3] < [1 ,2 , 3]);
write([1 ,2 , 3] < new Array(3));
write([1 ,2 , 3] < Array(3));
write([1 ,2 , 3] < new Array(1 ,2 ,3));
write([1 ,2 , 3] < Array(1));
write([1 ,2 , 3] < foo);
write(new Array(3) < undefined);
write(new Array(3) < null);
write(new Array(3) < true);
write(new Array(3) < false);
write(new Array(3) < Boolean(true));
write(new Array(3) < Boolean(false));
write(new Array(3) < new Boolean(true));
write(new Array(3) < new Boolean(false));
write(new Array(3) < NaN);
write(new Array(3) < +0);
write(new Array(3) < -0);
write(new Array(3) < 0);
write(new Array(3) < 0.0);
write(new Array(3) < -0.0);
write(new Array(3) < +0.0);
write(new Array(3) < 1);
write(new Array(3) < 10);
write(new Array(3) < 10.0);
write(new Array(3) < 10.1);
write(new Array(3) < -1);
write(new Array(3) < -10);
write(new Array(3) < -10.0);
write(new Array(3) < -10.1);
write(new Array(3) < Number.MAX_VALUE);
write(new Array(3) < Number.MIN_VALUE);
write(new Array(3) < Number.NaN);
write(new Array(3) < Number.POSITIVE_INFINITY);
write(new Array(3) < Number.NEGATIVE_INFINITY);
write(new Array(3) < new Number(NaN));
write(new Array(3) < new Number(+0));
write(new Array(3) < new Number(-0));
write(new Array(3) < new Number(0));
write(new Array(3) < new Number(0.0));
write(new Array(3) < new Number(-0.0));
write(new Array(3) < new Number(+0.0));
write(new Array(3) < new Number(1));
write(new Array(3) < new Number(10));
write(new Array(3) < new Number(10.0));
write(new Array(3) < new Number(10.1));
write(new Array(3) < new Number(-1));
write(new Array(3) < new Number(-10));
write(new Array(3) < new Number(-10.0));
write(new Array(3) < new Number(-10.1));
write(new Array(3) < new Number(Number.MAX_VALUE));
write(new Array(3) < new Number(Number.MIN_VALUE));
write(new Array(3) < new Number(Number.NaN));
write(new Array(3) < new Number(Number.POSITIVE_INFINITY));
write(new Array(3) < new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) < '');
write(new Array(3) < 0xa);
write(new Array(3) < 04);
write(new Array(3) < 'hello');
write(new Array(3) < 'hel' + 'lo');
write(new Array(3) < String(''));
write(new Array(3) < String('hello'));
write(new Array(3) < String('h' + 'ello'));
write(new Array(3) < new String(''));
write(new Array(3) < new String('hello'));
write(new Array(3) < new String('he' + 'llo'));
write(new Array(3) < new Object());
write(new Array(3) < new Object());
write(new Array(3) < [1, 2, 3]);
write(new Array(3) < [1 ,2 , 3]);
write(new Array(3) < new Array(3));
write(new Array(3) < Array(3));
write(new Array(3) < new Array(1 ,2 ,3));
write(new Array(3) < Array(1));
write(new Array(3) < foo);
write(Array(3) < undefined);
write(Array(3) < null);
write(Array(3) < true);
write(Array(3) < false);
write(Array(3) < Boolean(true));
write(Array(3) < Boolean(false));
write(Array(3) < new Boolean(true));
write(Array(3) < new Boolean(false));
write(Array(3) < NaN);
write(Array(3) < +0);
write(Array(3) < -0);
write(Array(3) < 0);
write(Array(3) < 0.0);
write(Array(3) < -0.0);
write(Array(3) < +0.0);
write(Array(3) < 1);
write(Array(3) < 10);
write(Array(3) < 10.0);
write(Array(3) < 10.1);
write(Array(3) < -1);
write(Array(3) < -10);
write(Array(3) < -10.0);
write(Array(3) < -10.1);
write(Array(3) < Number.MAX_VALUE);
write(Array(3) < Number.MIN_VALUE);
write(Array(3) < Number.NaN);
write(Array(3) < Number.POSITIVE_INFINITY);
write(Array(3) < Number.NEGATIVE_INFINITY);
write(Array(3) < new Number(NaN));
write(Array(3) < new Number(+0));
write(Array(3) < new Number(-0));
write(Array(3) < new Number(0));
write(Array(3) < new Number(0.0));
write(Array(3) < new Number(-0.0));
write(Array(3) < new Number(+0.0));
write(Array(3) < new Number(1));
write(Array(3) < new Number(10));
write(Array(3) < new Number(10.0));
write(Array(3) < new Number(10.1));
write(Array(3) < new Number(-1));
write(Array(3) < new Number(-10));
write(Array(3) < new Number(-10.0));
write(Array(3) < new Number(-10.1));
write(Array(3) < new Number(Number.MAX_VALUE));
write(Array(3) < new Number(Number.MIN_VALUE));
write(Array(3) < new Number(Number.NaN));
write(Array(3) < new Number(Number.POSITIVE_INFINITY));
write(Array(3) < new Number(Number.NEGATIVE_INFINITY));
write(Array(3) < '');
write(Array(3) < 0xa);
write(Array(3) < 04);
write(Array(3) < 'hello');
write(Array(3) < 'hel' + 'lo');
write(Array(3) < String(''));
write(Array(3) < String('hello'));
write(Array(3) < String('h' + 'ello'));
write(Array(3) < new String(''));
write(Array(3) < new String('hello'));
write(Array(3) < new String('he' + 'llo'));
write(Array(3) < new Object());
write(Array(3) < new Object());
write(Array(3) < [1, 2, 3]);
write(Array(3) < [1 ,2 , 3]);
write(Array(3) < new Array(3));
write(Array(3) < Array(3));
write(Array(3) < new Array(1 ,2 ,3));
write(Array(3) < Array(1));
write(Array(3) < foo);
write(new Array(1 ,2 ,3) < undefined);
write(new Array(1 ,2 ,3) < null);
write(new Array(1 ,2 ,3) < true);
write(new Array(1 ,2 ,3) < false);
write(new Array(1 ,2 ,3) < Boolean(true));
write(new Array(1 ,2 ,3) < Boolean(false));
write(new Array(1 ,2 ,3) < new Boolean(true));
write(new Array(1 ,2 ,3) < new Boolean(false));
write(new Array(1 ,2 ,3) < NaN);
write(new Array(1 ,2 ,3) < +0);
write(new Array(1 ,2 ,3) < -0);
write(new Array(1 ,2 ,3) < 0);
write(new Array(1 ,2 ,3) < 0.0);
write(new Array(1 ,2 ,3) < -0.0);
write(new Array(1 ,2 ,3) < +0.0);
write(new Array(1 ,2 ,3) < 1);
write(new Array(1 ,2 ,3) < 10);
write(new Array(1 ,2 ,3) < 10.0);
write(new Array(1 ,2 ,3) < 10.1);
write(new Array(1 ,2 ,3) < -1);
write(new Array(1 ,2 ,3) < -10);
write(new Array(1 ,2 ,3) < -10.0);
write(new Array(1 ,2 ,3) < -10.1);
write(new Array(1 ,2 ,3) < Number.MAX_VALUE);
write(new Array(1 ,2 ,3) < Number.MIN_VALUE);
write(new Array(1 ,2 ,3) < Number.NaN);
write(new Array(1 ,2 ,3) < Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) < Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) < new Number(NaN));
write(new Array(1 ,2 ,3) < new Number(+0));
write(new Array(1 ,2 ,3) < new Number(-0));
write(new Array(1 ,2 ,3) < new Number(0));
write(new Array(1 ,2 ,3) < new Number(0.0));
write(new Array(1 ,2 ,3) < new Number(-0.0));
write(new Array(1 ,2 ,3) < new Number(+0.0));
write(new Array(1 ,2 ,3) < new Number(1));
write(new Array(1 ,2 ,3) < new Number(10));
write(new Array(1 ,2 ,3) < new Number(10.0));
write(new Array(1 ,2 ,3) < new Number(10.1));
write(new Array(1 ,2 ,3) < new Number(-1));
write(new Array(1 ,2 ,3) < new Number(-10));
write(new Array(1 ,2 ,3) < new Number(-10.0));
write(new Array(1 ,2 ,3) < new Number(-10.1));
write(new Array(1 ,2 ,3) < new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) < new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) < new Number(Number.NaN));
write(new Array(1 ,2 ,3) < new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) < new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) < '');
write(new Array(1 ,2 ,3) < 0xa);
write(new Array(1 ,2 ,3) < 04);
write(new Array(1 ,2 ,3) < 'hello');
write(new Array(1 ,2 ,3) < 'hel' + 'lo');
write(new Array(1 ,2 ,3) < String(''));
write(new Array(1 ,2 ,3) < String('hello'));
write(new Array(1 ,2 ,3) < String('h' + 'ello'));
write(new Array(1 ,2 ,3) < new String(''));
write(new Array(1 ,2 ,3) < new String('hello'));
write(new Array(1 ,2 ,3) < new String('he' + 'llo'));
write(new Array(1 ,2 ,3) < new Object());
write(new Array(1 ,2 ,3) < new Object());
write(new Array(1 ,2 ,3) < [1, 2, 3]);
write(new Array(1 ,2 ,3) < [1 ,2 , 3]);
write(new Array(1 ,2 ,3) < new Array(3));
write(new Array(1 ,2 ,3) < Array(3));
write(new Array(1 ,2 ,3) < new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) < Array(1));
write(new Array(1 ,2 ,3) < foo);
write(Array(1) < undefined);
write(Array(1) < null);
write(Array(1) < true);
write(Array(1) < false);
write(Array(1) < Boolean(true));
write(Array(1) < Boolean(false));
write(Array(1) < new Boolean(true));
write(Array(1) < new Boolean(false));
write(Array(1) < NaN);
write(Array(1) < +0);
write(Array(1) < -0);
write(Array(1) < 0);
write(Array(1) < 0.0);
write(Array(1) < -0.0);
write(Array(1) < +0.0);
write(Array(1) < 1);
write(Array(1) < 10);
write(Array(1) < 10.0);
write(Array(1) < 10.1);
write(Array(1) < -1);
write(Array(1) < -10);
write(Array(1) < -10.0);
write(Array(1) < -10.1);
write(Array(1) < Number.MAX_VALUE);
write(Array(1) < Number.MIN_VALUE);
write(Array(1) < Number.NaN);
write(Array(1) < Number.POSITIVE_INFINITY);
write(Array(1) < Number.NEGATIVE_INFINITY);
write(Array(1) < new Number(NaN));
write(Array(1) < new Number(+0));
write(Array(1) < new Number(-0));
write(Array(1) < new Number(0));
write(Array(1) < new Number(0.0));
write(Array(1) < new Number(-0.0));
write(Array(1) < new Number(+0.0));
write(Array(1) < new Number(1));
write(Array(1) < new Number(10));
write(Array(1) < new Number(10.0));
write(Array(1) < new Number(10.1));
write(Array(1) < new Number(-1));
write(Array(1) < new Number(-10));
write(Array(1) < new Number(-10.0));
write(Array(1) < new Number(-10.1));
write(Array(1) < new Number(Number.MAX_VALUE));
write(Array(1) < new Number(Number.MIN_VALUE));
write(Array(1) < new Number(Number.NaN));
write(Array(1) < new Number(Number.POSITIVE_INFINITY));
write(Array(1) < new Number(Number.NEGATIVE_INFINITY));
write(Array(1) < '');
write(Array(1) < 0xa);
write(Array(1) < 04);
write(Array(1) < 'hello');
write(Array(1) < 'hel' + 'lo');
write(Array(1) < String(''));
write(Array(1) < String('hello'));
write(Array(1) < String('h' + 'ello'));
write(Array(1) < new String(''));
write(Array(1) < new String('hello'));
write(Array(1) < new String('he' + 'llo'));
write(Array(1) < new Object());
write(Array(1) < new Object());
write(Array(1) < [1, 2, 3]);
write(Array(1) < [1 ,2 , 3]);
write(Array(1) < new Array(3));
write(Array(1) < Array(3));
write(Array(1) < new Array(1 ,2 ,3));
write(Array(1) < Array(1));
write(Array(1) < foo);
write(foo < undefined);
write(foo < null);
write(foo < true);
write(foo < false);
write(foo < Boolean(true));
write(foo < Boolean(false));
write(foo < new Boolean(true));
write(foo < new Boolean(false));
write(foo < NaN);
write(foo < +0);
write(foo < -0);
write(foo < 0);
write(foo < 0.0);
write(foo < -0.0);
write(foo < +0.0);
write(foo < 1);
write(foo < 10);
write(foo < 10.0);
write(foo < 10.1);
write(foo < -1);
write(foo < -10);
write(foo < -10.0);
write(foo < -10.1);
write(foo < Number.MAX_VALUE);
write(foo < Number.MIN_VALUE);
write(foo < Number.NaN);
write(foo < Number.POSITIVE_INFINITY);
write(foo < Number.NEGATIVE_INFINITY);
write(foo < new Number(NaN));
write(foo < new Number(+0));
write(foo < new Number(-0));
write(foo < new Number(0));
write(foo < new Number(0.0));
write(foo < new Number(-0.0));
write(foo < new Number(+0.0));
write(foo < new Number(1));
write(foo < new Number(10));
write(foo < new Number(10.0));
write(foo < new Number(10.1));
write(foo < new Number(-1));
write(foo < new Number(-10));
write(foo < new Number(-10.0));
write(foo < new Number(-10.1));
write(foo < new Number(Number.MAX_VALUE));
write(foo < new Number(Number.MIN_VALUE));
write(foo < new Number(Number.NaN));
write(foo < new Number(Number.POSITIVE_INFINITY));
write(foo < new Number(Number.NEGATIVE_INFINITY));
write(foo < '');
write(foo < 0xa);
write(foo < 04);
write(foo < 'hello');
write(foo < 'hel' + 'lo');
write(foo < String(''));
write(foo < String('hello'));
write(foo < String('h' + 'ello'));
write(foo < new String(''));
write(foo < new String('hello'));
write(foo < new String('he' + 'llo'));
write(foo < new Object());
write(foo < new Object());
write(foo < [1, 2, 3]);
write(foo < [1 ,2 , 3]);
write(foo < new Array(3));
write(foo < Array(3));
write(foo < new Array(1 ,2 ,3));
write(foo < Array(1));
write(foo < foo);
