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