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