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