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