//-------------------------------------------------------------------------------------------------------
// 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));
