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