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