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