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

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

function foo() {}

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