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